AW: Zeilen löschen und Tabelle transponieren mit PQ
15.05.2025 11:57:34
Yal
Hallo zusammen,
nur vollständigkeitshalber, die PQ-Lösung inkl. Abbau der Doppelung (List.Distinct)
let
Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
#"Hinzugefügter Index" = Table.AddIndexColumn(Quelle, "Index", 1, 1, Int64.Type),
#"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Hinzugefügter Index", "Benutzerdefiniert", each [Index] = 2 or Number.Mod([Index], 4) = 1),
#"Gefilterte Zeilen" = Table.SelectRows(#"Hinzugefügte benutzerdefinierte Spalte", each ([Benutzerdefiniert] = true)),
Entf1 = Table.RemoveColumns(#"Gefilterte Zeilen",{"Index", "Benutzerdefiniert"}),
Transpo1 = Table.Transpose(Entf1),
S1 = Table.AddColumn(Transpo1, "S1", each List.Sort(List.Distinct(List.Select(List.Skip(Record.ToList(_),1), each _> null)))),
Entf2 = Table.SelectColumns(S1,{"Column1", "S1"}),
S2 = Table.AddColumn(Entf2, "S2", each List.Combine({{[Column1]},[S1]})),
Entf3 = Table.SelectColumns(S2,{"S2"}),
#"Extrahierte Werte" = Table.TransformColumns(Entf3, {"S2", each Text.Combine(List.Transform(_, Text.From), ";"), type text}),
Split = Table.SplitColumn(#"Extrahierte Werte", "S2", Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv)),
Transpo2 = Table.Transpose(Split)
in
Transpo2
Am Ende ist natürlich die Lösung, bei dem man sich "zu Hause" fühlt am besten. VBA ist dabei überschaubarer.
Sollte das Gesamtergebnis Cloud-tauglich sein, wird VBA im Wege stehen.
S1 im Detail: aus der Datensatz eine Liste (Record.ToList), erste Element raus (Skip), null raus (Select), Doppelung raus (Distinct) und sortieren.
VG
Yal