Clever-Excel-Forum

Normale Version: Power Query - Trennen von Nicht Ziffer zu Ziffer
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

folgendes Problem:

Ich habe eine CSV die ich via Power Query transformiere. Nun will ich hier Straße und Hausnummer trennen, was über Trennen nach Wechsel von NichtZiffer zu Ziffer einfach zu handhaben ist.
Aus

"Beispielweg 2"

wird so

"Beispielweg" "2"

Jetzt haben einige Kunden jedoch angegeben:

"Beispielweg 2 Apartment 3"

Getrennt wird dadurch in

"Beispielweg" "2 Apartment" "3"

Lieber wäre es mir, dass es in 

"Beispielweg" "2" "Apartment 3" 

gesplittet wird, sodass ich Aartment 3 als Zusatzinfo beim Versand angeben kann.

Das bedeutet, dass Die Straße in eine Spalt, die Hausnummer in eine Spalte und die Zusatzinfo in eine Spalte kommt und so ohne große Probleme der Versand vorbereitet werden kann.

Ist das möglich?

Ich hänge mal ein Beispiel an.
Wenn der Beispielweg nie Leerzeichen enthält, könnte man mehrfach nach dem äußersten linken Leerzeichen splitten.
Hallo Julia,

VBA könnte Texte und Zahlen trennen:

PseudoCode

[code]
Regex.Pattern = "(\w+)(\d+)"
[\code]

Ob es auch mit PowerQuery gehen könnte, kann ich nicht beurteilen.

mfg
Hallo

So ??
PHP-Code:
let
    Quelle 
Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
    #"Geänderter Typ" = Table.TransformColumnTypes(Quelle,{{"Spalte1", type text}}),
    #"Spalte nach Trennzeichen teilen" = Table.SplitColumn(#"Geänderter Typ", "Spalte1", Splitter.SplitTextByEachDelimiter({";"}, QuoteStyle.Csv, false), {"Spalte1.1", "Spalte1.2"}),
    #"Geänderter Typ1" = Table.TransformColumnTypes(#"Spalte nach Trennzeichen teilen",{{"Spalte1.1", type text}, {"Spalte1.2", type text}}),
    #"Split Column by Character Transition" = Table.SplitColumn(#"Geänderter Typ1", "Spalte1.2", Splitter.SplitTextByCharacterTransition({"0".."9"}, (c) => not List.Contains({"0".."9"}, c)), {"Spalte1.2.1", "Spalte1.2.2"}),
    #"Split Column by Character Transition1" = Table.SplitColumn(#"Split Column by Character Transition", "Spalte1.2.1", Splitter.SplitTextByCharacterTransition((c) => not List.Contains({"0".."9"}, c), {"0".."9"}), {"Spalte1.2.1.1", "Spalte1.2.1.2"}),
    #"Split Column by Character Transition2" = Table.SplitColumn(#"Split Column by Character Transition1", "Spalte1.2.2", Splitter.SplitTextByCharacterTransition((c) => not List.Contains({"0".."9"}, c), {"0".."9"}), {"Spalte1.2.2.1", "Spalte1.2.2.2"})
in
    
#"Split Column by Character Transition2"