Seite 1 von 1
Textzeile einer Zelle extrahieren
Verfasst: Fr, 15.10.2010 19:11
von KlammerAuf
Hallo,
leider kenne ich mich mit den funktionen bei calc noch nicht so aus - vielleicht kann mir ja jemand helfen.
Folgendes problemchen...
Ich möchte aus einer zelle in der ein mehrzeiliger text steht, eine bestimmte zeile auslesen um sie in eine andere zelle zu übertragen.
Der mehrzeilige text ist im prinzip nichts anderes als ein adressblock in der form:
Name Vorname
Postleitzahl Ort
Straße Hausnummer
Heraus kommen soll:
| Name Vorname | Postleitzahl Ort | Straße Hausnummer |
Vermutlich müsste man die einzelnen textsegmente anhand der zeilenumbrüche herausfiltern können.
Aber wie fragt man einen zeilenumbruch ab ?
Über die leerzeichen funktioniert es nicht, da sowohl in der ersten als auch der letzten zeile unterschiedlich viele
leerzeichen vorkommen können (zb. doppelnamen oder straßennamen die aus mehreren einzelworten bestehen usw.).
Falls jemand dafür eine lösung hat (oder einen anderen ansatz) würde mir das sehr weiterhelfen.
Re: Textzeile einer Zelle extrahieren
Verfasst: Fr, 15.10.2010 20:10
von clag
Hallo KlammerAuf,
angenommen der dreizeilige Text steht in A2
dann schreibe/kopiere diese drei Formeln
in B2
=LINKS(A2;SUCHEN("[:cntrl:]+";A2;1)-1)
in C2
=RECHTS(LINKS(A7;SUCHEN("[:cntrl:]+";A7;SUCHEN("[:cntrl:]+";A7;1)+1)-1);SUCHEN("[:cntrl:]+";A7;SUCHEN("[:cntrl:]+";A7;1)+1)-SUCHEN("[:cntrl:]+";A7;1))
in D2
=RECHTS(A2;LÄNGE(A2)-SUCHEN("[:cntrl:]+";A2;SUCHEN("[:cntrl:]+";A2;1)+1))
und dein Wunsch sollte erfüllt werden.
edit: die 2. Formel ist jetzt korrigiert
Re: Textzeile einer Zelle extrahieren
Verfasst: Fr, 15.10.2010 21:08
von Karolus
Hallo
Zuerst →Suchen und ersetzen:
Suche nach
\n ersetze durch
@
mit der Option [x]regulärer Ausdruck
Dann → Daten → Text in Spalten: Feldtrenner: [x]andere
@
Oder alternativ mit den Formeln
in C1:
in D1:
in E1:
Gruß Karo
Re: Textzeile einer Zelle extrahieren
Verfasst: Fr, 15.10.2010 23:50
von KlammerAuf
Vielen, vielen dank an euch.
Ihr habt mir damit sehr geholfen.
Werds am montag gleich ausprobieren.
Re: Textzeile einer Zelle extrahieren
Verfasst: Sa, 16.10.2010 09:42
von clag
Hallo Karolus,
war klar das du als "FormelMeistah" noch wieder was kürzeres aus dem Hut ziehst
Ich meine mich entsinnen zu können, war hier vor einiger Zeit nicht ein ähnliches Thema angefragt, (finde es leider nicht wieder)
und das Ergebnis wäre die Erkenntnis diese zellinterne Zeilenumbrüche könnten nicht direkt angesprochen werden?
Aber genau das tust du ja hier auf die reguläre Art mit "\n" und "ZEICHEN(10)"
ging es damals nur um das schreiben eines solchen Umbruch und nicht ums lesen?
Würfele ich jetzt etwas durcheinander, oder hat Calc dazugelernt oder wie

Re: Textzeile einer Zelle extrahieren
Verfasst: Sa, 16.10.2010 12:47
von clag
Hallo Paljass,
da wo Kritik bzw der Hinweis auf einen Fehler gerechtfertigt ist muss sie natürlich auch jederzeit möglich sein,
und hier hast du Recht, also Danke für den sachlichen Hinweis auf den Fehler.
Ich hatte einen Denkfehler (Flüchtigkeitsfehler) in der Formel übersehen, und da der Beispiel-Zellinhalt nun aber gerade so passte ist es mir nicht aufgefallen
hier ist die korrigierte Formel (blau), der Unterschied ist deutlich
=RECHTS(LINKS(A7;SUCHEN("[:cntrl:]+";A7;SUCHEN("[:cntrl:]+";A7;1)+1)-1);SUCHEN("[:cntrl:]+";A7;1)+2)
=RECHTS(LINKS(A7;SUCHEN("[:cntrl:]+";A7;SUCHEN("[:cntrl:]+";A7;1)+1)-1);SUCHEN("[:cntrl:]+";A7;SUCHEN("[:cntrl:]+";A7;1)+1)-SUCHEN("[:cntrl:]+";A7;1))
allerdings sieht sie jetzt gegen Karolus Formel ziemlich monströs aus
(vielleicht taugt sie noch zum Angeln als langer Wurm)
gegen Karo formeltechnisch anstinken zu wollen, ist aber auch wirklich nicht einfach
PS
der Fehler ist nur passiert weil ich wie Karo auch mal mit was kurzem angeben wollte

Re: Textzeile einer Zelle extrahieren
Verfasst: Sa, 16.10.2010 13:59
von Karolus
Hallo Clag
clag hat geschrieben:Ich meine mich entsinnen zu können, war hier vor einiger Zeit nicht ein ähnliches Thema angefragt, (finde es leider nicht wieder)
und das Ergebnis wäre die Erkenntnis diese zellinterne Zeilenumbrüche könnten nicht direkt angesprochen werden?
Aber genau das tust du ja hier auf die reguläre Art mit "\n" und "ZEICHEN(10)"
ging es damals nur um das schreiben eines solchen Umbruch und nicht ums lesen?
Würfele ich jetzt etwas durcheinander, oder hat Calc dazugelernt oder wie

Nein, Calc hat nichts dazu gelernt, in dem angesprochenen Thread gings darum in normalem Zelltext ein anders Zeichen durch einen Umbruch innerhalb der Zelle zu verwandeln.
Da Calc-Suchen_und_ersetzen im
ersetzen-Feld weder
\n noch den hexadezimalen Zeichencode
\x000A akzeptiert, muss man da tricksen und den Zell
text in eine entsprechende Zell
formel verwandeln, um im Ersetzen-feld mit ZEICHEN(10) arbeiten zu können.
Gruß Karo
Re: Textzeile einer Zelle extrahieren
Verfasst: So, 17.10.2010 09:45
von clag
Moin Karolus,
Danke für deine zusammenfassende Darstellung zu diesem Thema
einen schönen Sonntag....
Re: Textzeile einer Zelle extrahieren
Verfasst: Mo, 18.10.2010 13:25
von KlammerAuf
So, habs ausprobiert und es funktioniert wunderbar.
Habe mich dabei allerdings an die kurze variante gehalten.

Nachdem ich nun herausgefunden habe was es mit "Zeichen(10)" auf sich hat, verstehe ich die formeln sogar.
Wieder was dazu gelernt - vielen dank nochmals an alle.