【发布时间】:2015-09-27 04:31:23
【问题描述】:
我正在尝试获取满足特定条件的行数。我已经在 SO 上搜索了这个问题的答案,但到目前为止还没有找到解决方案(注意:我找到了将 SUM 和 COUNTIFS 与一个数组一起使用的解决方案,但不是多个数组)。
这是我使用的公式:
=SUM(COUNTIFS('Sheet1'!$AA:$AA,"<="&$B1,'Sheet1'!$AE:$AE,"="&"",'Sheet1'!$Q:$Q,"<>"&{"Value1","Value2","Value3","Value4"},'Sheet1'!$S:$S,"<>"&{"ValueA","Value B","ValueC","ValueD","ValueE"}))
数据是客户案例数据。单元格 B1 是一周结束日期。表 1 中的 AA 列是案例打开日期,AE 列是案例关闭日期。 Q 和 S 列是过滤条件。
返回的预期计数是在本周或更早(标准 1)打开但仍处于打开状态(标准 2)的案例计数,其中案例类别(Q 列)不是数组 1 中的值之一(Criteria 3) 并且 case Type 不是 Array 2 (Criteria 4) 中的值之一。返回的结果高于预期(通过使用这些相同标准对数据集进行手动过滤来验证这一点)。
我的猜测是重复计算正在进行,因为该公式返回 1,828 个测试一周的案例,但手动过滤验证显示 1,241(预期结果)。非常感谢您对此的任何想法或想法。
【问题讨论】:
-
我最初尝试使用枢轴。 AA 列也是一个过滤器,因此旋转的问题是使用 AA 列作为行意味着任何计数都必须在该周内发生,而不是在该周内和之前打开任何东西。单元格 B1 也不是每一行的静态值 - 它是一周结束值。因此,在表格格式中,如果我们查看 6 周滚动视图,则 6 行将与第 1 行中的 B1、第 2 行中的 C1...第 6 行中的 G1 进行比较。
标签: arrays excel excel-formula excel-2013