Textzeile einer Zelle extrahieren

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

KlammerAuf
Beiträge: 3
Registriert: Fr, 15.10.2010 18:50

Textzeile einer Zelle extrahieren

Beitrag 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.
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Textzeile einer Zelle extrahieren

Beitrag 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
Zuletzt geändert von clag am So, 17.10.2010 17:35, insgesamt 1-mal geändert.
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: Textzeile einer Zelle extrahieren

Beitrag 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:

Code: Alles auswählen

=LINKS(A1;FINDEN(ZEICHEN(10);A1)-1)
in D1:

Code: Alles auswählen

=TEIL(A1;LÄNGE(C1)+2;LÄNGE(A1)-LÄNGE(C1)-LÄNGE(E1)-2)
in E1:

Code: Alles auswählen

=TEIL(A1;FINDEN(ZEICHEN(10);A1;LÄNGE(C1)+2)+1;99)
Gruß Karo
LO25.2… debian 13( trixie ) auf Raspberry5 8GB (ARM64)
LO25.8… flatpak debian 13( trixie ) auf Raspberry5 8GB (ARM64)
KlammerAuf
Beiträge: 3
Registriert: Fr, 15.10.2010 18:50

Re: Textzeile einer Zelle extrahieren

Beitrag von KlammerAuf »

Vielen, vielen dank an euch.
Ihr habt mir damit sehr geholfen.
Werds am montag gleich ausprobieren.
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Textzeile einer Zelle extrahieren

Beitrag von clag »

Hallo Karolus,

war klar das du als "FormelMeistah" noch wieder was kürzeres aus dem Hut ziehst :lol:

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 :?:
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Textzeile einer Zelle extrahieren

Beitrag 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 :oops:

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) :lol:

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 :lol: :lol:
Zuletzt geändert von clag am So, 17.10.2010 17:35, insgesamt 1-mal geändert.
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: Textzeile einer Zelle extrahieren

Beitrag 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 Zelltext in eine entsprechende Zellformel verwandeln, um im Ersetzen-feld mit ZEICHEN(10) arbeiten zu können.

Gruß Karo
LO25.2… debian 13( trixie ) auf Raspberry5 8GB (ARM64)
LO25.8… flatpak debian 13( trixie ) auf Raspberry5 8GB (ARM64)
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Textzeile einer Zelle extrahieren

Beitrag von clag »

Moin Karolus,

Danke für deine zusammenfassende Darstellung zu diesem Thema :)
einen schönen Sonntag....
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
KlammerAuf
Beiträge: 3
Registriert: Fr, 15.10.2010 18:50

Re: Textzeile einer Zelle extrahieren

Beitrag 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.
Antworten