Calc: Formel gesucht

Hallo,

ich will aus einer Textzelle, die einen Vornamen enthält, den letzten
Buchstaben des ersten Namens (bei Doppelnamen) extrahieren. Mehrere
Vornamen können durch Bindestrich oder Leerzeichen getrennt sein, evtl.
könnte auch ein Fehler drin sein, sodass mehrere Leerzeichen
hintereinander stehen.

Wie geht das am elegantesten?

Danke,
Micha

Micha Kuehn schrieb:

Wie geht das am elegantesten?

Per PM erhielt ich die Nachricht, das ginge nicht ohne Handarbeit. Darum
habe ich jetzt nochmal selbst getestet und das entwickelt:

=RECHTS(LINKS(GLÄTTEN(A2);SUCHEN(" ";VERKETTEN(GLÄTTEN(WECHSELN(A2;"-";"
"));" "))-1))
Der ursprüngliche Vorname steht natürlich in A2 drin.

Es geht also, ist nur nicht mehr wirklich gut lesbar.

Falls es noch eleganter geht, wäre ich interessiert.

Micha

Hallo Micha, versuchs mal mit

=WENNFEHLER(TEIL(GLÄTTEN(A2);SUCHEN(" ";WECHSELN(GLÄTTEN(A2);"-";" ";1);2)-1;1);"")

Bernd

Vor allem anderen sollte immer erst mal überprüft werden, ob in der Zelle
überhaupt ein Text steht. Wenn nicht aka die Zelle leer ist, wird abgebrochen.

Anschließend musst du ein wenig basteln. Temporär ersetzt du zuerst alle ggf.
Bindestriche durch Leerzeichen. Falls es noch weitere Separatoren außer
dem Bindestrich geben sollte, müsstest du für jedes einzelne eine weitere
WECHSELN-Funktion ineinander verschachteln.

Anschließend soltle unbedingt an diesen temporären String sicherheitshalber
noch ein Leerzeichen angehängt. Denn falls nur ein einziger Name in dem Feld
stehen sollte, würde sonst u. U. gar kein Leerzeichen gefunden werden
können aka ein Fehler ausgelöst werden.

Im nächsten Schritt suchst du nun die Position des ersten vorkommenden
Leerzeichens in diesem temporären String.

Und abschließend extrahierst du schließlich(jetzt wieder aus dem Original)
den gewünschten Text in Relation zu der gefundenen Position. Da du nur ein
einziges Zeichen vor dieser suchst, ist das eben ab 'Position-1', mit Länge=1.

Wolfgang

Wolfgang Jäth schrieb:

> =WENN(A2="";"";TEIL(A2;SUCHEN(" ";WECHSELN(A2;"-";" ")&" ")-1;1))

Danke für die ausführliche Erklärung!
Aber für den Fall, dass der Text mit einem Leerzeichen beginnt, hatte
ich noch das GLÄTTEN(...) eingebaut.

Micha

Hallo Micha,

ich bin davon ausgegangen, dass Du nur die Endbuchstaben in Doppelnamen suchst. Das Einfügen eines Leerzeichens, wie in Wolfgangs Formel bringt auch die anderen. Ich habe die Erfahrung gemacht, dass durch
"GLÄTTEN" nicht alle vor dem eigentlichen Text vorhandenen Leerzeichen verschwinden (ein versehentlich gesetzter führender Punkt z.B. kann das schon bewirken). Deshalb habe ich erst an der Position 2 mit der Suche begonnen. Die Fehlerbehandlung kann bei entsprechender Modifizierung Hinweise auf fehlende Vornamen einblenden.

Bernd