【问题标题】:COUNTIFS in a spreadsheet while ignoring duplicates in a separate column电子表格中的 COUNTIFS,同时忽略单独列中的重复项
【发布时间】:2016-05-10 18:00:35
【问题描述】:

我想了解如何在 Excel 中使用 COUNTIFS 函数来计算电子表格中的行数,同时忽略单独列中的重复值。以下是数据示例:

      []

我想计算状态为“一”和类别为“蓝色”的行数。但是,我只想计算一次“ID”中这些各自值的重复项。

这是我尝试过的:

=SUM(IF(FREQUENCY($A$2:$A$12,$A$2:$A$12)>0,1))

与上一个示例相同的问题。 - 这可以为我提供 A 列中重复项的数量,但我无法有效地处理任何 IF 语句。

=IF(B2:B12="One",IF(C2:C12="Blue",SUM(IF(FREQUENCY($A$2:$A$12,$A$2:$A$12)>0,1))))

当我添加 IF 语句时,我得到的数字与之前的公式相同。

为了您的复制/粘贴乐趣:

ID     Status  Category
1423    One     Blue
1423    One     Blue
1423    One     Red
5124    One     Blue
5124    One     Blue
2341    Two     Blue
1111    One     Red
1212    Two     Red
1212    One     Blue
1111    One     Red
5124    One     Red

理想的结果是 3

【问题讨论】:

  • 您的样本数据没有包含 One 和 Blue 的任何重复项?您可以将更好的数据集以文本或 Google 表格的形式发布吗?
  • @AdamB 很抱歉,我更正了这个例子。我做了一个模拟文件,一定是太慌张了,我弄错了;)。
  • 你能把它放在我们可以剪切和粘贴示例数据的地方吗?该图像意味着要对其进行测试,我们需要重新输入一个 Excel 电子表格。你可以把它放在问题中。
  • 当然可以。 @AdamB 这样更好吗?
  • @Teller - 您可以使用Remove Duplicates 函数。然后使用Countifs

标签: excel if-statement count duplicates


【解决方案1】:

有一个标准的 COUNTUNIQUE 方法使用SUMPRODUCTCOUNTIF 函数; (例如SUMPRODUCT(1/COUNTIF(A2:A12, A2:A12&"")))。这可以通过更改为COUNTIFS function 来扩展以包括条件,但必须注意确保不会发生#DIV/0! 错误。

在E4中作为标准公式,

=SUMPRODUCT(((B2:B12="one")*(C2:C12="blue"))/(COUNTIFS(A2:A12, A2:A12, B2:B12, "one", C2:C12, "blue")+((B2:B12<>"one")+(C2:C12<>"blue"))))

除法运算的分子提供了一半的条件处理。当分子为零时,除法运算符的 COUNTIFS 分母必须与分子相反(非零)。

      

【讨论】:

  • 你能用AND(B2:B12="one", C2:C12="blue")替换((B2:B12="one")*(C2:C12="blue"))吗?我发现这会使它更具可读性。
猜你喜欢
  • 1970-01-01
  • 2021-10-26
  • 2019-07-30
  • 1970-01-01
  • 2017-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多