Eindeutigkeiten suchen und entsprechende Werte als Komma-getrennte Werte in Excel anzeigen?

Eindeutigkeiten suchen und entsprechende Werte als Komma-getrennte Werte in Excel anzeigen?

Ich habe eine Tabelle mit großen Datenmengen, die Familiennamen und Familienhaushalte enthält. Und ich versuche, sie in einer eindeutigen Liste zusammenzufassen, gefolgt von den Haushaltsnamen als durch Kommas getrennte Werte.

In der folgenden Tabelle werden die Eingaben und die gewünschte Ausgabe erläutert.

Eindeutige Werte und entsprechende Spalten

Hier sind die Rohdaten.

Haushalt Namen
Schmied Julia
Boyer Anja
Müller Katharina
Schmied John
Boyer Doug
Boyer Sam
Müller Joe
Schmied Jim
Boyer Jeff

Ich fand eineähnliche Anfrage, aber für Python. Ich suche nach etwas in Excel, das dies kann. Ich habe es mit einer Pivot-Tabelle versucht, aber das funktioniert nicht, da versucht wird, die Daten zu aggregieren.

Antwort1

Es gibt viele Möglichkeiten, das gewünschte Ergebnis zu erzielen. Hier sind einige Möglichkeiten, die mir bisher bekannt sind:

▶️ Mit Power Query, verfügbar in Windows Excel 2010+undExcel 365 (Windows or Mac)

Bildbeschreibung hier eingeben


Um Power Query zu verwenden, befolgen Sie die Schritte:

  • Konvertieren Sie zunächst die Quellbereiche in eine Tabelle und benennen Sie diese entsprechend. Für dieses Beispiel habe ich sie wie folgt benannt:Table1

  • Öffnen Sie als Nächstes eine leere Abfrage über Datadie Tabulatortaste --> Get & Transform Data--> Get Data--> From Other Sources-->Blank Query

  • Das obige lässt das Power QueryFenster öffnet sich, jetzt von HomeTab --> Advanced Editor--> Und fügen Sie das Folgende ein, M-Codeindem Sie alles entfernen, was Sie sehen, und drücken SieDone

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Household", type text}, {"Names", type text}}),
    #"Grouped Rows" = Table.Group(#"Changed Type", {"Household"}, {{"Names", each Text.Combine([Names],", "), type text}})
in
    #"Grouped Rows"

Bildbeschreibung hier eingeben


  • Zum Schluss importieren Sie es wieder nach Excel--> Klicken Sie auf Close & Loadoder Close & Load To-->. Der erste Klick erstellt ein New Sheetmit der erforderlichen Ausgabe, während der letzte Klick ein Fenster öffnet, in dem Sie gefragt werden, wo das Ergebnis abgelegt werden soll.

▶️ Verwenden GROUPBY()der Funktion verfügbar inMS365 Office Insider-Version:

Bildbeschreibung hier eingeben


=GROUPBY(A2:A10,B2:B10,ARRAYTOTEXT,,0)

▶️ Oder mithilfe LAMBDA()der Hilfsfunktion BYROW()--> Gilt für den aktuellen KanalMS365

=LET(
     _data, A2:B10,
     _household, TAKE(_data,,1),
     _names, UNIQUE(_household),
     HSTACK(_names, BYROW(_names, LAMBDA(x, TEXTJOIN(", ",1,IF(x=_household,TAKE(_data,,-1),""))))))

▶️ Oder mit POWER PIVOT, verfügbar in Windows Excel 2013+undExcel 365 (Windows)

Bildbeschreibung hier eingeben


Um Power Pivot zu verwenden, befolgen Sie die Schritte:

  • Konvertieren Sie zunächst die Quellbereiche in eine Tabelle und benennen Sie diese entsprechend. Für dieses Beispiel habe ich sie wie folgt benannt:Table_1

  • Wählen Sie eine Zelle in Ihren Daten aus und klicken Sie auf Insertdie Tabulatortaste -> Klicken Sie auf Pivot Table--> Es Table/Rangewird angezeigt als Table_1, Klicken Sie auf New Worksheetoder Existing Worksheetentsprechend Ihrer Wahl, --> Wählen Sie im letzteren Fall den Zellenstandort aus und klicken Sie auf Add this data the Data Model.

  • Klicken Sie im rechten Bereich auf Pivot TableFelder. Klicken Sie mit der rechten Maustaste auf Table_1und wählen SieAdd Measure

  • Geben Sie den Maßnamen nach Ihrer Wahl ein und geben Sie die folgende Formel in den Formelbereich ein:

=CONCATENATEX(Table_1,[Names],", ")

  • Drücken Sie „OK“, „Auswählen“ Householdund platzieren Sie es im ROWSBereich, während die Maßnahme mit dem Namen Name-CommaSeparated(in diesem Beispiel verwendet, Sie können sie ändern) im VALUESBereich ist.

  • Ändern Sie auf Designder Registerkarte Report Layoutin Show in Tabular Form, klicken Sie auf „Weiter“ Grand Totalsund wählen Sie aus Off for Rows and Columns, und Sie erhalten die gewünschte Ausgabe.

⏩ Eine weitere alternative Version für Excel 2016+weiter:

Bildbeschreibung hier eingeben


=SUBSTITUTE(CONCAT(IF(D2=A$2:A$10,","&B$2:B$10,"")),",",,1)

Bei der obigen Formel muss beim Verlassen des Bearbeitungsmodus nur bei älteren Versionen CTRL+ SHIFT+ gedrückt werden .ENTER


verwandte Informationen