Das grosse Archiv mit 638
VBA-freien Formellösungen und Tips
 
   
 
 ÜBER UNS   NEWS   FORMELN   TIPPS   KONTAKT   FORUM   LINKS 
   
Übersicht   Zauberbuch   Rätselbuch   Sparbuch   Bücher-Downloads / Errata  
 
Textfunktionen (2) ->

Zahl von Text trennen - Zahl steht links oder Text steht links * (100)
 
 
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.
 
    zurück


 
powered by telltarget