Ziffern oder Zahlen in einer Zelle erkennen
Sie möchten per Formel erkennen, wenn in einer Zelle eine Zahl oder eine oder mehrere Ziffern innerhalb eines Texte zu finden sind? Wenn in einer Zelle eine Zahl steht, soll die Formel "ja" liefern, aber auch wenn eine Ziffer Bestandteil des Zellinhalts ist, also bei "Meine5isthier" oder "2fast4you". Das war die Aufgabe beim Excel-Formelwettbewerb und hier ist die erste Lösung:
=WENN(ANZAHL(FINDEN(ZEILE(A:A)-1;A1));"ja";"nein")
Die Formel ist eine Matrixformel. Sie müssen Sie eingeben, indem Sie anstelle der Taste EINGABE die Tastenkombination STRG UMSCHALT EINGABE verwenden. Dann kennzeichnet Excel die Formel mit geschweiften Klammern. Diese Klammern geben Sie nicht ein, sie werden zur Visualisierung von Matrixformeln automatisch um die Formel gesetzt.
Die folgende Abbildung zeigt den Einsatz der Formel in der Praxis:
In der Formel wird dafür gesorgt, dass die FINDEN-Funktion nach den Ziffern 0 bis 9 in Zelle A1 sucht. Das Datenfeld 0 bis 9 ergibt sich aus dem Ausdruck ZEILE(1:9) in der Matrix. FINDEN liefert daraus ein Datenfeld zurück, dass aus den gefunden Ziffern und den Fehlerwerten #WERT! besteht.
Hieraus ermittelt die ANZAHL-Funktion die Anzahl der Ziffern in der Liste. Wenn diese Zahl größer als 0 ist, enthält die Zelle Ziffern. Die WENN-Funktion fragt diese Anzahl ab. Weil WENN nur einen Wert von 0 als FALSCH ansieht, führt die WENN-Funktion dazu, dass "ja" angezeigt wird, sofern sich Ziffern in der Zelle befinden und "nein", falls nicht.
Die Formel ist sehr kurz, arbeitet aber auch sehr langsam, weil sie zugunsten der Formellänge alle Zeilen in Spalte A per Matrix durchläuft. Schneller wird die Funktion wie folgt:
=WENN(ANZAHL(FINDEN(ZEILE(A1:A10)-1;A1));"ja";"nein")
Alternativ können Sie Lösung 2 verwenden, die mit der gleichen Anzahl der Zeichen auskommt:
=WENN(ANZAHL(1*TEIL(A1;ZEILE(A:A);1));"ja";"nein")
Auch diese Formel ist eine Matrixformel, die Sie per STRG UMSCHALT EINGABE in eine Zelle übernehmen müssen.
In dieser Formel werden die einzelnen Buchstaben/Ziffern des Zellinhalts aus Zelle A1 per Matrix isoliert und dann mit 1 multipliziert. Daraus ergibt sich eine Matrix, die aus den Fehlerwerten #WERT1 und den einzelnen Ziffern des Zellinhalts besteht. Über die ANZAHL-Funktion ermittelt die Formel dann die Anzahl der enthaltenen Ziffer und setzt sie als Kriterium für die WENN-Abfrage ein.
Auch diese Formel ist langsam, weil alle Zeilen der Spalte A durchlaufen werden. Schneller wird die Formel durch die folgende Änderung:
=WENN(ANZAHL(1*TEIL(A1;ZEILE(A1:A100);1));"ja";"nein")
In diesem Fall darf der zu untersuchenden Eintrag in Zelle A1 maximal 100 Zeichen lang sein. Ganz ohne Matrix kommt die folgende, besonders schnelle Formel aus, die Sie ganz normal eingeben können:
=WENN(ANZAHL(FINDEN({0;1;2;3;4;5;6;7;8;9};A1));"ja";"nein")
Hier wird die Matrix ZEILE(A:A) durch die explizite Auflistung der möglichen Ziffern 0 bis 9 ersetzt. In dieser Formel müssen Sie die geschweiften Klammern mit eingeben!