首页 > 解决方案 > 基于在另一个表中查找代码和值的 Excel 总和

问题描述

给定 Excel 2013(或更高版本)中的 2 个命名表:

tbl发票

ID    InvRef    Total
1     I/123        45
2     I/234         8

tblDeliveries

ID    InvRef    Amt
1     I/123      10
2     I/123      15
3     I/123      20
4     I/234       5
5     I/234       3

我们如何tblInvoice[Total]使用 Excel 公式自动计算?即在伪代码中:

 tblDeliveries[Total] = SUM(tblDeliveries[Amt] WHERE MATCH InvRef)

我已经尝试过这个 Excel 公式,tblInvoice[InvTotal]但它返回的值不正确:

=SUMPRODUCT(SUMIF(tblDeliveries[InvRef],[InvRef],tblDeliveries[Amt]))

还尝试交换第一个和第二个参数。产生不同的数量,但仍然不正确:

=SUMPRODUCT(SUMIF([InvRef],tblDeliveries[InvRef],tblDeliveries[Amt]))

如果相关,则假定从tblInvoice[InvRef]:存在 1:N 关系tblDeliveries[InvRef],这tblInvoice[InvRef]是唯一的。

标签: excelexcel-formulaexcel-2013excel-2016

解决方案


语法不符合您的要求。

=SUMPRODUCT(SUMIF(tblDeliveries[InvRef],[@InvRef],tblDeliveries[Amt]))

@ 是关键的区别。

问候


推荐阅读