it-swarm.com.de

Excel ISNUMBER-Funktion mit IF-Anweisung

Ich habe eine Excel-Datei, mit der ich arbeite. Es gibt eine Spalte, die Zahlen und Text enthält, manchmal nur die eine oder die andere. Ich versuche, eine Funktion zu schreiben, die den linken Teil der Zelle durchsucht, um zu sehen, ob sie mit einer Zahl beginnt. Ich dachte ich hätte es aber anscheinend nicht. Das hatte ich:

=IF(ISNUMBER(LEFT(E8,1)), "True", "False")

Dies führt mich weiterhin zu einem "falschen" Ergebnis, obwohl diese bestimmte Zelle, E8, mit einer "3" beginnt. Was fehlt mir hier?

4
Ryan_C

Probieren Sie es aus:

=IF(ISNUMBER(VALUE(LEFT(E8,1))),"True","False")
2
Brian

Die Verwendung der IF-Anweisung ist redundant. Der einfachste und effektivste Weg zum gewünschten Ergebnis ist:

=ISNUMBER(--LEFT(E8,1))

Es wird automatisch WAHR oder FALSCH zurückgegeben

2
Sean

Beachten Sie, dass Sie mit den folgenden Möglichkeiten erreichen können, was Sie benötigen:

=NOT(ISERROR(LEFT(E8)*1))

Wenn Sie LEFT(E8) nicht als LEFT(E8,1) auswerten, und die Multiplikation mit 1 einen Fehler auslöst, der nicht numerisch ist

Wenn Sie Ihre Ausgabe als Zeichenfolgen benötigen, aktualisieren Sie sie wie folgt:

IF(NOT(ISERROR(LEFT(E8)*1)),"True","False")

EDIT

Die Verwendung von ISNUMBER() ist eine gute Alternative zu NOT(ISERROR())

=ISNUMBER(LEFT(A1)*1)
=IF(ISNUMBER(LEFT(A1)*1),"True","False")
1
CallumDA
=IFERROR(IF(VALUE(LEFT(E8,1)),"TRUE","FALSE"),"FALSE")
0
Juanpablomo