具有多个数组的 SUM 和 COUNTIFS?

SUM and COUNTIFS with multiple arrays?

我正在尝试获取满足特定条件的行数。我已经在 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 是一周的结束日期。 Sheet 1 中的 AA 列是案例开放日期,AE 列是案例关闭日期。 Q 列和 S 列是筛选条件。

返回的预期计数是在本周或之前(条件 1)打开但仍未处理(条件 2)的个案计数,其中个案类别(Q 列)不是以下值之一数组 1(条件 3)且案例类型不是数组 2(条件 4)中的值之一。返回的结果高于预期(通过使用相同的标准对数据集进行手动过滤来验证这一点)。

我的猜测是重复计算正在进行,因为公式 returns 一周测试 1,828 个案例但手动过滤验证显示 1,241(预期结果)。非常感谢对此有任何想法或想法。

问题是 Value1、Value2、Value3、Value4 的数组计数被视为 OR 条件,而不是 AND 条件。即使 Q2 中有 Value1,它 也没有 Value2、Value3Value4 所以计数返回为真。您需要确保 Q2 中有 none of Value1, Value2, Value3, Value4。 S 列和 ValueA、ValueB、ValueC、ValueD 也是如此。当您尝试查看包含的值但不打算排除它们时,此 OR 行为很有效。

老式的 SUMPRODUCT function 可以处理 OR 条件。

B2中数组常量的公式为,

=SUMPRODUCT((Sheet1!$AA:$AA9<=$B1)*SIGN(Sheet1!$AA:$AA9)*(Sheet1!$AE:$AE9="")*ISERROR(MATCH(Sheet1!$Q:$Q9, {"Value1","Value2","Value3","Value4"}, 0))*ISERROR(MATCH(Sheet1!$S:$S9, {"ValueA","Value B","ValueC","ValueD","ValueE"}, 0)))

B3 中使用 D4:D7 和 E4:E8 范围内的值的替代公式是,

=SUMPRODUCT((Sheet1!$AA:$AA9<=$B1)*SIGN(Sheet1!$AA:$AA9)*(Sheet1!$AE:$AE9="")*ISERROR(MATCH(Sheet1!$Q:$Q9, $D:$D, 0))*ISERROR(MATCH(Sheet1!$S:$S9, $E:$E, 0)))