2017-03-21 146 views
1

我有两个表,我必须根据连接条件计算值。是否有可能用公式来做到这一点?Excel公式来计算表间连接

的表像如下

表1

RefT1 Value 
A  7 
B  2 
C  5 
D  4 

表2

RefT2 Value 
B  5 
D  8 
E  7 

我需要计算:

项目的值的两个表

的总和

表1中,但不能在表2

表2中的值的总和,但不能在表1

我可以使用什么公式来实现这一目标的值的总和?

+1

'VLOOKUP()','INDEX()/ MATCH()'或'SUMIFS()'应该都可以实现这一点。你试过什么了? – Kyle

+0

我已经使用了vlookup和sumif,但我不知道如何获得表之间的条件连接 – Selrac

+0

可以使用ADO生成表之间的真正JOIN。添加一个GROUP BY子句,你应该能够在hte标准上进行SUM。 – Jeeped

回答

3

你将需要三个公式

两者(数组公式):

=SUM(SUMIF(A2:A5,D2:D4,B2:B5),SUMIF(D2:D4,A2:A5,E2:E4)) 

与输入Ctrl移输入

表1:

=SUMPRODUCT(--(ISERROR(MATCH(A2:A5,D2:D4,0))),B2:B5) 

表2 :反转列:

=SUMPRODUCT(--(ISERROR(MATCH(D2:D4,A2:A5,0))),E2:E4) 

enter image description here

+0

完美。感谢Scott – Selrac

2

假设你有ListObjects /与表的名称表1和表2,你已经在你的例子中使用的列名下面的公式会给你在表1中项目的总和(其中存在也在表2):

=SUM(IF(ISERROR(MATCH(Table1[RefT1],Table2[RefT2],0)),0,Table1[Value])) 

在其倒数为您提供表2中的所有项目)的总和(其也存在于表1:

=SUM(IF(ISERROR(MATCH(Table2[RefT2],Table1[RefT1],0)),0,Table2[Value])) 

当然,两者的总和应该是项目的“加盟”总和:

enter image description here

注意,所有的公式是数组公式,因此必须使用Ctrl + Shift + Enter输入。有关数组公式的更多信息,请参阅:https://support.office.com/en-us/article/Guidelines-and-examples-of-array-formulas-7D94A64E-3FF3-4686-9372-ECFD5CAA57C7

+1

我刚刚意识到我得到了第一个和第二个公式错误。他们在另一个表格中用一个匹配项加总项目,而OP则要求相反(在另一个表格中用** no **匹配)。然而,由于这个问题很容易解决,尤其是因为@ScottCrainer在他的解决方案中正确无误,我将会保留原来的解决方案。 – Ralph

+0

短语'*两个表格中的项目的值的总和*'可能或可能不表示'*两个表格中的项目** FOUND **的值的总和。 OP的叙述是不明确的;有人应该对提出这个作业问题的老师说几句话。 – Jeeped