2017-03-21 143 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