2016-02-05 131 views
3

我需要计算满足'CRITERIA 1'的单元格数量,'CRITERIA 2'满足,'CRITERIA 3'满足E列中的值集合。COUNTIF有多个标准和列表

我目前使用下面的公式:

=SUM(COUNTIFS(A2:A11,"TRUE",B2:B11,"TRUE",C2:C11,{"2","4","6","9","10"})) 

但在我真正的表,数据的“准则3”中的名单更长,更复杂,我宁愿引用E列单元格,而不是具体数据,即类似:

=SUM(COUNTIFS(A2:A11,"TRUE",B2:B11,"TRUE",C2:C11,{"E2:E6"})) 

请注意,本例中包含的数据与我真实表中的数据不同。真正的桌子比这张桌子更长更复杂。

有什么建议吗?

Example

+0

关闭'= SUM(COUNTIFS(A2:A11, “TRUE”,B2:B11, “TRUE”,C2:C11,E2:E6))'它是一个数组公式,所以按Ctrl - Shift-Enter确认而不是Enter。范围本身就是数组,不需要'{“”}'。 –

+0

当然,这是有道理的 - 愚蠢的我错过了它。谢谢。把这个作为答案,我会接受它 – Gavin121

回答

3

决定把我的评论作为一个答案,所以我可以证明,它的工作原理图:

你接近。范围是一个数组,所以没有必要为{""}包装

只需使用:

=SUM(COUNTIFS(A2:A11,"TRUE",B2:B11,"TRUE",C2:C11,E2:E6)) 

这是一个数组公式,必须用Ctrl-Shift键回车确认。

enter image description here

1

你可以尝试SUMPRODUCT

=SUMPRODUCT((A2:A11="TRUE")*(B2:B11="TRUE")*(E2:E6="2")) 
1

使用COUNTIFS我知道的唯一的方法来检查的值是在列表是创建具有检查虚拟列,使该列的Criteria3而不是实际值。

从你的榜样去,你会在下面的公式中滴在列d(设置文字为白色,工作簿不显得难看): =IF(COUNTIF(E$2:E$6, C2)>0, 1, "")

然后你Criteria3更新,例如,你必须: =SUM(COUNIFS(A2:A11, "TRUE", B2:B11, "TRUE", D2:D11, 1))

如果这不是理想的,我能想到的唯一方法就是使用宏来为你获得SUM