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

Excel公式-查找,索引匹配Sumifs组合以查找第一个出现,excel,excel-formula,excel-2010,Excel,Excel Formula,Excel 2010,我有两张看起来像这样的桌子: 每个订单ID可以无限次出现。列E中的销售总额是OrderDetail表中具有该订单ID的所有销售总额,因此在本例中,订单122的销售总额应为97 但是,如果在第J列中出现“取消”,则无论订单发出多少次,该订单ID的所有销售金额都将被取消。因此,在本例中,订单120和121的总销售额应为零,并且应在列D中记录两个订单ID的“取消”状态 我尝试了D4和E4的这些公式,将它们拖到表的末尾。但正如你所看到的,这些公式显然不起作用 D4: =INDEX($J$4:$J$11

我有两张看起来像这样的桌子:

每个订单ID可以无限次出现。列E中的销售总额是OrderDetail表中具有该订单ID的所有销售总额,因此在本例中,订单122的销售总额应为97

但是,如果在第J列中出现“取消”,则无论订单发出多少次,该订单ID的所有销售金额都将被取消。因此,在本例中,订单120和121的总销售额应为零,并且应在列D中记录两个订单ID的“取消”状态

我尝试了D4和E4的这些公式,将它们拖到表的末尾。但正如你所看到的,这些公式显然不起作用

D4: =INDEX($J$4:$J$11,MATCH(B4,$G$4:$G$11,0))
E4: =SUMIFS($H$4:$H$11,$G$4:$G$11,B$4,$J$4:$J$11,$J$4:$J$11<>"Cancel")
D4:=索引($J$4:$J$11,匹配(B4,$G$4:$G$11,0))
E4:=SUMIFS($H$4:$H$11,$G$4:$G$11,B$4,$J$4:$J$11,$J$4:$J$11“取消”)
公式不能是数组公式,因为随着新订单的到来,两个表将不断扩展


有人能帮我解决这个问题吗?也许我漏掉了什么,但我就是想不出来。任何帮助都将不胜感激

公式中的范围不匹配有两个问题,可以通过使用整列引用而不仅仅是范围来解决。(正如我确信吉佩德在评论中所说的那样)

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

=IF(COUNTIFS(J:J,"Cancel",G:G,B4)>0,"Cancel","")
如果使用全列引用,第二个公式中的一些拼写错误将更容易纠正,这应该可以做到:

=SUMIFS(H:H,G:G,B4,J:J,"<>Cancel")
=SUMIFS(H:H,G:G,B4,J:J,“取消”)

为什么不使用完整列引用?因为它们不是Excel表对象,只是tables@user71812您可以对标准表使用全列引用,就像您拥有的表一样,这是一种常见做法。唯一能阻止你的是如果你在桌子下面或上面有别的东西。我建议使用完整的列引用,如果不能,则转换为Excel表对象。啊,你说得对!我没想到countif,你说得对!谢谢你的帮助!