Excel Sumif,在多列中包含部分字符串的 Sumif?

Excel Sumif, Sumifs with partial strings in multiple columns?

所以这是我从以前的问题中分解出来的简化问题: .

对于这个,我有 Table1(黑灰色的)有两列或更多列用于调整各种订单号。请参见下图:

我想要实现的是对那些包含蓝色 table 总调整列中数字的订单号进行总调整,每个调整都取决于它旁边的单元格。

示例:订单号 17051 有两个产品:17051A(Apple)和 17051B(Orange)。

现在我要在单元格 C10 中实现的是 17051A 和 17051B 的调整总和,即:Apple Adjustment (5000) + Orange Adjustment (4500) = 9500。

我在下面(和图像中)使用的公式一直给我错误消息,甚至在我添加橙色调整之前就发生了这种情况。

=SUMIF(Text(LEFT(Table1[Order Number],5),"00000"),text(B10,"00000"),Table1[Apple Adjustment])

我花了一整天的时间寻找解决方案,但几乎没有找到任何解决方案。任何建议表示赞赏。

在 C10 中,您可以添加两个和积。这假设产品一开始总是 5 个数字长。如果不是交换 5 以使用您正在匹配的产品参考部分的长度。

=SUMPRODUCT(--(1*LEFT($B:$B,5)=$B10),$D:$D)+SUMPRODUCT(--(1*LEFT($B:$B,5)=$B10),$F:$F)

table 语法是:

=SUMPRODUCT(--(1*LEFT(Table1[Order Number],5)=$B10),Table1[Apple Adjustment])+SUMPRODUCT(--(1*LEFT(Table1[Order Number],5)=$B10),Table1[Orange Adjustment])

正在使用 LEN

=SUMPRODUCT(--(1*LEFT(Table1[Order Number],LEN($B10))=$B10),Table1[Apple Adjustment])+SUMPRODUCT(--(1*LEFT(Table1[Order Number],LEN($B10))=$B10),Table1[Orange Adjustment])

我乘以 1 以确保左,5 变成数字。

假设您的 headers 中始终包含文本 "adjustment",您可以使用:

=SUMPRODUCT((LEFT($B:$B,5)=B10&"")*(RIGHT($C:$F,10)="adjustment")*$C:$F)