AW: Tabellenzeilen zusammenfügen
17.01.2023 12:58:23
ChrisL
Hi
Mit Formeln kann ich es nicht, aber mit Power-Query. Zwar füge ich dir nachstehenden einen Code ein, aber nachdem du diesen reinkopiert hast, kannst du die Einzelschritte im PQ-Editor nachverfolgen. PQ lässt sich grösstenteils ohne "Programmierung" realisieren, aber erfordert eine Einarbeitung.
https://excelhero.de/power-query/power-query-ganz-einfach-erklaert/
Die relevanten Tabellen haben den Namen "Tabelle1" und "Tabelle3". Tabellenbereich markieren, dann siehst du im Menü Tabellenentwurf den Tabellennamen.
- Menü Daten, Aus anderen Quellen, leere Abfrage
- PQ-Editor öffnet
- Menü Ansicht, Erweiterter Editor
- Code dort reinkopieren
let
Quelle1 = Excel.CurrentWorkbook(){[Name="Tabelle3"]}[Content],
Quelle2 = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
#"Zusammengeführte Abfragen" = Table.NestedJoin(Quelle2, {"vertreter"}, Quelle1, {"Nachname"}, "Quelle1", JoinKind.LeftOuter),
#"Erweiterte Quelle1" = Table.ExpandTableColumn(#"Zusammengeführte Abfragen", "Quelle1", {"vollständig"}, {"vollständig"}),
#"Gruppierte Zeilen" = Table.Group(#"Erweiterte Quelle1", {"Datum", "Abkürzung", "Name", "Art"}, {{"alle", each _, type table [Datum=datetime, Abkürzung=text, Name=text, Art=text, Nummer=number, Gruppe=text, vertreter=text, vollständig=text]}}),
#"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Gruppierte Zeilen", "Vertreter", each List.Distinct([alle][vollständig])),
#"Hinzugefügte benutzerdefinierte Spalte1" = Table.AddColumn(#"Hinzugefügte benutzerdefinierte Spalte", "Gruppen", each List.Distinct([alle][Gruppe])),
#"Extrahierte Werte" = Table.TransformColumns(#"Hinzugefügte benutzerdefinierte Spalte1", {"Vertreter", each Text.Combine(List.Transform(_, Text.From), ", "), type text}),
#"Extrahierte Werte1" = Table.TransformColumns(#"Extrahierte Werte", {"Gruppen", each Text.Combine(List.Transform(_, Text.From), ", "), type text}),
#"Hinzugefügte benutzerdefinierte Spalte2" = Table.AddColumn(#"Extrahierte Werte1", "Vertreter (nur eine Person)", each if Text.PositionOf([Vertreter],",",Occurrence.First)0 then [Vertreter] else null),
#"Hinzugefügte benutzerdefinierte Spalte4" = Table.AddColumn(#"Hinzugefügte benutzerdefinierte Spalte3", "Gruppe (einzeln)", each if Text.PositionOf([Gruppen],",",Occurrence.First)0 then [Gruppen] else null),
#"Entfernte Spalten" = Table.RemoveColumns(#"Hinzugefügte benutzerdefinierte Spalte5",{"alle", "Vertreter", "Gruppen"}),
#"Geänderter Typ" = Table.TransformColumnTypes(#"Entfernte Spalten",{{"Datum", type date}, {"Abkürzung", type text}, {"Name", type text}, {"Art", type text}, {"Vertreter (nur eine Person)", type text}, {"Vertreter (mehrere Personen)", type text}, {"Gruppe (einzeln)", type text}, {"Gruppe (mehrere)", type text}}),
#"Neu angeordnete Spalten" = Table.ReorderColumns(#"Geänderter Typ",{"Vertreter (nur eine Person)", "Vertreter (mehrere Personen)", "Gruppe (einzeln)", "Gruppe (mehrere)", "Art", "Abkürzung", "Name", "Datum"}),
#"Sortierte Zeilen" = Table.Sort(#"Neu angeordnete Spalten",{{"Datum", Order.Ascending}})
in
#"Sortierte Zeilen"
cu
Chris