我需要计算满足'标准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"}))
请注意,此示例中包含的数据与我的真实表中的数据不同。真实的表比这个表更长,更复杂。
有什么建议吗?
答案 0 :(得分:3)
决定将我的评论作为答案,以便我可以展示它的作品:
你很亲密。 Range是一个数组,因此不需要{""}
包装器
只需使用:
=SUM(COUNTIFS(A2:A11,"TRUE",B2:B11,"TRUE",C2:C11,E2:E6))
这是一个数组公式,必须使用Ctrl-Shift-Enter确认。
答案 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
。