Clever-Excel-Forum

Normale Version: Formel mit "TEIL" wenn Ursprung variabel
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,
da es meiner erster Post (gleich mit einer Frage) ist - eine kurze Vorstellung. Meine Name ist Daniel und ich habe ein kleines Unternehmen wo viel mit Excel gearbeitet wird.
Bisher bin ich mit meinem normalen Anwenderwissen mit SVERWEIS und Co.  ganz gut durchgekommen, jetzt habe ich aber etwas wo ich schon Stunden rumeier und nicht weiterkomme. Ich bitte höflichst um Hilfe bei diesem Problem:
In einer Zelle habe ich Artikelnummer die wie folgt aufgebaut sind

123.456478.9.123 allerdings sind die Anzahl der Zahlen in den Blöcken unterschiedlich und kann z.B. auch so aussehen
12.345.234.1 oder
1234.56.1.1

Die einzige Konstante sind die Punkte. Ziel sollte es sein, dass ich die Zahlen zwischen dem ersten Punkt und dem zweiten Punkt in einer neuen Zelle als Ergebnis bekomme. Habe jetzt alles probiert mit TEIL, LINKS, RECHTS.....aber ich kriege es nicht hin.

Könnt ihr mir helfen.

DANKE und einen guten Rutsch!

Daniel
https://www.herber.de/excelformeln/pages...eilen.html
Hallo Daniel
schau mal auf der Seite vom Link ganz unten
Formel angepasst für Artikelnummer in A1
=GLÄTTEN(TEIL(WECHSELN($A1;".";WIEDERHOLEN(" ";999));2*999-998;999))

2 = 2ter Block

guten Rutsch und bleibt gesund
Holger
Moin

Blitzvorschau geht auch.
Lieber Holger,

ich verstehe (noch) keine Sekunde davon - aber es funktioniert!! Danke und Du bist der Größte. Ich schulde Dir ein Bier! Whow.

Werde die Zeit jetzt mal nutzen um mir den Ausdruck selbst zu erklären....man will ja besser werden.

Wünsche allen einen guten Rutsch und nochmal danke!

LG
Daniel
=GLÄTTEN(TEIL(WECHSELN($A1;",";WIEDERHOLEN(" ";999));SPALTE(A1)*999-998;999))
Hallo
die Formel von lupo1 ist schon genial.

Zuerst werden durch WECHSELN alle Trennzeichen jeweils  durch 999 Leerzeichen ersetzt. >> WIEDERHOLEN(" ";999)
Angenommen der Erste Block hat nur ein Zeichen, so beginnt der zweite Block frühestens ab dem Zeichen 1000 DITO der dritte Block ab 2000 usw.
haben die Blöcke mehr wie ein Zeichen liegen die gesuchten Zeichen irgendwo eingebettet zwischen Leerzeichen aber trotzdem im gleichen Block.

Mit Teil() hohl sich die Formel jetzt jeweils nacheinander die Blöcke immer 999 Zeichen lang.
Die Leerzeichen davor und dahinter sind egal weil sie als letzten Schritt von Glätten wieder gelöscht werden.

Gruß Holger
Hallo,

Alternative, falls LET und dynamische Arrays in Excel verfügbar sind. Werte in A1:A3.

Code:
=LET(X;FINDEN(".";A1:A3);Y;FINDEN(".";A1:A3;X+1);TEIL(A1:A3;X+1;Y-X-1))

Gruß