ich habe da ein kleines Problem mit Stringfunktionen in Excel (nicht VBA, da
wärs einfach;-)
Ich habe in einer Zelle als Beispiel folgendes drin:
CH40Za
habe ich irgendwie die Möglichkeit, herauszufinden, an welcher Position die
erste Zahl auftritt?
Mit SUCHEN muss ich ja fix ein Charakter angeben, ich kann da nicht sagen:
such mir einfach die erste auftretende Zahl.
Mhm, hatte ne Idee, mittels Array wie {"1";"2"} etc. was zu machen, aber das
klappt irgendwie auch nicht.
hat da wer eine Idee?
Herzlichen Dank!
Gruss, Daniel
"Daniel Hofer" <da...@fastmail.net> schrieb im Newsbeitrag
news:6o7svsF...@mid.individual.net...
> Hallo Leute
>
> ich habe da ein kleines Problem mit Stringfunktionen in Excel (nicht VBA,
> da wärs einfach;-)
warum nicht über VBA? Ich denke das wäre auf jeden Fall übersichtlicher!
> Ich habe in einer Zelle als Beispiel folgendes drin:
> CH40Za
>
> habe ich irgendwie die Möglichkeit, herauszufinden, an welcher Position
> die erste Zahl auftritt?
> Mit SUCHEN muss ich ja fix ein Charakter angeben, ich kann da nicht sagen:
> such mir einfach die erste auftretende Zahl.
>
> Mhm, hatte ne Idee, mittels Array wie {"1";"2"} etc. was zu machen, aber
> das klappt irgendwie auch nicht.
[...]
ich hab für dich zwar nicht die Lösung (die du gesucht hast) aber mit
folgenden VBA Code kannst du das problemlos machen.
Public Function GetPositionOfFirstNumber(v As Variant) As Integer
Dim pos As Integer
GetPositionOfFirstNumber = -1
For pos = 1 To Len(v)
If IsNumeric(Mid(v, pos, 1)) Then
GetPositionOfFirstNumber = pos
Exit For
End If
Next pos
End Function
Die Funktion brauchst du nur über ALT-F11 als Makro in deine Excel
Arbeitsmappe kopieren und über folgende Excel Formel
= GetPositionOfFirstNumber(A1)
in deiner Excel Arbeitsmappe verwenden. Hoffe dir damit geholfen zu haben.
--
Gruß aus Franken
Robert Stark
http://www.flowheater.de -> Der Import/Export Spezialist
Daniel Hofer schrieb am 15.11.2008
> Ich habe in einer Zelle als Beispiel folgendes drin:
> CH40Za
>
> habe ich irgendwie die Möglichkeit, herauszufinden, an welcher Position die
> erste Zahl auftritt?
Der folgende Link zeigt wie Du den Wert selbst extrahiern kannst:
http://www.excelformeln.de/formeln.html?welcher=102
Mit freundlichen Grüssen
Thomas Ramel
--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2003 SP-3]
Microsoft Excel - Die ExpertenTipps
Gib als Matrixformel ein (also mit STRG + SHIFT + ENTER eingeben,
nicht nur mit ENTER):
=VERGLEICH(WAHR;ABS(52,5-ZEICHEN(TEIL(A1;ZEILE(INDIREKT("1:"&LAENGE
(A1)));1)))<5;0)
[LAENGE mit Umlaut schreiben]
Diese deutsche Excelformel konnte ich nicht testen, weil ich im Moment
an einer englischen Version sitze.
Hier die getestete englische Formel:
=MATCH(TRUE,ABS(52.5-CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)))<5,0)
Viele Gruesse,
Bernd
vielen Dank für die Info!
Werde mal schauen, welche Version ich einsetze. Vermutlich doch VBA, da
mir das einiges verständlicher ist als Matrix-Funktionen;-)
Gruss, Daniel