一列单元格范围内一串数字中单个数字的总出现次数
Posted
技术标签:
【中文标题】一列单元格范围内一串数字中单个数字的总出现次数【英文标题】:Total occurrences of a single digit from a string of digits across a range of cells in a column 【发布时间】:2018-11-29 16:31:26 【问题描述】:我们需要计算每个数字在同一列的一系列单元格中出现的次数,并输出每个数字的总数。请参阅随附的图片和旁边列中的所需输出。我们尝试了在 Excel 和开放式办公室中在线找到的其他公式,但没有结果。
letter Count
Working Count
【问题讨论】:
向我们详细展示您的尝试以及您的问题。 “10”包括“1”。您确定不想改为计算“0”(零)吗? 对不起,如果我不清楚。我们刚才尝试了这个公式,它适用于数字,但不适用于字母。 =SUMPRODUCT(--(ISNUMBER(FIND('G';A1:A254)))) 是的,抱歉,10 是错字,应该为零。 =SUMPRODUCT(--(ISNUMBER(FIND('1';A1:A254)))) 适用于 0-9,但某些原因不计算字母。 【参考方案1】:在D1
中尝试以下公式:
=LEN(TEXTJOIN("",TRUE,A:A,"@"))-LEN(SUBSTITUTE(TEXTJOIN("",TRUE,A:A,"@"),C1,""))
然后向下填充。
(TEXTJOIN
需要 2016 年或更高版本)
【讨论】:
【参考方案2】:选项 1
单个数组公式 (ctrl+shift+enter !) 适用于最大长度为 [5] 个字母数字字符的字符串(但您可以通过在硬编码数组常量 @ 中添加一些数字来轻松修改公式987654321@):=SUM(N(MID($A$1:$A$500,1,2,3,4,5,1)=TEXT(C3,"#")))
您可以添加一些进一步的技巧来让 Excel 定义数组常量,因此该公式适用于任何长度的数字字符串:=SUM(N(MID($A$1:$A$500,
COLUMN(INDIRECT("A1:"&CHAR(65+MAX(LEN($A$1:$A$500)))&"1"))
,1)=TEXT(C3,"#")))
中间的部分 (COLUMN()
) 创建了 1,2,3,4,5
数组。您可能已经看过这个公式的其他版本,但没有 CHAR
,我用它来创建对例如的引用。单元格E1
(知道 65 是“A”的代码)。
。
选项 2
此数组公式(ctrl+shift+enter !)适用于所有 Excel 版本,但不是很“优雅”,因为您必须重复公式的关键部分与单元格中的最大位数一样多(此示例最多 3 个字符):=SUM(
N(MID($A$1:$A$500;1;1)=TEXT(C3;"#"))+
N(MID($A$1:$A$500;2;1)=TEXT(C3;"#"))+
N(MID($A$1:$A$500;3;1)=TEXT(C3;"#")) )
您计数的字符在C3
中。这适用于数字和字母。如果可以有五个字母数字字符,则必须再添加两个N(...)
部分,并将@987654331@ 函数的第二个参数分别替换为4 和5。
【讨论】:
以上是关于一列单元格范围内一串数字中单个数字的总出现次数的主要内容,如果未能解决你的问题,请参考以下文章
OpenOffice Calc:计算单元格范围内的唯一字符串