Daten aus Zellen trennen
#1
Im Rahmen einer großen Briefaktion muss die Datenquelle / Excel-Datei aufbereitet werden.
Es gibt folgende Unterschiede: Im Adressfeld steht z.B. "Herrn Dr.-Ing. Michael Müller"
In der Anrede oberhalb des Brieftextes soll nur stehen "Sehr geehrter Herr Dr.-Ing. Müller".

Wie muss die Formel aussehen, dass die Angaben von Spalte A in die Spalten B/C+D aufgeteilt werden.
Spalte B = Titel
Spalte C = Vorname
Spalte D = Nachname


.xlsx   Weihnachtsbrief.xlsx (Größe: 10,05 KB / Downloads: 4)

Ich habe es versucht mit =LINKS(A2;FINDEN(" ";A2)-1)
mit diesem Weg bekomme ich den Dr.-Ing. zwar in die gewünschte "Titel"-Spalte.
Wie verfahre ich aber mit Nachnamen und Vornamen?

Vielen Dank und beste Grüße
Christine
Top
#2
Moin Christine, ich denke, dass Excelformeln wieder einmal helfen kann...
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
[-] Folgende(r) 1 Nutzer sagt Danke an GMG-CC für diesen Beitrag:
  • Christine
Top
#3
Danke schön Smile
Diese Auflistung kannte ich (bislang) noch nicht ...

Gruß
Christine
Top
#4
hi Christine,
(02.12.2015, 12:08)Christine schrieb: Im Rahmen einer großen Briefaktion muss die Datenquelle / Excel-Datei aufbereitet werden.
Es gibt folgende Unterschiede: Im Adressfeld steht z.B. "Herrn Dr.-Ing. Michael Müller"
In der Anrede oberhalb des Brieftextes soll nur stehen "Sehr geehrter Herr Dr.-Ing. Müller".

Schau mal hier (nach Excelformeln):

Tabelle1
ABCDEFGH
1Herrn Dr.-Ing. Michael MüllerHerrn Dr.-Ing. Herrn Dr.-Ing. Michael Michael Müller8 Dr.-Ing.Herr Dr.-Ing. Müller

verwendete Formeln
Zelle Formel Bereich N/A
B1=WENN(ODER(ISTFEHLER(FINDEN(" ";A1));CODE(LINKS(A1;1))>96);"";WENN(UND(ISTFEHLER(FINDEN("ob ";A1));ISTFEHLER(FINDEN("von ";A1));ISTFEHLER(FINDEN("zu ";A1))); WENN(UND(CODE(TEIL(A1;FINDEN(" ";A1)+1;1)) < 97;LÄNGE(A1)-LÄNGE(WECHSELN(A1;" ";)) > 1);TEIL(A1;1;FINDEN(" ";A1;FINDEN(" ";A1)+1));TEIL(A1;1;FINDEN(" ";A1)));LINKS(A1; WENN(NICHT(ISTFEHLER(FINDEN("von ";A1)));FINDEN("von ";A1);WENN(NICHT(ISTFEHLER(FINDEN("zu ";A1)));FINDEN("zu ";A1);FINDEN("ob ";A1)))-1)))
C1=LINKS(A1;VERWEIS(999;SUCHEN(" ";GLÄTTEN(A1);SPALTE(1:1)))-SUMME(MMULT((WECHSELN(A1;{"von ";"van ";"und ";"der ";"zu ";"ob "};)<>A1)*{4;4;4;4;3;3};1)))
D1=TEIL(A1;LÄNGE(B1)+1;LÄNGE(A1)-LÄNGE(E1)-LÄNGE(B1))
E1=RECHTS(A1;LÄNGE(A1)-LÄNGE(C1))
F1=LÄNGE(A1)-LÄNGE(E1)-LÄNGE(B1)
G1=TEIL(B1;FINDEN(" ";B1);LÄNGE(B1)-FINDEN(" ";B1))
H1=LINKS(B1;4) & G1 & " " &E1
Excel-Inn.de
Hajo-Excel.de
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 19.08 einschl. 64 Bit

[-] Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:
  • Christine
Top
#5
Mit einer UDF (falls VBA gestattet ist) wie zB Splint  würde es deutlich einfacher gehen, Christine!
Variante 1 (alle 3 Spalte auf einmal mit mehrzelliger Matrixformel über diese Spalten der jeweiligen Zeile):
{=Splint(A1;;2)}
Variante 2 (alle Teile einzeln mit 3 Normalformeln, über die Spalten gezogen):
=Splint($A1;;SPALTE(B1);SPALTE(B1))  für die 1.Spalte
Link zur UDF: http://www.herber.de/forum/archiv/864to868/t865813.html#865877
Gruß, Castor
Top


Gehe zu:


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