Microsoft Excel

Das Portal zum Thema Excel-Formeln

Gruppe: Textfunktionen

Beitrag: Zahl von Text trennen

Aufgabe
Wie kann man aus einem String der aus Ziffern und Text besteht, den Ziffernteil extrahieren, wenn sowohl die Ziffern als auch der Text variabler Länge sind ?
Zwischen Ziffern und Text gibt es kein eindeutiges Trennzeichen wie z.B. Leerstelle.
Ziffern stehen hier links

       A               B       
1 123sfr  123  
2 100,20 text  100,2  
3 12:00 Stunden  0,5  
4 100000abcd  100000 

Lösung
{=LINKS(A1;MAX(ISTZAHL(TEIL(A1;SPALTE(A1:IQ1);1)*1)*SPALTE(A1:IQ1)))*1}
oder
{=LINKS(A1;SUMME(1*(ISTZAHL(LINKS(A1;SPALTE(A1:IQ1))*1))))*1}

Funktionieren auch bei Fließkommazahlen.

Oder kürzer:
{=LINKS(A1;ANZAHL(LINKS(A1;SPALTE(A1:IQ1))*1))}
Das ergibt auch keinen Fehler, wenn A1 leer ist.

Wenn es nicht automatisch bei neuen Datenimporten erfolgen muss bzw. ein einmaliger Vorgang ist, dann:
Zellen markieren / Daten / Text in Spalten / fertig stellen

Es geht auch mit der VERWEIS-Variante:
=VERWEIS(9^9;1*LINKS(A1;SPALTE(A1:IQ1)))

Text steht links
Aus einem String, der aus Text und Ziffern besteht, soll der Textteil extrahiert werden. Aus XYZ1234567 wird XYZ
{=LINKS(A1;VERGLEICH(1;ISTZAHL(TEIL(A1;SPALTE(A1:IQ1);1)*1)*1;0)-1)}
Mit ...VERGLEICH(0;... ansonsten identisch wird übrigens die Zahl links vom Text extrahiert (eine weitere Variante zu obigen Formeln)

ohne { }:
=LINKS(A1;VERWEIS(1;1/TEIL(A1;99-ZEILE(1:98);1);98-ZEILE(1:98)))

Erläuterung
Kommen nach dem ersten Buchstaben weitere Zahlen vor, erfolgt bei der ersten Formel eine Fehlermeldung; - bei der zweiten nicht.
Läßt man bei ersten Formel hinten *1 weg, wird der String bis zur letzten vorkommenden Zahl ausgegeben.