Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Position der ersten Zahl innerhalb eines Strings finden

1,005 views
Skip to first unread message

Daniel Hofer

unread,
Nov 15, 2008, 7:18:02 AM11/15/08
to
Hallo Leute

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


Robert Stark

unread,
Nov 15, 2008, 9:53:59 AM11/15/08
to

"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

Thomas Ramel

unread,
Nov 15, 2008, 12:12:33 PM11/15/08
to
Grüezi Daniel

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

Bernd P

unread,
Nov 15, 2008, 1:41:23 PM11/15/08
to
Hallo Daniel,

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

Daniel Hofer

unread,
Nov 16, 2008, 12:50:26 PM11/16/08
to
Hallo Thomas, hallo Bernd, hallo Robert

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

0 new messages