一列中某个单元格范围内的数字串中单个数字的总出现次数

时间:2018-11-29 16:31:26

标签: excel excel-formula openoffice-calc

我们需要计算同一列中某个单元格范围内某个单元格中每个数字的出现次数,并输出每个数字的总计计数。请参阅所附图片以及其旁边栏中的所需输出。我们尝试了在excel和开放式办公室在线找到的其他公式,但没有结果。

letter Count

Working Count

2 个答案:

答案 0 :(得分:1)

D1中尝试以下公式:

=LEN(TEXTJOIN("",TRUE,A:A,"@"))-LEN(SUBSTITUTE(TEXTJOIN("",TRUE,A:A,"@"),C1,""))

然后填充。

TEXTJOIN您将需要2016或更高版本)

答案 1 :(得分:1)

选项1

单个数组公式(ctrl + shift + enter!)适用于最大长度为[5]个字母数字字符的字符串(但是您可以通过在硬编码的数组常量中添加一些数字来轻松修改公式{ {1}}):
{1,2,3,4,5}

您可以添加一些其他技巧,让Excel定义数组常量,因此该公式将适用于任何长度的数字字符串:
{=SUM(N(MID($A$1:$A$500,{1,2,3,4,5},1)=TEXT(C3,"#")))}

中间的部分({=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(知道65是“ A”的代码)。

选项2

此数组公式(ctrl + shift + enter!)在所有Excel版本中都适用,但并不是很“优雅”,因为您必须重复公式的关键部分,直到单元格中的最大位数(此示例最多可输入3个字符):
E1

您要计算的字符在{=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(...)函数的第二个参数分别替换为4和5。