【问题标题】:How to COUNTIFS with an array of criteria and match NOT condition?如何使用一组条件进行 COUNTIFS 并匹配 NOT 条件?
【发布时间】:2013-12-31 23:31:24
【问题描述】:

我的数据表如上图所示。我可以使用以下数组公式轻松计算 BC 组中的 男性 参与者的数量:

=SUM(COUNTIFS($B:$B, $E3, $C:$C, $F3:$F4))

结果是 3 符合预期。但是我会做相反的事情,那就是计算 NOTBCMale 参与者的数量强>。结果应该是 1 但目前我被困在了这个。

谁能告诉我一个方法(最好不要只计算所有男性参与者的数量然后做减法)?我什至尝试将 Group 中的值更改为 BC 之类的值,但它不起作用。

【问题讨论】:

    标签: excel formula


    【解决方案1】:

    由于组中只有 2 个,因此您可以轻松地将 COUNTIFS 与 2 个单独的条件一起使用,即

    =COUNTIFS($B:$B,$E3,$C:$C,"<>"&$F3,$C:$C,"<>"&$F4)

    但显然这对于​​大型组来说可能是不可取的,因此您可以像这样使用 SUMPRODUCT 来引用该组一次

    =SUMPRODUCT(($B:$B=$E3)*ISNA(MATCH($C:$C,$F3:$F4,0)))

    ISNA 将排除匹配的行 - 包括使用 ISNUMBER

    您可以将 F3:F4 替换为任何单行或单列值

    注意:使用 SUMPRODUCT 的整列都可以使用(Excel 2003 后),但正如 Jerry 所说,这是不可取的

    【讨论】:

      【解决方案2】:

      嗯,现在公式的问题是第一个COUNTIFS(用于 F3)将返回 2,第二个COUNTIFS(用于 F4)将返回 3,当您尝试时,SUM 将转换为 5 :

      =SUM(COUNTIFS($B:$B, $E3, $C:$C, "<>"&$F3:$F4))
      

      我建议改用SUMPRODUCT

      =SUMPRODUCT(($B:$B=$E3)*($C:$C<>$F3)*($C:$C<>$F4))
      

      并且可能会缩小范围,因为这可能需要一些时间(您不需要将其作为数组公式插入)。

      否则,另一种选择是计算所有男性,然后减去 B 组和 C 组的计数:

      =COUNTIF($B:$B, $E3)-SUM(COUNTIFS($B:$B, $E3, $C:$C, $F3:$F4))
      

      【讨论】:

      • 嗯,在尝试了公式之后,我想我会采用简单的解决方案,即用计数的总数减去总数。无论如何,非常感谢您和 barry houdini 的帮助,也祝大家新年快乐。
      • @user433531 不客气,也祝你新年快乐 :)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-26
      • 2022-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多