具有多个数组的 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、Value3 或 Value4 所以计数返回为真。您需要确保 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)))
我正在尝试获取满足特定条件的行数。我已经在 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、Value3 或 Value4 所以计数返回为真。您需要确保 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)))