Excel - Trennung von Text?
Hallo an alle Programmierfüchse! Ich habe folgendes Problem und stehe auch nach einigen Versuchen etwas auf dem Schlauch ...
Ich habe eine Datenbank für Serienbriefe und dort eine Spalte mit Nachnamen, in die unter bestimmten Konstellationen (Eheleute) dann ein Sammelsurium an Vornamen und Namen reinläuft. Klar kann ich von Hand die Vornamen rausschneiden und nach "Vornamen" einfügen, aber bei 6000 Datensätzen dauert das. Ich habe schon ein wenig rumprobiert und folgende Zwischenlösung gefunden:
Beispiel: in Spalte A steht die Anrede, in Spalte B steht der Vorname, in Spalte C der Nachname, z.B. in Zeile 1 "Manfred und Kathatina Muster" oder in Zeile 2 "Richard und Dr. Magdalena Wieauchimmer".
Ich habe in Spalte D eine Formel erstellt: =rechts(C1;6) --> das liefert mir Muster, aber im Falle von Zeile 2 nur "himmer", weil es eben nicht nur 6 Zeichen sind. Was ich also brauche ist eine dynamische Lösung, die mir alles abgreift bis zum ersten Leerzeichen von rechts. Ich habe versucht, die Formel mit "Finden" zu erweitern, aber das hat nicht geklappt, vermutlich habe ich es nicht kapiert.
Im Endeffekt brauche ich eine Möglichkeit, mit der ich diese "zusammengewürfelte" Zelle in Name und Vorname wieder trennen kann.
Vielleicht kann mir ja wer einen heißen Tipp geben. Danke geht raus an alle Antworter. :-)
1 Antwort
Mhm..das ist schwierig. Vor allem, weil du nie gleiche Voraussetzungen hast. Es gibt natürlich das Leerzeichen als Trenner - grundsätzlich könnte man dessen Position mit Finden() suchen und diese Stelle in Links() oder Rechts() oder Teil() einsetzen um sich den Textteil anzeigen zu lassen.
Gäbe es nur "Vorname Nachname", wäre das mit (Vor- und Nachname in C1):
- =LINKS(C1;FINDEN(" ";C1))
- =RECHTS(C1;FINDEN(" ";C1)+2)
möglich. ABER...du hast mehrere Leerzeichen in deinen Namen und die Anzahl auch noch uneinheitlich...da ist diese Lösung nicht möglich. Bei dieser Uneinheitlichkeit versagt jede Formel.
Ohne Handarbeit wird das schwierig. Was du machen kannst...kopier die Spalte mit den Namen nach Word rüber. Speichere das Dokument über Datei-Speichern Unter als txt-Datei ab (im Fenster nach dem Dateidialog "Andere Codierung"-UTF16 wählen...). Neue Datei in Excel anlegen und über "Datei-Importieren" die Text-Datei auswählen. Excel startet dann automatisch die Textkonvertierung. Du wählst wieder UTF16 als Dateiursprung aus. Nach "Weiter" wählst du "Leerzeichen" als Trennzeichen aus. In der Vorschau müsstest du dann schon sehen, dass jeder Namensbestandteil in einer eigenen Zelle landet.
Einfügen als "Neues Blatt". Ergebnis:
Jetzt musst du schauen, welche Muster sich ergeben, könntest bpsw. die Spalte C zur Filterung benutzten und diese Zeilen manuell nacharbeiten.
![- (Microsoft Excel, Office)](https://images.gutefrage.net/media/fragen-antworten/bilder/407263015/0_big.png?v=1624722963000)
![- (Microsoft Excel, Office)](https://images.gutefrage.net/media/fragen-antworten/bilder/407263015/1_big.png?v=1624722963000)
Okay, ich schaue mir Deine Lösung mal an. So ungefähr hatte meine Excelformel (=rechts... ) übrigens auch ausgesehen, dann war ich doch nicht zu doof. Das andere mit Word teste ich mal aus. Vielen Dank auf jeden Fall für Deine Antwort und Mühe. Gruss Don