Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zeile unterschiedlich trennen
#1
Hola los Todos!

Ich habe ein paar hundert Zeilen in Spalte A1

Jede Zeile hat mehrere tausende Zeichen und ist durch eindeutig bzw. einmalig bezeichnete Trenner zu unterscheiden.

Die Reihenfolge der Trenner ist immer gleich.

Maximal gibt es 12 Trenner = Trenner 1, Trenner 2 ... bis Trenner 12.

Leider variiert die Anzahl dieser Trenner zwischen 8 und 12.

Häufig gibt es z.B. Trenner 1, Trenner 3, ... Trenner 10, Trenner 12. Hier gibt es keine Trenner 2 und 11 bzw. keinen Inhalt zwischen 1 und 3 bzw. 10 und 12

Oder es gibt z.B. Trenner 1, Trenner 2, Trenner 4 ... Trenner 9, Trenner 12. Hier gibt es keine Trenner 3, 10 und 11 bzw. keinen Inhalt dazwischen.

Gibt es eine Formel, die trotzdem alles sauber trennt und auf die 12 folgenden Spallten B1 - M1 verteilt?

Die Spalten, die bei der zu trennenden Zeile KEINE Trenner haben werden quasi ignoriert und leergelassen?

[{"TRENNER1  INHALT1 TRENNER2  INHALT2 TRENNER3  INHALT3 TRENNER4  INHALT4 TRENNER5  INHALT5 TRENNER6  INHALT6 TRENNER7  INHALT7 TRENNER8  INHALT8 TRENNER9  INHALT9 TRENNER10  INHALT10 TRENNER11  INHALT11 TRENNER12  INHALT12"}]

Hier sind dann alle 12 Spalten gefüllt.

[{"TRENNER1  INHALT1 TRENNER3  INHALT3 TRENNER4  INHALT4 TRENNER5  INHALT5 TRENNER6  INHALT6 TRENNER7  INHALT7 TRENNER8  INHALT8 TRENNER9  INHALT9 TRENNER10  INHALT10 TRENNER12  INHALT12"}]

Hier steht dann in Spalte C und L nix.

[{"TRENNER1  INHALT1 TRENNER2  INHALT2 TRENNER4  INHALT4 TRENNER5  INHALT5 TRENNER6  INHALT6 TRENNER7  INHALT7 TRENNER8  INHALT8 TRENNER9  INHALT9 TRENNER12  INHALT12"}]

Hier steht dann in Spalte D, K und L nix.

TRENNER und INHALT 1 bis 12 dient nur der vereinfachten Darstellung.

Da die TRENNER Bezeichnungen (je nach Liste) variieren würde ich sie je nach Bedarf manuell in der Formel anpassen.

Danke und Gruss

Peter


Angehängte Dateien
.xlsx   Zeile unterschiedlich trennen.xlsx (Größe: 8,5 KB / Downloads: 9)
Antworten Top
#2
Hallo Peter,

heißen die Trenner wirklich "Trenner1", "Trenner2" ... ?

Dann ginge die Formel:
Code:
=WENNFEHLER(LINKS(RECHTS($A1;LÄNGE($A1)-SUCHEN("TRENNER"&SPALTE()-1;$A1)-9-((SPALTE()-1)>9));WENNFEHLER(SUCHEN("TRENNER";RECHTS($A1;LÄNGE($A1)-SUCHEN("TRENNER"&SPALTE()-1;$A1)-9-((SPALTE()-1)>9)))-2;999));"")


wenn du vorher die Klammern und " entfernst.
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#3
Hi Helmut!

Vielen Dank für die Formel.

Zitat:TRENNER und INHALT 1 bis 12 dient nur der vereinfachten Darstellung.

Da die TRENNER Bezeichnungen (je nach Liste) variieren würde ich sie je nach Bedarf manuell in der Formel anpassen.

Also TRENNER1 durch die jeweilige Bezeichnung ersetzen, TRENNER2 durch die jeweilige Bezeichnung ersetzen usw.

Gruss

Peter

P.S. Nachtrag zu oben

Ich habe die 12 Bezeichnungen einer Liste durch TRENNER1-12 ersetzt, aber leider wurde nichts getrennt.
Antworten Top
#4
Funktioniert nicht richtig, sorry

Gruß Holger
Antworten Top
#5
Das typische Textsortierproblem bei Zahlen unterschiedlicher Länge (hier fatal für SUCHEN):

T1 T11 T12 T2 ...

Mit TEXT(SPALTE();"00") sollte es gehen (ich setze mich nicht dran).
Antworten Top
#6
Hallo  Peter,

in der Anlage deine Beispieldatei mit meiner Formel und hier noch einige Bemerkungen:

1. Die Formel erwartet als  Trennzeichen den Text "Trenner" gefolgt von einer Zahl.

2. Mit der Formel werden Teile aus dem Text abhängig von den Positionen der Trenner ausgeschnitten. Wenn sich die Länge des Trenntextes ändert muss die Zahl 9 (Länge von "Trenner" +2) in der Formel angepasst werden.

3. Wenn die Formel für den ersten Teil nicht in Spalte 2 beginnt, muss "SPALTE()-1" angepasst werden.

Wenn diese Bemerkungen nicht helfen, zeige doch einmal ein Beispiel mit echten Trennern.


Angehängte Dateien
.xlsx   Zeile unterschiedlich trennen.xlsx (Größe: 11,29 KB / Downloads: 3)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





[-] Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:
  • PeterN
Antworten Top
#7
Hi Helmut!

Klappt super! Vielen Dank!

Gruss

Peter
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste