Frage von ralph2108, 101

Excel 2013 - wie kann ich die ersten 2 Zahlen einer Zelle durch Formel herausfiltern?

Hi Community,

wie oben schon erwähnt, möchte ich in einer excel Tabelle die ersten beiden Zahlen herausfiltern, auch wen mehrer Zahlen sind (bei 1234 möchte ich nur 12 haben)

Leider steht in dieser Zeile immer ein wort davor was das ganze leider nicht leichter macht.

Also habe ich (sind mehrere beispiele): Hanse 455 und möchte NUR "45" Bavaria 501 und möchte nur "50" Cyclades 434 und möchte nur "43" Sun Odyssey 509 und möchte nur "50"

Kann mir hier jemand weiterhelfen und diese Formel zusammenbasteln?

Vielen Dank schon mal.

Liebe Grüße

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Jackie251, 69

hiermit würde das gehen

=TEIL(A6;VERGLEICH(1;ISTZAHL(TEIL(A6;ZEILE(INDIREKT("1:"&LÄNGE(A6)));1)*1)*1;0);2)

ist eine Matrixformel also mit strg + shift + enter abschließen

Kommentar von ralph2108 ,

Super, perfekte antwort, danke!
die Kitsche darauf wäre, wen man mit einer "WENN(...)" es irgendwie hinbasteln könnte, dass die Zahl nur dasteht, wen eben auch eine Berechnet wird da sonst steht "#NV' was eben nicht so schön ist.

Geht das?

Kommentar von Jackie251 ,

das ginge dann so

=WennNV(TEIL(A6;VERGLEICH(1;ISTZAHL(TEIL(A6;ZEILE(INDIREKT("1:"&LÄNGE(A6)));1)*1)*1;0);2);"")

und wieder mit strg+shift+enter abschließen

Kommentar von Iamiam ,

WennNV geht bei mir (xl2010) (noch?) nicht, deshalb im alten Stil so:

{  =WENN(ISTNV(TEIL(A1;VERGLEICH(1;ISTZAHL(TEIL(A1;ZEILE(INDIREKT("1:"&LÄNGE(A1)));1)*1)*1;0);2));"";TEIL(A1;VERGLEICH(1;ISTZAHL(TEIL(A1;ZEILE(INDIREKT("1:"&LÄNGE(A1)));1)*1)*1;0);2))  }

ebenfalls Matrixformel. zu Matrixformeln:

www.online - excel.de/excel/singsel.php?f=26

Kommentar von ralph2108 ,

Danke dir, Traumhaft!!

Kommentar von Iamiam ,

allerdings wird aus xxx1yyy 1y widergegeben, das auszuschließen geht hier ausnahmsweise mal einfach:

{ =WENNFEHLER(WENN(ISTNV(TEIL(A1;VERGLEICH(1;ISTZAHL(TEIL(A1;ZEILE(INDIREKT("1:"&LÄNGE(A1)));1)*1)*1;0);2));"-";TEIL(A1;VERGLEICH(1;ISTZAHL(TEIL(A1;ZEILE(INDIREKT("1:"&LÄNGE(A1)));1)*1)*1;0);2))*1;"-")  }

Kommentar von Jackie251 ,

vielen Dank für den Stern !

Expertenantwort
von DeeDee07, Community-Experte für Excel, 59

Das geht mit

{=TEIL(A1;VERGLEICH(WAHR;ISTZAHL(TEIL(A1;SPALTE(A1:IQ1);1)*1);0);2)}

(schamlos abgeschrieben und adaptiert von http://excelformeln.de/formeln.html?welcher=101 )

Es handelt sich um eine Matrixformel. Die geschweiften Klammern werden nicht eingegeben, sondern die Formel wird mit Strg+Shift+Enter abgeschlossen. Das erzeugt die {}.

Kommentar von Iamiam ,

ist zwar die kürzeste, macht aber Schwierigkeiten beim Kopieren, da muss man sehr genau nachbessern!

Kommentar von DeeDee07 ,

Ich kann die Formel ohne weiteres vertikal kopieren, sie passt sich an. Fürs horizontale Kopieren muss man lediglich SPALTE($A1:$IQ1) verwenden, also Spalten fixieren.

Expertenantwort
von Suboptimierer, Community-Experte für Excel, 42

Probiere einmal folgendes. Ich habe in C1, C2, ... deine Texte eingetragen.

=WENNFEHLER(TEIL(C1;MIN(WENN(WENNFEHLER(ZEILE($1:$999)*(TEIL(C1;ZEILE($1:$999);2)+0>9);0)>0;ZEILE($1:$999)*(TEIL(C1;ZEILE($1:$999);2)+0>9)));2)+0;"")

Das ist eine Matrixformel, deren Eingabe mit Strg + Shift + Enter abgeschlossen werden muss.

Kommentar von Iamiam ,

das ist -getestet- die Beste!

Kommentar von Suboptimierer ,

Oh, Dankeschön!

Antwort
von dkilli, 40

=LINKS(VERWEIS(9^9;1*RECHTS(A1;SPALTE(A1:IQ1)));2)

Kommentar von Jackie251 ,

Hat streng genommen ein paar Bedingungen, zb wie groß die Zahl werden darf, und das die auszuwertende Zelle muss auf der gesuchten Zahl enden

Aber sonst kurz und ohne Matrix, ich finde es eine sehr gute Lösung!

Kommentar von dkilli ,

abcd efg hijk AbcdefG 123456789 

Das habe ich in A1 eingegeben. Es funktioniert. Größere Zahlen würde Excel überfordern. 

Ich bin auch davon ausgegangen, dass hinter der Zahl keine Buchstaben kommen. 

Aber trotzdem Danke für deinen Kommentar. 

Expertenantwort
von Ninombre, Community-Experte für Excel, 51

Wenn immer ein Leerzeichen zwischen Word und den Zahlen steht, ginge es so:
=TEIL(A1;FINDEN(" ";A1)+1;2)

Das Leerzeichen finden und ab diese Stelle 2 Zeichen übernehmen.


Kommentar von Jackie251 ,

wollte ich auch schon, das geht aber nicht, da die anzahl der Leerzeichen variiert
siehe "Sun Odyssey 509" => soll 50 Liefern

man braucht schon etwas das alles was keine Ziffer ist wegfiltert

Kommentar von Ninombre ,

Das Beispiel hatte ich übersehen, gute Anmerkung, da bringt das Leerzeichen natürlich keine Lösung

Keine passende Antwort gefunden?

Fragen Sie die Community