【问题标题】:counting the unique items in the excelsheet计算 excel 工作表中的唯一项目
【发布时间】:2013-12-09 13:57:51
【问题描述】:

我需要计算 excel 表中唯一项目的数量(这里我有组织的名称)...我使用了以下脚本,但我无法引入多个输入来一次计算所有这些。

 =SUMPRODUCT((A27:A128<>"")/COUNTIF(A27:A128,A27:A128&""))

我想介绍例如 A27:A128、A145:A156 待检查和计数的单元格列表。

有人知道我怎么数吗?有没有要调用的函数?

【问题讨论】:

  • 引入帮助栏是一个选项还是必须是一个公式?
  • 我应该将它包含在报告的末尾(Excelsheet)......所以它应该是一个显示所涉及组织数量的单一方程式。
  • 在这种情况下,请添加有关工作表的更多详细信息。您要测试的所有区域是在同一列中还是分布在整张纸上?如果是同一列,区域之间还有哪些其他数据,它只是空单元格还是中间有其他文本?如果还有其他文本,排除的文本之一是否会等于包含的文本之一?
  • 它们都在同一列中,但存在一些可能为空或填充的单元格,甚至与一些相邻的单元格合并。
  • 合并没问题。鉴于包含的单元格的值可能不会出现在未包含的单元格中,我将在下面提供答案。如果不是这种情况,我们将寻求更复杂的解决方案:)

标签: excel count unique


【解决方案1】:

非常简单........使用“帮助”列,例如列 D 在 D1 中输入:

=A27 并向下复制到 D102。

在 D103 中输入:

=A145 并向下复制到 D114

最后使用:

=SUMPRODUCT((D1:D114<>"")/COUNTIF(D1:D114,D1:D114&""))

【讨论】:

    【解决方案2】:

    您需要的公式如下所示

    =SUM( IF( MATCH(A27:A128,A:A,0)=ROW(A27:A128) , 1 , 0 ) , 
          IF( MATCH(A145:A156,A:A,0)=ROW(A145:A156) , 1 , 0 ))
    

    并像这样工作:

    对于您要检查的每个区域,您都需要以下构造:

    IF( MATCH(A27:A128,A:A,0)=ROW(A27:A128) , 1 , 0 )
    

    这会尝试将从 A27 到 A128 的每个单元格与整个 A 列进行匹配,并检查找到值的行是否等于当前行。如果是这种情况,我们找到了第一次出现,如果是重复出现,则行会更小(因为 MATCH 总是返回找到值的第一行)。现在,如果我们找到第一次出现,IF 返回 1,否则返回 0。

    SUM 只是对每个 if 求和(这意味着,如果您有第三个区域等等,只需继续添加更多 IF 结构就完成了),结果是每次第一次出现的值都求和为 1每次跟进都是 0 - 你会得到你的独特价值。

    注意:整个公式是一个矩阵公式。放入单元格后,不能同时按回车键结束编辑,而同时按STRG+SHIFT+ENTER。这样,excel 用无法手动输入的 {} 括号将公式括起来。它改变了 excel 计算公式的方式,如果您将其作为普通公式尝试,您可能会收到错误。

    此外,当针对整个 A 列检查值时,如果某个值出现在检查区域的内部和外部,公式可能会失败也可能不会失败,具体取决于值的顺序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-13
      • 1970-01-01
      • 2023-03-12
      • 2015-09-28
      • 2018-04-20
      • 1970-01-01
      • 1970-01-01
      • 2021-02-13
      相关资源
      最近更新 更多