【问题标题】: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,但某些原因不计算字母。

标签: excel excel-formula openoffice-calc


【解决方案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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-17
      • 1970-01-01
      • 2015-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多