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

Erkennung von Ziffern

Erkennung von Ziffern
Ziffern
Hallo, möchte Rausfinden an welcher Stelle in einer Zelle (Zahlen und Buchstaben) die erste Ziffer sich befindet?
Wer kann mit helfen. Danke. Carmen

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Erste Ziffer in einem Text finden
Boris
Hi Carmen,
eine Möglichkeit:
Tabelle1
 ABC
1Text mit Ziffernerste Zifferan x. Stelle
2Hier ist die 1 die erste und einzige Ziffer114
3Klaus wohnt im Feldweg 37 in 20244 Hamburg324
4Keine Ziffer vorhanden#WERT!0
Formeln der Tabelle
B2 : {=TEIL(A2;MIN(WENN(ISTZAHL(TEIL(A2;SPALTE($1:$1);1)*1);SPALTE($1:$1)));1)*1}
C2 : {=MIN(WENN(ISTZAHL(TEIL(A2;SPALTE($1:$1);1)*1);SPALTE($1:$1)))}
B3 : {=TEIL(A3;MIN(WENN(ISTZAHL(TEIL(A3;SPALTE($1:$1);1)*1);SPALTE($1:$1)));1)*1}
C3 : {=MIN(WENN(ISTZAHL(TEIL(A3;SPALTE($1:$1);1)*1);SPALTE($1:$1)))}
B4 : {=TEIL(A4;MIN(WENN(ISTZAHL(TEIL(A4;SPALTE($1:$1);1)*1);SPALTE($1:$1)));1)*1}
C4 : {=MIN(WENN(ISTZAHL(TEIL(A4;SPALTE($1:$1);1)*1);SPALTE($1:$1)))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Grüße Boris
Anzeige
AW: Erste Ziffer in Text - Formellösung die 2.
FP
Hi Boris,
wie gefällt Dir denn das?
Tabelle1
 ABC
1 Ziffer # 1an Position
2Hier ist die 94 die erste Ziffer914
3Wenn 12 Affen gaffen...16
4Wenn sich 2 1 werden, können es bald 3 werden211
5Keine Ziffern vorhanden#NV#NV
Formeln der Tabelle
B2 : {=TEIL(A2;VERGLEICH(1;WENN(TEIL(A2;SPALTE(1:1);1)+1;1);0);1)+0}
C2 : {=VERGLEICH(1;WENN(TEIL(A2;SPALTE(1:1);1)+1;1);0)}
B3 : {=TEIL(A3;VERGLEICH(1;WENN(TEIL(A3;SPALTE(2:2);1)+1;1);0);1)+0}
C3 : {=VERGLEICH(1;WENN(TEIL(A3;SPALTE(2:2);1)+1;1);0)}
B4 : {=TEIL(A4;VERGLEICH(1;WENN(TEIL(A4;SPALTE(3:3);1)+1;1);0);1)+0}
C4 : {=VERGLEICH(1;WENN(TEIL(A4;SPALTE(3:3);1)+1;1);0)}
B5 : {=TEIL(A5;VERGLEICH(1;WENN(TEIL(A5;SPALTE(4:4);1)+1;1);0);1)+0}
C5 : {=VERGLEICH(1;WENN(TEIL(A5;SPALTE(4:4);1)+1;1);0)}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Servus aus dem Salzkammergut
Franz
Anzeige
AW: Erkennung von Ziffern
Ziffern
Bezogen auf Zelle A1:
Option Explicit
Sub erste_Zahl() Dim z As Integer, i As Integer For i = 1 To Len([a1]) z = z + 1 If IsNumeric(Mid([a1], i, 1)) Then Exit For Next MsgBox "Erste Zahl an Position " & z End Sub
Piet
AW: Erkennung von Ziffern
Ziffern
Hallo Carmen,
hier noch eine VBA-Lösung:
Option Explicit
Sub erste_zahl()
Dim s As Integer
Dim sp As Integer
Dim lg As Integer
For s = 2 To Range("A65536").End(xlUp).Row
lg = Len(Cells(s, 1))
sp = 0
Do While sp sp = sp + 1
If Asc(Mid(Cells(s, 1), sp, 1)) > 48 And Asc(Mid(Cells(s, 1), sp, 1)) Then
Exit Do
Loop
If sp Then
Cells(s, 2) = Mid(Cells(s, 1), sp, 1)
Cells(s, 3) = sp
Else: Cells(s, 2) = "keine Zahl"
End If
Next s
End Sub

So sieht die Tabelle aus:
Tabelle1
 ABC
1Text mit Ziffernerste Zifferan x. Stelle
2Hier ist die 1 die erste und einzige Ziffer114
3Klaus wohnt im Feldweg 37 in 20244 Hamburg324
4Keine Ziffer vorhandenkeine Zahl 
Gruß Klaus-Dieter
Anzeige
AW: eine kleine Korrektur
Peter
Hallo Klaus-Dieter,
deine Lösung gefiel mir, aber sie hat einen kleinen Schönheitsfehler.
Wenn die Ziffer im Text an letzter Stelle steht, funktioniert deine Sub nicht.
Hier mein Vorschlag:


'
'   erste Ziffer in einem Text finden (Ziffer und Position)
'
Sub erste_zahl()
Dim s         As Integer
Dim sp        As Integer
Dim lg        As Integer
Dim bGefunden As Boolean
   For s = 2 To Range("A65536").End(xlUp).Row
      bGefunden = False
      lg = Len(Cells(s, 1))
      sp = 0
      Do While sp < lg
         sp = sp + 1
         If Asc(Mid(Cells(s, 1), sp, 1)) > 48 And Asc(Mid(Cells(s, 1), sp, 1)) < 59 Then
            bGefunden = True
            Exit Do
         End If
      Loop
      If bGefunden = True Then
         Cells(s, 2) = Mid(Cells(s, 1), sp, 1)
         Cells(s, 3) = sp
       Else: Cells(s, 2) = "keine Zahl"
      End If
   Next s
   
End Sub


Gruß, Peter
Anzeige
AW: eine kleine Korrektur
Klaus-Dieter
Hallo Peter,
vielen Dank für den Hinweis. Das war die einzige Möglichkéit, die ich nicht getestet hatte. Hier nun meine Lösung:
Option Explicit
Sub erste_zahl()
Dim s As Integer
Dim sp As Integer
Dim lg As Integer
For s = 2 To Range("A65536").End(xlUp).Row
lg = Len(Cells(s, 1))
sp = 0
Do While sp < lg
sp = sp + 1
If Asc(Mid(Cells(s, 1), sp, 1)) > 48 And Asc(Mid(Cells(s, 1), sp, 1)) < 59 Then Exit Do
Loop
If sp = lg And Asc(Mid(Cells(s, 1), sp, 1)) > 64 Then
Cells(s, 2) = "keine Zahl"
Else:
Cells(s, 2) = Mid(Cells(s, 1), sp, 1)
Cells(s, 3) = sp
End If
Next s
End Sub

Tabelle1
 ABC
1Text mit Ziffernerste Zifferan x. Stelle
2Hier ist die 1 die erste und einzige Ziffer114
3Klaus wohnt im Feldweg 37 in 20244 Hamburg324
4Keine Ziffer vorhandenkeine Zahl22
5Hauptstrasse 1114
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Gruß Klaus-Dieter

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige