Excel - 带匹配的 Sumifs

Excel - Sumifs with Match

美好的一天,

我有一个 table in one sheet (!Vide) 其中包含邮政编码 ($F)、距离 ($I)、状态 ($H) 和身份证号码 ($K) ) 和另一个地区的所有邮政编码 ($A) sheet (!NYI)

如果订单是 NYI sheet 中邮政编码的一部分,我正在尝试执行 SUMIFS 使用:

=IFERROR(SUMIFS(Vide!$I:$I,Vide!$M:$M,Tableau!F1,Vide!$H:$H,"L",Vide!$K:$K,">0",IF(MATCH(Vide!$F:$F,!NYI$A:$A,0),"TRUE","FALSE"),"TRUE")

从 IF(MATCH()) 部分开始,所有部分都运行良好

这里是数据样本:

Sheet "Vide":

$F         $H         $I         $K
11412      L          105        1390
90210      L          148.6      95.19
11422      E          135.9      2325.6

在这种情况下,只有第 1 行会被考虑在内,因为它满足所有条件并且出现在 sheet NYI 的 table 中:

Sheet NYI:

$A          $B
11412       Saint Albans
11413       Springfield Gardens
11422       Rosedale

我们将不胜感激。

谢谢

为了更简单,您必须先使用辅助列:

=IFERROR(MATCH(F1,NYI!$A:$A,0),0)

所以它会有这个:

$F         $H        $I       $K            $L
11412      L       105         1390         1
90210      L       148.6       95.19        0
11422      E       135.9       2325.6       3

然后将您的公式更改为:

=IFERROR(SUMIFS(Vide!$I:$I,Vide!$M:$M,Tableau!F1,Vide!$H:$H,"L",Vide!$K:$K,">0",Vide!$L:$L,">1"),"TRUE")

如果您只需要没有辅助列的公式,它是:

=SUMPRODUCT(Vide!$I:$I*--(Vide!$M:$M=Tableau!F1)*--(Vide!$H:$H="L")*--(Vide!$K:$K>0)*--(Vide!$F:$F=NYI$A:$A))

您可能希望将最后一部分限制为仅包含数据的行,因为它会在公式处理中占用大量开销,例如(视频!$F$1:$F$100=NYI$A$1:$A$100)

参见下面的示例: