2017-03-21 2 views
1

Ich habe zwei Tabellen und ich muss die Werte basierend auf Join-Bedingungen berechnen. Ist es möglich, es mit Formeln zu tun?Excel-Formel zum Berechnen von Joins zwischen Tabellen

Die Tabellen sind wie folgt

Table1

RefT1 Value 
A  7 
B  2 
C  5 
D  4 

Table2

RefT2 Value 
B  5 
D  8 
E  7 

ich berechnen müssen:

Die Summe der Werte der Elemente in beiden Tabellen

Die Summe der Werte in Tabelle 1 aber nicht auf Table2

die Summe der Werte in Tabelle 2, aber nicht auf Table1

Welche Formel kann ich dies zu erreichen, verwenden?

+1

'SVERWEIS()', 'INDEX()/MATCH()' oder 'SUMIFS()' sollten alle dies erreichen können. Was hast du bisher versucht? – Kyle

+0

Ich habe vlookup & sumif verwendet, aber ich weiß nicht, wie man die bedingten Joins zwischen Tabellen erhält. – Selrac

+0

Ein wahrer JOIN zwischen Tabellen konnte mit ADO erzeugt werden. Wenn Sie eine GROUP BY-Klausel hinzufügen, sollten Sie in der Lage sein, nach den Kriterien zu summieren. – Jeeped

Antwort

3

Sie müssen drei Formeln

Beide (Matrixformel):

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

Geben Sie mit Ctrl-Shift-Enter

Tabelle 1:

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

Tabelle 2 : Vertauschen Sie die Spalten:

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

enter image description here

+0

Perfekt.Danke Scott – Selrac

2

Unter der Annahme, dass Sie Listobjects haben/Tabellen mit den Namen Tabelle 1 und Tabelle 2 und die Spaltennamen, die Sie in Ihrem Beispiel verwendet haben die folgende Formel Sie die Summe der Elemente in Tabelle 1 (die existieren gefunden geben auch in Tabelle 2):

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

in Invers davon gibt Ihnen die Summe für alle Positionen in Tabelle 2 (die auch in Tabelle 1 vorhanden sind):

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

Natürlich sollte die Summe aus beiden sein die „Verbinden“ Summe des Artikels:

enter image description here

Hinweis, dass alle Formeln Matrixformeln sind und als solche müssen mit Ctrl + Shift + Enter eingegeben werden. Für weitere Informationen über Array-Formeln lesen Sie: https://support.office.com/en-us/article/Guidelines-and-examples-of-array-formulas-7D94A64E-3FF3-4686-9372-ECFD5CAA57C7

+1

Ich habe gerade festgestellt, dass ich die erste und die zweite Formel falsch verstanden habe. Sie addieren die Items mit einem Match in der anderen Tabelle, während das OP nach dem Gegenteil fragt (mit ** no ** match in der anderen Tabelle). Da dies jedoch leicht zu beheben ist und vor allem, weil @ScottCrainer es in seiner Lösung richtig gemacht hat, werde ich diese Lösung so lassen, wie sie ist. – Ralph

+0

Der Ausdruck "* Die Summe der Werte von Elementen in beiden Tabellen *" kann bedeuten oder auch nicht "* Die Summe der Werte von Elementen ** FOUND ** in beiden Tabellen * '. Die Erzählung des OP ist zweideutig; jemand sollte ein paar Worte mit dem Lehrer haben, der diese Hausaufgabenfrage gestellt hat. – Jeeped

Verwandte Themen