Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeichenkette mit "Trenner" aufteilen (per Formel)

Zeichenkette mit "Trenner" aufteilen (per Formel)
26.11.2017 22:22:55
Joerschi
Hallo liebes Forum,
in Zelle A1 steht z. B. "1_x_45_123_5"
Trenner ist jeweils der Unterstrich "_".
In Zelle B1 bis F1 sollen jetzt jeweils die Zeichen zwischen den Trennern stehen (und zwar unabhängig von ihrer Zeichenanzahl).
B1 wäre also die "1", C1 = "x", D1 = "45, E1 = "123" und F1 = "5"
Gesucht wird eine Formel für B1 zum Rüberziehen.
Ich vermute, die Lösung besteht aus einer Kombi von TEIL und WECHSELN, aber ich bekomme es nicht hin :-(.
Vielen Dank im Voraus für jede Hilfe!
Beste Grüße
Joerschi

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeichenkette mit "Trenner" aufteilen (per Formel)
26.11.2017 22:32:25
Sepp
Hallo Joerschi,
in letzter Zeit schon oft gefragt.
In B1 und nach rechts ziehen.
=GLÄTTEN(TEIL(WECHSELN($A1;"_";WIEDERHOLEN(" ";99));SPALTE(A1)*99-98;99))
Gruß Sepp

Dankeschön
26.11.2017 22:39:24
Joerschi
Hallo Sepp,
vielen Dank - das war mir nicht bewusst...
Formel funktioniert natürlich. Besten Dank nochmal und viele Grüße,
Joerschi
AW: Zeichenkette mit "Trenner" aufteilen (per Formel)
26.11.2017 22:57:26
Joerschi
Hallo Sepp,
doch noch mal nachgefragt...
Ich habe eine Zeichenkette, wo die letzten 4 zu trennenden Werte nicht geteilt werden.
X_X_X_X_X_X_X_X_X_X_39_38_36_34_33_31_30_28_25_17_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_14_15_16_X_X_X_X_X_X_F24_F3_F24_F24_0_14_0_1_0_14_0_14_100_21,21_100_100_1_2_13_2
Der fünftletzte Wert ("100") wird dabei in 1 und 00 gesplittet:
Oder bei folgender Zeichenkette fehlt der letzte Wert nach dem letzten Trenner (die "2"):
X_X_X_X_X_X_X_X_X_X_34_33_31_30_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_30_31_33_X_X_X_X_X_X_F24_F58_F24_F24_0_14_0_1_0_14_0_14_100_85,82_100_100_1_2_4_2

Und bei folgender Kette wird zwischen den beiden ("100_100") - also zwischen den beiden "100" eine Leerzelle angelegt.
X_X_X_X_X_X_X_X_X_X_39_38_36_34_33_31_30_28_25_17_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_14_15_16_X_X_X_X_X_X_F24_F11_F24_F24_0_14_0_1_0_14_0_14_100_41,41_100_100_1_2_13_3

Weiter wird bei nachfolgender Kette die "45,56" als 45 und 46 in zwei aufeinanderfolgende Zellen kopiert (anstatt in einer)
10_9_8_7_6_5_4_3_2_1_35_32_29_27_26_24_23_21_17_16_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_1_2_3_14_15_16_X_X_X_X_X_X_F114_F128_F24_F24_0_14_0_1_0_14_0_14_62,05_45,56_100_100_10_3_12_3

Hast Du eine Idee, woran das in den vier Fehlerfällen liegen könnte?
Herzliche Grüße
Jörschi
Anzeige
AW: Zeichenkette mit "Trenner" aufteilen (per Formel)
26.11.2017 23:09:57
Sepp
Hallo Joerschi,
ja, habe ich. Deine Strings sind zu lang! Dein ursprüngliches Beispiel war ja ziemlich kurz, ist aber kein Problem.
=GLÄTTEN(TEIL(WECHSELN($A1;"_";WIEDERHOLEN(" ";299));SPALTE(A1)*299-298;299))
Gruß Sepp

Die Quelle kann man auch zitieren
27.11.2017 09:19:54
lupo1
http://www.office-hilfe.com/support/showthread.php/22254
Ich tue es auch immer bei Lösungen anderer, solange die Quelle noch bekannt ist. Das schulde ich denen, die ihre Ideen kostenlos mit allen teilen.
Anzeige
natürlich!
27.11.2017 17:55:21
Sepp
Hallo Lupo1,
gebe die voll recht, leider war mir die Quelle nicht bekannt! Und bis zum nächsten Mal vergeß' ich sie bestimmt wieder ;-))
Gruß Sepp

Neben der Xl-Methode 'Text-in-Spalten', ...
27.11.2017 12:03:20
Luc:-?
…Joerschi,
bei der auch Ziffern(folgen) in echte Zahlen umgewandelt wdn (können), käme für einen solchen MischText mit analogen Mög­lich­kei­ten eigentlich nur die UDF VSplit in einer pluralen MatrixFml infrage. Mit einer Fml ala der von Sepp benutzten, die einst von Lupo kreiert wurde, wäre das nicht ohne mehr als doppelt so lange Fml wie dort gezeigt möglich.
B1:F1: {=VSplit(A1;"_";1)} wandelt die Bsp-Zeichenfolge so um (als MatrixKonstante dargestellt): {1."x".45.123.5}
Alternativ könnte man das analog auch mit der XLM-Fkt AUSWERTEN in benannter Fml (dt Notation) oder der UDF TxEval (US-Nota­tion) erreichen, wenn man den Text zuvor etwas umwandelt, bspw so:
• =AUSWERTEN("{"&WECHSELN(WECHSELN(A1;"x";"""x""");"_";".")&"}")
• =TxEval("{"&WECHSELN(WECHSELN(A1;"x";"""x""");"_";",")&"}")
Natürlich sind diese beiden Fmln genau auf das Bsp zugeschnitten. Können beliebige Texte verschiedener Länge in unbestimmter Anzahl zwischen den Ziffern stehen, müsste wohl doch auf eine zusätzliche UDF zurück­gegriffen wdn, sollte die Fml nicht längen­mäßig ausufern. Aber dann kann man auch gleich die ganz oben genannte benutzen oder wechselt "_" generell gg """.""" bzw """,""" aus, wobei "{"""& voran- und &"""}" nachgestellt wdn müssten. Dann wdn aber auch reine Ziffernfolgen Text bleiben.
Gruß, Luc :-?
„Die Intelligenzmenge ist auf diesem Planeten eine Konstante, die Bevölkerung nimmt aber zu!“ Auch deshalb informieren mit …
Anzeige

12 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige