Clever-Excel-Forum

Normale Version: Bestimmte Zeichenfolge finden
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo in die Runde,

ich habe eine Liste mit mehreren tausend Einträgen. In einer Spalte befindet sich eine bestimmte Zeichenfolge "4 Ziffern | Unterstrich bzw. Minus | 5 Ziffern"  an einer beliebigen Stelle. Mit welcher Formel kann man diesen Teil extrahieren?

Hier einige Beispiele:
  • ZV7450-52223                    -> 7450-52223
  • ZV7297-9771401119056      -> 7297-97714
  • Text                                   -> ""
  • Z7104_09351                      -> 7104_09351
  • 7104_09351                        -> 7104_09351
  • I02DEF7456_54497(Text)     -> 7456_54497
  • I02ABC1659_7101_01796    -> 7101_01796
  • 103_7453_51381                -> 7453_51381
  • 2036_7453_12235              -> 7453_12235

Vielen Dank für Eure Hilfe!
B1: =WENNFEHLER(TEIL(A1;MIN(WENN(WENNFEHLER(TEIL(A1;ZEILE($1:$99);4)*ISTFEHLER(--TEIL(A1;ZEILE($1:$99)+4;1))*TEIL(A1;ZEILE($1:$99)+5;5););ZEILE($1:$99)));10);"")
Hi,

für so was würde ich VBA mit RegEx verwenden.
(07.06.2023, 14:24)LCohen schrieb: [ -> ]B1: =WENNFEHLER(TEIL(A1;MIN(WENN(WENNFEHLER(TEIL(A1;ZEILE($1:$99);4)*ISTFEHLER(--TEIL(A1;ZEILE($1:$99)+4;1))*TEIL(A1;ZEILE($1:$99)+5;5););ZEILE($1:$99)));10);"")

Funktioniert Smile  Kann auch noch eingebaut werden, dass die erste Ziffer immer eine 7 sein muss?

(07.06.2023, 14:35)HKindler schrieb: [ -> ]Hi,

für so was würde ich VBA mit RegEx verwenden.

wenn ich es könnte, ich wahrscheinlich auch Wink
Hallo,

kannst du denn die Ziffern genauer definieren?
Fängt die erste 4-Ziffernfolge immer mit einer sieben an?

btw:
hat jemand in seiner Formelsammlung eine Funktion um nur Zahlen aus einer Zeichenkette zu extrahieren.
Im Buch "Excel-Das Zauberbuch" von Ignatz Schels hatte ich mal eine Funktion gelesen, die mit einer Potenz-Funktion kombiniert wurde.
Dabei war es dann egal wie die Zeichenreihenfolge war, es wurden immer nur die Zahlen extrahiert.
(07.06.2023, 15:00)el-rettev schrieb: [ -> ]Hallo,

kannst du denn die Ziffern genauer definieren?
Fängt die erste 4-Ziffernfolge immer mit einer sieben an?

btw:
hat jemand in seiner Formelsammlung eine Funktion um nur Zahlen aus einer Zeichenkette zu extrahieren.
Im Buch "Excel-Das Zauberbuch" von Ignatz Schels hatte ich mal eine Funktion gelesen, die mit einer Potenz-Funktion kombiniert wurde.
Dabei war es dann egal wie die Zeichenreihenfolge war, es wurden immer nur die Zahlen extrahiert.

ja die erste Ziffer ist immer eine 7
Hi,

will mal nicht so sein...
Code:
Function RegenEchse(Eingabe As String, Muster As String) As String
With CreateObject("VBScript.RegExp")
    .Pattern = Muster
    If .Test(Eingabe) Then
        RegenEchse = .Execute(Eingabe)(0)
    End If
End With
End Function
Dies kommt in ein allgemeines Modul.

Aufruf im Blatt:
=RegenEchse(A1;"\d{4}[-_]\d{5}")

Das Muster bedeutet:
4 Ziffern, dann - oder _ und 5 Ziffern
\d = Ziffer
{x} x-mal
[-_] irgendeines der Zeichen zwischen [] - ein Minus muss als erstes stehen, da es sonst bei z.B. [a-z] von a bis z heißt.

PS: wenn die erste Ziffer eine 7 sein soll, dann ist das Muster "7\d{3}[-_]\d{5}"
"Das Zauberbuch" ist von WF, JF, {B}. Bei Scheels habe ich "Kompendium ..." gefunden.

Statt  TEIL(A1;ZEILE($1:$99);4) könnte man (KÜRZEN(TEIL(A1;ZEILE($1:$99);4)/1000)=7) oder so.
Hallo,

vielleicht auch so:

=WENNFEHLER(TEIL(A1;SUCHEN("7?????????";A1);10);"")

Gruß Uwe
Hallo Kuwer, das versagt im 8. Bsp. bei 107_... statt 103_...
Seiten: 1 2