Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Bestimmte Zeichenfolge finden
#1
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!
Antworten Top
#2
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);"")
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
[-] Folgende(r) 1 Nutzer sagt Danke an LCohen für diesen Beitrag:
  • Dummy
Antworten Top
#3
Hi,

für so was würde ich VBA mit RegEx verwenden.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#4
(07.06.2023, 15: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, 15:35)HKindler schrieb: Hi,

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

wenn ich es könnte, ich wahrscheinlich auch Wink
Antworten Top
#5
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.
Antworten Top
#6
(07.06.2023, 16: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
Antworten Top
#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}"
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
[-] Folgende(r) 3 Nutzer sagen Danke an HKindler für diesen Beitrag:
  • Dummy, d'r Bastler, el-rettev
Antworten Top
#8
"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.
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Antworten Top
#9
Hallo,

vielleicht auch so:

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

Gruß Uwe
Antworten Top
#10
Hallo Kuwer, das versagt im 8. Bsp. bei 107_... statt 103_...
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Antworten Top


Gehe zu:


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