我需要计算“LIST A”中的单元格出现在D列中包含的值集合中的单元格数量 AND “LIST B”中的单元格不会出现在列中即
我正在尝试使用类似下面的数组公式,但到目前为止只取得了有限的成功:
={SUM(COUNTIFS(A2:A21,D2:D5,B2:B21,"<>"&E2:E3))}
请注意,此示例中包含的数据与我的真实表中的数据不同。真实的表比这个表更长,更复杂。
有什么建议吗?
答案 0 :(得分:1)
在这种情况下,最好切换到SUMPRODUCT
:
=SUMPRODUCT(0+ISNUMBER(MATCH(A2:A21,D2:D5,0)),1-ISNUMBER(MATCH(B2:B21,E2:E5,0)))
此致
答案 1 :(得分:1)
仅为您的示例,我的评论中的公式就足够了
=SUMPRODUCT(COUNTIF(D2:D5,A2:A21)*NOT(COUNTIF(E2:E5,B2:B21)))
如果您要排除多个值,则会出现问题。那么你需要使用负面的标识
=SUMPRODUCT(1*NOT(COUNTIF(E2:E5,B2:B21)))
这会计算包含排除列表任何内容的所有行。但是sumproduct里面的NOT
会将它切换到相反的位置(1 *需要cus它只包含bool而不能计数)
如果您的列C包含bool(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))
正如已经说过的那样:让公式返回""
可能会返回错误的计数(记住这一点)