AW: so eindeutig, wenn ...
31.08.2022 14:23:44
neopa
Hallo Wolfango,
...max zwei Namen zu trennen sind. Denn bei dem zweiten Namen hast Du keine Komma zwischen Vor- und Nachname.
Habe selbst kein XL365 womit eine Formellösung sicherlich auch realisierbar ist.
Es gibt aber eine Lösung ganz ohne Formeln und auch ohne VBA und zwar mit der Power Query (PQ) Funktionalität, die bereits ab XL2016 in Excel integriert ist.
(M)ein Lösung damit sieht z.B. im (interaktiv erstellten) M-Code wie folgt aus:
let
Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
#"Geänderter Typ" = Table.TransformColumnTypes(Quelle,{{"Spalte A", type text}, {"Spalte B", type text}, {"Spalte C", type text}}),
#"Spalte nach Trennzeichen teilen" = Table.SplitColumn(#"Geänderter Typ", "Spalte B", Splitter.SplitTextByDelimiter(", ", QuoteStyle.Csv), {"Spalte B.1", "Spalte B.2", "Spalte B.3"}),
#"Zusammengeführte Spalten" = Table.CombineColumns(#"Spalte nach Trennzeichen teilen",{"Spalte B.1", "Spalte B.2"},Combiner.CombineTextByDelimiter(", ", QuoteStyle.None),"Spalte B.1"),
#"Ersetzter Wert" = Table.ReplaceValue(#"Zusammengeführte Spalten"," ",", ",Replacer.ReplaceText,{"Spalte B.3"}),
#"Entpivotierte andere Spalten" = Table.UnpivotOtherColumns(#"Ersetzter Wert", {"Spalte A", "Spalte C"}, "Attribut", "Wert"),
#"Hinzugefügter Index" = Table.AddIndexColumn(#"Entpivotierte andere Spalten", "Index", 1, 1, Int64.Type),
#"Pivotierte Spalte" = Table.Pivot(#"Hinzugefügter Index", List.Distinct(#"Hinzugefügter Index"[Attribut]), "Attribut", "Spalte A"),
#"Neu angeordnete Spalten" = Table.ReorderColumns(#"Pivotierte Spalte",{"Spalte B.1", "Wert", "Spalte C", "Index", "Spalte B.3"}),
#"Nach unten gefüllt" = Table.FillDown(#"Neu angeordnete Spalten",{"Spalte B.1"}),
#"Umbenannte Spalten" = Table.RenameColumns(#"Nach unten gefüllt",{{"Spalte B.1", "Spalte A"}, {"Wert", "Spalte B"}}),
#"Entfernte Spalten" = Table.RemoveColumns(#"Umbenannte Spalten",{"Index", "Spalte B.3"})
in
#"Entfernte Spalten"
Geht sicherlich noch kürzer, aber es tut es auch so.
Gruß Werner
.. , - ...