我试图获取满足特定条件的行数。我已经在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列是过滤条件。
返回的预期计数是当案例类别(Q列)不是数组1(条件3)中的值之一时,在当前一周或更早的时间内(条件1)打开但仍未解决(条件2)的案例的计数。 ),并且case Type不是数组2(条件4)中的值之一。返回的结果高于预期(通过使用这些相同条件对数据集进行手动过滤来验证这一点)。
我的猜测是重复计算还在进行中,因为该公式在经过一周的测试后返回了1,828个案例,但是手动过滤的验证显示为1,241个(预期结果)。对此有任何想法或想法,我们将不胜感激。
问题在于,针对Value1,Value2,Value3,Value4的数组计数被视为“或”条件,而不是“与”条件。即使Q2具有值1的话,它不具有值2,值3或值4这样的计数是回来为真。您需要确保Q2中不包含Value1,Value2,Value3,Value4。列S和ValueA,ValueB,ValueC,ValueD也是如此。当您尝试查看包含的值时,此OR行为效果很好,但打算将其排除时,此OR行为效果很好。
老式的SUMPRODUCT函数可以处理“或”条件。
B2中具有数组常数的公式为:
=SUMPRODUCT((Sheet1!$AA$2:$AA$999<=$B1)*SIGN(Sheet1!$AA$2:$AA$999)*(Sheet1!$AE$2:$AE$999="")*ISERROR(MATCH(Sheet1!$Q$2:$Q$999, {"Value1","Value2","Value3","Value4"}, 0))*ISERROR(MATCH(Sheet1!$S$2:$S$999, {"ValueA","Value B","ValueC","ValueD","ValueE"}, 0)))
B3中使用D4:D7和E4:E8范围内的值的替代公式为:
=SUMPRODUCT((Sheet1!$AA$2:$AA$999<=$B1)*SIGN(Sheet1!$AA$2:$AA$999)*(Sheet1!$AE$2:$AE$999="")*ISERROR(MATCH(Sheet1!$Q$2:$Q$999, $D$4:$D$7, 0))*ISERROR(MATCH(Sheet1!$S$2:$S$999, $E$4:$E$8, 0)))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句