Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1628to1632
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zahl Extrahieren

Zahl Extrahieren
14.06.2018 09:35:12
Rudi
Liebe Excelfreunde,
ich würde gerne aus einer Zeichenkette bestimmte Zahlen extrahieren.
AB*RRE*E7300
AB*RRE*E7300*21
CD*MBW*EX99999
CD*MBW*EX99999*2
Die Zahl ist immer von links zwischen dem zweiten und wenn vorhanden dritten * zu finden.
Hier wäre es die Zahl 7300 und 99999. Die Zahl kann zwischen 4 und 7 Stellen haben.
Habe es bereist mit der Formel =RECHTS(LINKS(A1;12);4)*1 versucht, funktioniert aber nur bei den ersten zwei Beispielen.
Danke für eure Hilfe
Gruß vom Bodensee
Rudi

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UDF
14.06.2018 09:47:09
Fennek
Hallo,
dieser kleine VBA-Code wird genutzt wie eine Excel-Funktion:

function iZahl(rng as range) as long
Tx = split(rng.value,"*")(2)
for i = 1 to len(Tx)
if mid(Tx,i,1) like "#" then iZahl = val(mid(Tx,i))
next i
end function
mfg
(ungeprüft)
AW: UDF
14.06.2018 10:14:34
Rudi
Hallo Fennek,
danke für die rasche Antwort, habe die Funktion mit =iZahl(A1) aufgerufen, Excel findet aber die Variable Tx nicht "Variable nicht definiert".
Danke
Gruß Rudi
AW: UDF mit ~
14.06.2018 10:25:24
Fennek
versuche

function iZahl(rng as range) as long
Tx = split(rng.value,"~*")(2)
for i = 1 to len(Tx)
if mid(Tx,i,1) like "#" then iZahl = val(mid(Tx,i))
next i
end function

Anzeige
AW: UDF korrektur
14.06.2018 10:41:31
Daniel
Hi
schau mal, ob in dem Modul, in dem du den Code eingefügt hast, in der obersten Zeile "Option Explicit" steht.
wenn ja, (was sinnvoll ist und du auch nicht ändern solltest), dann müsstest du die verwendeten Variablen noch deklarieren.
Außerdem enthält die Funktion noch einen kleinen Fehler, welcher dazu führt dass du nur die letzte Ziffer ausgegeben bekommst:
Function iZahl(rng As Range) As Long
Dim Tx As String
Dim i As Long
Tx = Split(rng.Value, "*")(2)
For i = 1 To Len(Tx)
If Mid(Tx, i, 1) Like "#" Then
iZahl = Val(Mid(Tx, i))
Exit For
End If
Next i
End Function
Gruß Daniel
Anzeige
per Formel
14.06.2018 10:24:45
WF
Hi,
=VERWEIS(8^88;1*RECHTS(GLÄTTEN(TEIL(WECHSELN(GLÄTTEN(A1);"*";WIEDERHOLEN(" ";199));3*199-198;199)); SPALTE(A1:Z1)))
WF
AW: per Formel
14.06.2018 10:42:47
Rudi
Hallo WF,
hat ebenfalls funktioniert
Danke für deine Antwort
Gruß Rudi
AW: Zahl Extrahieren
14.06.2018 10:29:02
Daniel
Hi
den Teil zwischen dem 2. und 3. "*" kannst du mit dieser Formel herauslösen (Formel für B1):
=TEIL(LINKS(A1;FINDEN("|";WECHSELN(A1&"*";"*";"|";3))-1);FINDEN("|";WECHSELN(A1;"*";"|";2))+1;99)
wenn man dann davon ausgeht dass die Zahl immer rechts steht und 4-7 stellen haben kann, kannst du dann mit dieser Formel daraus die Zahl extrahieren:
=AGGREGAT(14;6;--RECHTS(B1;ZEILE($Z$4:$Z$7));1)
du kannst natürlich auch beide Formeln zu einer Formelzusammenfassen:
=AGGREGAT(14;6;--RECHTS(TEIL(LINKS(A1;FINDEN("|";WECHSELN(A1&"*";"*";"|";3))-1);FINDEN("|";WECHSELN(A1;"*";"|";2))+1;99);ZEILE($Z$4:$Z$7));1)
Gruß Daniel
Anzeige
AW: Zahl Extrahieren
14.06.2018 10:35:40
Rudi
Hallo Daniel,
danke für eine Hilfe, hat wunderbar funktioniert
Gruß Rudi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige