Mehrere Zeilen in einer Zelle zusammenfassen mit Excel Power Query
Hier ist ein detailliertes Tutorial, wie du in Excel mithilfe von Power Query mehrere Zeilen basierend auf einem gemeinsamen Kriterium in einer einzigen Zelle zusammenfasst.
Diese Technik ist besonders nützlich, wenn du beispielsweise eine Liste von Kunden hast und alle Produkte, die sie gekauft haben, in einer einzigen, durch Kommata getrennten Zeile auflisten möchtest.
Beispielszenario
Stell dir vor, du hast folgende Ausgangstabelle:
| Name | Produkt |
|---|---|
| Max | Äpfel |
| Max | Birnen |
| Lisa | Bananen |
| Lisa | Kirschen |
Ziel: | Name | Alle Produkte | | :--- | :--- | | Max | Äpfel, Birnen | | Lisa | Bananen, Kirschen |
Schritt 1: Daten in Power Query laden
- Markiere deine Datentabelle in Excel.
- Gehe im Menüband auf den Reiter Daten.
- Klicke in der Gruppe „Abrufen und transformieren von Daten“ auf Aus Tabelle/Bereich.
- Falls deine Daten noch keine formatierte Tabelle sind, fragt Excel nach; bestätige dies mit „OK“. Der Power Query-Editor öffnet sich.
Schritt 2: Die Funktion „Gruppieren nach“ nutzen
- Klicke mit der rechten Maustaste auf die Spalte, die die Duplikate enthält (in unserem Beispiel die Spalte Name).
- Wähle im Kontextmenü Gruppieren nach....
- Ein Fenster öffnet sich. Stelle hier folgendes ein:
- Neuer Spaltenname: Gib einen Namen ein, z. B.
Zusammenfassung. - Vorgang: Wähle hier Alle Zeilen (das ist wichtig, da wir später auf die Inhalte zugreifen müssen).
- Neuer Spaltenname: Gib einen Namen ein, z. B.
- Klicke auf OK. Hinweis: Du siehst nun eine Spalte, in der in jeder Zelle das Wort „Table“ steht.
Schritt 3: Die Formel anpassen (Der "M"-Trick)
Power Query bietet über die grafische Oberfläche standardmäßig keine Funktion zum „Verketten von Text“ beim Gruppieren an. Wir müssen daher die Formel in der Bearbeitungsleiste minimal anpassen.
- Stelle sicher, dass die Bearbeitungsleiste eingeblendet ist (unter dem Reiter Ansicht -> Bearbeitungsleiste).
- Oben in der Leiste siehst du nun eine Formel, die etwa so aussieht:
= Table.Group(#"Vorheriger Schritt", {"Name"}, {{"Zusammenfassung", each _, type table [...]}}) - Ersetze den Teil
each _(oder den Teil nach demeach) durch folgende Funktion:each Text.Combine([Produkt], ", ")(Wichtig: Ersetze[Produkt]durch den Namen deiner Spalte, die die Texte enthält, die zusammengefasst werden sollen).
Die komplette Formel sollte dann etwa so aussehen:
= Table.Group(#"Geänderter Typ", {"Name"}, {{"Zusammenfassung", each Text.Combine([Produkt], ", "), type text}})
- Drücke Enter.
Schritt 4: Datentyp festlegen und Laden
- Klicke auf das kleine Symbol (ABC/123) neben dem neuen Spaltennamen „Zusammenfassung“ und wähle Text, um den Datentyp korrekt zu definieren.
- Gehe zum Reiter Start und klicke auf Schließen & laden.
Zusammenfassung der Formel-Logik
Table.Group: Gruppiert die Zeilen.Text.Combine: Dies ist das Power Query-Äquivalent zur Excel-FunktionTEXTKETTEoderTEXTKOMBINIEREN.[Produkt]: Sagt Power Query, aus welcher Spalte innerhalb der Gruppe die Texte genommen werden sollen.", ": Definiert das Trennzeichen (Komma gefolgt von einem Leerzeichen).
Profi-Tipp: Duplikate innerhalb der Zelle vermeiden
Falls ein Name das gleiche Produkt mehrfach in der Liste hat und du es nur einmal in der Zelle stehen haben möchtest, ändere die Formel in der Bearbeitungsleiste wie folgt ab:
each Text.Combine(List.Distinct([Produkt]), ", ")
Durch das Hinzufügen von List.Distinct() werden doppelte Einträge innerhalb der Gruppe entfernt, bevor sie zusammengefügt werden.