具有正面和负面标准的 COUNTIF

COUNTIF with a positive and negative criteria

我需要计算 "LIST A" 中的单元格出现在 D 列 AND [=25 中的单元格的值集中的单元格数量=] 不出现在 E 列中。

我正在尝试使用类似于以下数组公式的方法,但到目前为止收效甚微:

={SUM(COUNTIFS(A2:A21,D2:D5,B2:B21,"<>"&E2:E3))}

请注意,此示例中包含的数据与我的真实 table 中的数据不同。真正的 table 比这个 table.

更长更复杂

有什么建议吗?

在这种情况下最好切换到 SUMPRODUCT

=SUMPRODUCT(0+ISNUMBER(MATCH(A2:A21,D2:D5,0)),1-ISNUMBER(MATCH(B2:B21,E2:E5,0)))

此致

就您的示例而言,我评论中的公式就足够了

=SUMPRODUCT(COUNTIF(D2:D5,A2:A21)*NOT(COUNTIF(E2:E5,B2:B21)))

如果您有多个要排除的值,则会出现此问题。那么你需要使用负计数if(s)

=SUMPRODUCT(1*NOT(COUNTIF(E2:E5,B2:B21)))

这将计算包含排除列表中任何内容的所有行。但是 sumproduct 中的 NOT 会将其切换为相反的(需要 1* 因为它只包含不能计数的 bool)

如果您的 C 列带有布尔值(true/false 或 1/0),您只需添加:

=SUMPRODUCT(COUNTIF(D2:D5,A2:A21)*NOT(COUNTIF(E2:E5,B2:B21))*C2:C21)

或者 (C2:C21>12) 如果那是你需要的......但你也可以将它包含到包含列表中(如果 A 是 A/B/E/F 并且 C 是 (2/4/6)

=SUMPRODUCT(COUNTIFS(D2:D5,A2:A21,F2:F5,C2:C21)*NOT(COUNTIF(E2:E5,B2:B21)))

但是每个排除都需要自己的 countif(B 不是 X/Y 并且 C 不是 8/9/11)

=SUMPRODUCT(COUNTIFS(D2:D5,A2:A21)*NOT(COUNTIF(E2:E5,B2:B21))*NOT(COUNTIF(F2:F5,C2:C21))

如前所述:具有 return "" 可能 return 错误计数的公式(记住这一点)