使用多个条件和列表的COUNTIF函数

3

我需要计算满足“条件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"}))

请注意,此示例中的数据与我的实际表中的数据不同。实际表比此表格要长得多且更加复杂。
有任何建议吗? 示例

关闭=SUM(COUNTIFS(A2:A11,"TRUE",B2:B11,"TRUE",C2:C11,E2:E6))。这是一个数组公式,因此请使用Ctrl-Shift-Enter进行确认,而不是Enter。范围本身就是数组,无需使用{""} - Scott Craner
当然,那很有道理——我错过了它,真是太傻了。谢谢你。把它作为答案,我会接受它的。 - Gavin121
3个回答

3

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

你很接近成功了。Range是一个数组,所以不需要使用{""}来包装。

只需使用以下代码:

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

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

输入图像描述


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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接