试图找到两张纸之间错过的目标数

问题描述

我正在尝试解决这个问题,其中我有 2 张纸(为简单起见,此处将其视为 2 个部分),并且我正在尝试计算有多少张来自张 1 的发货低于张 2 中的 SLA 目标。

我试过的公式是

IF(A21=INDEX(A2:A11,MATCH(A21,A2:A11,0),COUNTIF(C2:C11,">="&C21))

我尝试了这些参数的多次迭代,并让它返回了一些非常不一致和完全错误的结果。我期待的输出

0,1,3,0

我知道这可能是某种布尔代数,但老实说,我不明白该系统是如何工作的。我曾尝试查找它,但我认为我做得不对。

Sample Data

解决方法

你可以像这样使用一个简单的布尔乘数:

=SUM((A21=$A$2:$A$11)*($C$2:$C$11<C21))

这会检查 ID 是否与 A21 匹配,然后将这些 TRUE/FALSE 结果乘以第二个布尔数组,该数组检查发货量 (C2:C11) 是否小于 SLA 标准 C21。 注意:如果确实小于或等于,则使用 =SUM((A21=$A$2:$A$11)*($C$2:$C$11<=C21))这会为每个符合条件的值生成一系列 1,然后 SUM 将这些值相加。

以 ID 密钥 4/项目名称 D 为例,您将得到:

SUM({FALSE,FALSE,TRUE,FALSE} * {TRUE,TRUE})

这被强制转换为:

SUM({0,1,0})