我想找到如何在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 。
答案 0 :(得分:3)
使用SUMPRODUCT和COUNTIF函数的标准COUNTUNIQUE方法; (例如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分母必须是分子的相反(非零)。