Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
880to884
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
880to884
880to884
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dezimalwert aus Text lösen

Dezimalwert aus Text lösen
28.06.2007 07:49:00
Mario
Hallo,
ich habe eine Tabelle mit 12.000 Zeilen. In der Spalte AD befinden sich verschiedene Texte.
Einer dieser Texte fängt immer mit DA gefolgt von einer Dezimalzahl an: z.B. DA1,5 oder DA21,5
hinter Dezimalwert können weitere Buchstaben folgen.
Die Dezimalwerte können bis zu 3 Stellen vor dem Komma haben, hinter dem Komma steht immer ,5 oder ,0
oder kein Komma.
Wie kann ich aus diesen Texten die mit DA anfangen die Deziamlzahlen herauslösen und z.B. in eine andere Spalte schreiben?
Habe jetzt schon mit Mid und einer Do While-Schleife herumprobiert, aber irgendwie bekomme ich das nicht hin.
Viele Grüße
Mario

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dezimalwert aus Text lösen
28.06.2007 08:07:00
MrJola
Hallo Mario,
versuche doch mal folgende Formel:
{=TEIL(AD1;VERGLEICH(WAHR;ISTZAHL(TEIL(AD1;SPALTE(1:1);1)*1);0);LÄNGE(AD1))*1}
Geschweifte Klammer durch Strg+Shift+Enter
Bei mir im Bsp. scheint es zu klappen.
Gruß
Jörg

AW: Dezimalwert aus Text lösen
28.06.2007 08:24:00
Mario
Hi Jörg,
solange ich nur BA gefolgt von einer Zahl habe funktioniert es. Es sind jedoch noch weitere Buchstaben hinter dem Dezimalwert im Text vorhanden und dann kommt leider der Fehler #Wert.
Ansonsten eine tolle Formel. Vielen vielen Dank für Deine Mühe.
Grüße
Mario

AW: Dezimalwert aus Text lösen
28.06.2007 08:07:38
Heiko
Hallo Mario,
hier mal eine Funktion von mir, die aus einem Text die 1. Zahl herauslöst.
Wenn es nur bei Zellen mit DA am Anfang gehen soll muss du die Function ein wenig anpassen.
Ansonsten die Function in ein allgemeines Modul und dann wie normale EXCEL Funktionen im Tabellenblatt aufrufen.

Public Function GibZahlHer(rngText As Range) As Variant
' Die Function GibZahlHer gibt die erste in der übergebene Zeichenfolge enthaltene Zahl zurück.
' rngText = Die Zelle in der der Text mit der Zahl steht
' Aufruf z.B. so:
' =GibZahlHer(A1)  Gib 8,15 zurück wenn A1 = "ksj 08,15hka"
' =GibZahlHer(A1)  Gib FALSE bzw Falsch zurück wenn A1 "ksj kagg   d"
' =GibZahlHer(A1)  Gib 1234 zurück wenn A1 =  "ksj 1234kagg  w32552 d"
Dim lngI As Long
Dim strText As String
If rngText.Count > 1 Then
MsgBox "Bitte immer nur eine Zelle übergeben! ", vbCritical
Exit Function
End If
strText = rngText.Value
' Da Val nur den Punkt als Dezimaltrennzeichen erkennt, mal schnell alle Kommas im Text gegen
' Punkte austauschen damit auch Zahlen mit Kommas als Dezimaltrennzeichen erkannt werden.
strText = Replace(strText, ",", ".")
For lngI = 1 To Len(strText)
If IsNumeric(Mid(strText, lngI, 1)) Then
' Wenn Zahlen gefunden wurden, dann diese Zahl zurückgeben
GibZahlHer = Val(Right(strText, Len(strText) - lngI + 1))
Exit Function
End If
Next lngI
' Wenn keine Zahl im Text enthalten ist dann FALSE zurückgeben.
GibZahlHer = False
End Function


Gruß Heiko
PS: Rückmeldung wäre nett !

Anzeige
AW: Dezimalwert aus Text lösen
28.06.2007 08:33:00
Mario
Hallo Heiko,
genial! Die Funktion hat auf anhieb funktioniert. Ich werde jetzt die Anpassung vornehmen, das sollte eigentlich kein Problem sein. Ganz herzlichen Dank für den Code, ich bin begeistert.
Viele Grüße / Mario

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige