Excel 公式 - 查找,索引匹配 Sumifs 组合以查找第一次出现

Excel Formula - Lookup , Index Match Sumifs combination to find the first occurence

我有两个 table 如下所示:

每个订单ID可以无限次出现。 E 列中的总销售额是 OrderDetail Table 中具有该订单 ID 的所有销售额的总和,因此在这种情况下,订单 122 的总销售额应为 97。

但是,如果在 col J 中出现任何 "Cancel",无论下订单多少次,该订单 ID 的所有销售额都将被取消。因此,对于此示例,订单 120 和 121 的总销售额应为零,并且应在 Col D 中记录两个订单 ID 的 "Cancel" 状态。

我尝试了 D4 和 E4 的这些公式,将它们拖到 table 的末尾。但正如您所见,这些公式显然行不通。

D4: =INDEX($J:$J,MATCH(B4,$G:$G,0))
E4: =SUMIFS($H:$H,$G:$G,B,$J:$J,$J:$J<>"Cancel")

公式不能是数组公式,因为两个 table 都会随着新订单的到来而不断扩展。

谁能帮我解决这个问题?也许我遗漏了一些东西,但我似乎无法弄清楚。任何帮助,将不胜感激。

您的公式中的范围不匹配存在一些问题,这些问题可以通过使用完整的列引用而不仅仅是范围来解决。 (正如我确定 Jeeped 即将在评论中建议的那样)

INDEX(MATCH()) 仅返回 D4 中公式中的第一个匹配项,使用条件 COUNTIFS() 会更好:

=IF(COUNTIFS(J:J,"Cancel",G:G,B4)>0,"Cancel","")

你的第二个公式中有一些拼写错误,如果你使用完整的列引用,这些错误会更容易纠正,这应该可以解决问题:

=SUMIFS(H:H,G:G,B4,J:J,"<>Cancel")