COUNTIF有多个标准和列表

时间:2016-02-05 15:35:46

标签: excel excel-formula countif

我需要计算满足'标准1'的单元格数,'标准2'满足,'标准3'属于E列中包含的值集。

我目前正在使用以下公式:

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

但是在我的真实表格中,'CRITERIA 3'中的数据列表更长更复杂,我更愿意引用E列中的单元格而不是特定数据,例如:

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

请注意,此示例中包含的数据与我的真实表中的数据不同。真实的表比这个表更长,更复杂。

有什么建议吗?

Example

3 个答案:

答案 0 :(得分:3)

决定将我的评论作为答案,以便我可以展示它的作品:

你很亲密。 Range是一个数组,因此不需要{""}包装器

只需使用:

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

这是一个数组公式,必须使用Ctrl-Shift-Enter确认。

enter image description here

答案 1 :(得分:1)

您可以尝试SUMPRODUCT

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

答案 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