【问题标题】:COUNTIF with multiple criteria and list具有多个条件和列表的 COUNTIF
【发布时间】:2016-02-05 15:35:46
【问题描述】:

我需要计算满足“CRITERIA 1”、“CRITERIA 2”和“CRITERIA 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。范围本身就是数组,不需要{""}
  • 是的,当然,这是有道理的——我错过了它真是太愚蠢了。谢谢你。把它作为答案,我会接受它

标签: excel excel-formula countif


【解决方案1】:

决定把我的评论作为答案,这样我就可以展示一张它有效的图片:

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

只需使用:

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

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

【讨论】:

    【解决方案2】:

    你可以试试 SUMPRODUCT

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

    【讨论】:

      【解决方案3】:

      使用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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-06-17
        • 2012-02-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多