Excel: Zwei Spaltensätze zu einem zusammenfassen

Excel: Zwei Spaltensätze zu einem zusammenfassen

In einem Excel-Blatt habe ich zwei unterschiedliche Datensätze mit jeweils drei Spalten, die sehr ähnliche Daten darstellen.

Ich möchte dies zu einem Satz von drei Spalten zusammenfassen.

Jeder Datensatz hat seine äußerste linke Spalte als Schlüssel, nach dem ich gruppieren möchte.

Ein Schlüssel kommt in jedem Datensatz einmal oder nie vor. Die anderen Spalten sind numerisch und können leer sein (als Null interpretiert). Die beiden Reihen können unterschiedlich lang sein.

So:

[Name_A],[Score_A],[Value_A],[Name_B],[Score_B],[Value_B]
Adam,14,20,Johnny,8,
Johnny,11,,Bernice,5,5
,,,Adam,2,8

sollte wie folgt zusammengefasst werden:

[Name],[Score],[Value]
Adam,16,28
Johnny,19,
Bernice,5,5

Die Reihenfolge der Zeilen im Endergebnis ist nicht wichtig.

Antwort1

Analysieren Sie Ihre Daten, indem Sie Text in Spalten aufteilen und Kommas als Trennzeichen verwenden. Erstellen Sie dann eine Liste mit eindeutigen Namen (Sie können dies tun, indem Sie in Excel auf der Registerkarte „Daten“ Duplikate entfernen) und verwenden Sie =sumif(Name_Column,Name1,Value1_Column).

Dies sollte alles nach Namen und Wert zusammenfassen.

Beispiel

Antwort2

Der Schlüssel zum Zusammenführen Ihrer Datensätze ist das Extrahieren einer Liste der eindeutigen Namen. Dies istvieleinfacher, wenn die Namen alle in einer Spalte stehen. Wenn Sie Ihre Daten so anordnen müssen, wie Sie es gezeigt haben, gibt es eine VBA-Lösung. Kommentieren Sie also unten, wenn Sie diese benötigen.

In der ersten Tabelle unten habe ich Ihre „B“-Daten unter die „A“-Daten verschoben und in jedem Abschnitt ein paar weitere Zeilen hinzugefügt.

Bildbeschreibung hier eingeben

Diese aus E2 ausgefüllte Formel listet die Namen auf und entfernt Duplikate:

=IFERROR(INDEX((A$2:A$15),MATCH(0,COUNTIF($E$1:E1,A$2:A$15),0)),"")

Da es sich um eine Matrixformel handelt, muss sie mit eingegeben werden CTRLShiftEnter.

Diese beiden Formeln, ausgefüllt aus F2 und G2, addieren die Punktzahl und den Wert für jeden Namen in der Liste:

=IF(LEN(E2)<1,"",SUMIF(A$2:A$15,E2,B$2:B$15))

=IF(LEN(E2)<1,"",SUMIF(A$2:A$15,E2,C$2:C$15)) ______________________________________________________________________

Wie es funktioniert:Das innere Element COUNTIF()erstellt ein Array mit der Anzahl der Vorkommen jedes der Namen aus Spalte A in der wachsenden Liste in Spalte E. Das Element MATCH()ermittelt die Position der ersten 0 (entspricht einem Namen, der noch nicht aufgeführt wurde) in diesem Array und wird als Zeilennummer in einem Element verwendet INDEX(), das den Namen aus Spalte A auswählt. Namen, die bereits aufgeführt wurden, tauchen nicht erneut auf.

Das IFERROR()fügt Leerzeichen für Zeilen ein, die einen #NUM!-Fehler aufweisen würden, wenn der Formel keine eindeutigen Werte mehr zur Verfügung stehen.

Die beiden SUMIF()Formeln addieren einfach die Score- und Value-Zahlen für jeden Namen. Das IF()fügt ein Leerzeichen für Zeilen ein, bei denen die Länge der Spalte E < 1 ist (d. h. die Zelle hat keinen Namen und erscheint leer).

verwandte Informationen