Excel: Wie kann ich eine Zahl vor einem bestimmten Buchstaben auslesen?

2 Antworten

Wenn es nicht immer das "x" ist hier mal ne VBA Variante:

Bild zum Beitrag

Public Function fncGetNumber(ByVal myStr As String) As Long
Dim NummerKomplett As String
Dim i As Integer
Dim NummerProgress As Integer
NummerKomplett = ""
NummerProgress = 0 '0 Nichts passiert bislang
For i = 1 To Strings.Len(myStr)
    If IsNumeric(Strings.Mid(myStr, i, 1)) Then
        NummerKomplett = NummerKomplett & Strings.Mid(myStr, i, 1)
        NummerProgress = 1 'Eine erste Ziffer wurde entdeckt
    Else
        If NummerProgress = 1 Then
            NummerProgess = 5 'Nun wurde wieder ein Buchstabe gefunden
        End If
    End If
    If NummerProgress = 5 Then
        Exit For
    End If
Next i
fncGetNumber = Conversion.CLng(NummerKomplett)
End Function
 - (Microsoft Excel, Excel-Formel)

steht vor der "Zahl" noch etwas (wie zum Beispiel abc100x) oder beginnt die Zelle mit der Zahl?

Im letzteren Fall:

=WERT(LINKS(A1;FINDEN("x";A1)-1))

mdkfrage 
Fragesteller
 10.04.2020, 19:14

Hallo und Danke für die schnelle Antwort....

Es steht leider immer etwas vor der Zahl, die Zelle beginnt immer mit unterschiedlichen Texten und Leerzeichen. Länge ebenso unterschiedlich....

1
gfntom  10.04.2020, 19:16
@mdkfrage

ist es wenigstens die erste Zahl in der Zelle, oder könnte es auch so aussehen:

asdbc123fgh100xsdfsfs

?

1
mdkfrage 
Fragesteller
 10.04.2020, 19:21
@gfntom

Also zu 99% dürfte es die erste Zahl sein.....

Am besten wäre aber eine universelle Funktion, die generell die Zahl vor dem Buchstaben "x" auswirft....

1
gfntom  10.04.2020, 19:26
@mdkfrage

Das dachte ich mir schon.

Zur dieser Zahl: Ist es eine Ganzzahl? gibt es eine maximale Anzahl von Stellen? Kann sie mit "0" beginnen?

0
mdkfrage 
Fragesteller
 10.04.2020, 19:29
@gfntom

Die Konstellation ist immer "Leerzeichen" "Zahl"x,

Zahl ist immer 2-3 stellig, Beispiele:

ljkahf 100x80g lkjssad

gshdghd kjaska 80x100g klsajdlks

0
gfntom  10.04.2020, 19:37
@mdkfrage

Das sollte funktionieren:

=WERT(TEIL(A1;FINDEN("x";A1)-3;3))

(hier wird angenommen, dass dein Text in A1 steht)

1
mdkfrage 
Fragesteller
 10.04.2020, 19:43
@gfntom

Das funktioniert für die Beispiele schon mal perfekt, super!

Die große Original Tabelle muss ich dann Dienstag in der Firma testen....

Vielen Dank und schöne Ostern!

1