Excel komplexe Formel?
Hallo,
Ich versuche gerade aus 2 verschiedenen Zellen angenommen D8 und E8 nur bestimmte Teile auszugeben. Bei D8 sind nur die ersten 2 oder 3 Zeichen relevant danach kommt ein Bindestrich (dieser müsste auch noch dabei sein). Bei E8 gibt es 5 verschiedene Teile die jeweils mit einem Slash getrennt sind. Hier müsste ich den Teil nach dem zweiten Slash ausgeben (inklusive dem Slash danach) und den 5ten Teil (also letzten). Mein Problem ist, dass alles unterschiedlich lang sein kann. Kann mir irgendjemand mit der Formel oder Ideen für die Formel weiterhelfen?
Mach doch mal ein Beispiel. :-)
bsp
D6: AE-548/785/4185/13
E6: 754815/8/5555/458/HE-45
bsp
D7: AAE-485/47/4821/15
E7: 6842/15/6666/45/HG-4
ausgabe nur aus D6/7 das AE- bzw AAE- und aus E6/7 das 5555/HE-45 bzw 6666/HG-4
3 Antworten
Der erste Fall funktioniert per Formel, da der Bindestrich mit seiner Position ermittelt werden kann mit FINDEN()
hat man die Position gefunden dann mit LINKS(D6; FINDEN(...))
ggf FINDEN()+1 weil ja der Bindestrich erhalten bleiben soll.
Der zweite Fall ist mit Formel ne Katastrophe.
Hier empfehle ich VBA, wo dies einfach erledigt wird.
Ich hab die Formel mal mit der LET-Funktion in mehrere Zeilen aufgeteilt, damit es etwas übersichtlicher ist
=LET(
DWert; LINKS(D6; FINDEN("-";D6));
EWerte; TEXTTEILEN(E6; "/");
TEXTKETTE(DWert; INDEX(EWerte; 3); "/"; INDEX(EWerte; 5))
)
Also zuerst wird die Variable "DWert" erstellt (da du nicht gesagt hast, was das für Werte sind, ist mir kein besserer Name eingefallen), in die die ersten Zeichen aus D6 bis zum "-" geladen werden.
Dann wird die Variable EWerte erstellt, wo die Werte aus E6 bei jedem "/" getrennt werden (also es wird quasi eine Liste von fünf Werten erstellt)
Mit der Funktion TEXTKETTE wird dann das Ergebnis zusammengesetzt. Erst DWert, dann der dritte Wert aus EWerte, dann ein "/" und dann noch der fünfte Wert aus EWerte.
z.B. so, wenn ich Dich richtig verstanden habe+
Zunächst die Zahlenreihe - Daten - Text in Spalten - getrennt - / auswählen