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

标签 excel excel-formula excel-2010

我有两个看起来像这样的表:
enter image description here

每个订单ID可以无限次出现。 col 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")

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

有人可以帮我解决这个问题吗?也许我错过了一些东西,但我似乎无法弄清楚这一点。任何帮助,将不胜感激。

最佳答案

您的范围在公式中不匹配有几个问题,可以通过使用完整列引用而不是范围来解决。 (我确信 Jeeped 会在评论中提出建议)
INDEX(MATCH())仅返回 D4 中公式中的第一个匹配项,使用条件 COUNTIFS() 会做得更好反而:

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

如果您使用完整的列引用,您的第二个公式中有一些拼写错误会更容易纠正,这应该可以解决问题:
=SUMIFS(H:H,G:G,B4,J:J,"<>Cancel")

关于Excel 公式 - 查找,索引匹配 Sumifs 组合以查找第一次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52772303/

相关文章:

excel - 日期格式 英语/法语

excel - Excel 数据透视表中的相关性

vba - Excel 宏图删除空白图例键

excel - 使用 worksheet_change 代码创建 Excel 工作表

excel - 如何使用VBA将Excel日期时间单元格保存到MySQL中?

excel - 应用过滤器后粘贴到新工作表中不会粘贴任何内容

string - Excel:使用长度超过 255 个字符的公式

vba - Excel VBA : Copy Sheet from a workbook to another workbook in different location

Excel 获取一组已排序 id 的按月日期差异

excel 2010 : INDEX/MATCH dropping cell formatting (Accounting & $$)