Ich muss herausfinden, ob mein Zellentext ein numerischer Wert ist, und wollte eine elegante Nicht-VBA- Methode verwenden, die den aktuellen Status oder Wert nicht beeinträchtigt.
Was ich gefunden habe ist, dass die ISNUMBER()
Funktion nur funktioniert, wenn die Zellen Zahlenformatierung sind oder keine Leerzeichen haben, wenn Textformatierung zB:
Für die ersten drei habe ich verwendet =ISNUMBER(...)
und mein letzter Versuch ist =ISNUMBER(TRIM(...))
.
Die einzige Methode, die ich ohne VBA verwendet habe, besteht darin, meine aktuellen Werte mithilfe von Text in Spalten zu überschreiben und dann die =ISNUMBER()
Funktion zu verwenden.
Hinweis: Ich beherrsche VBA und Excel und verstehe, dass ich eine benutzerdefinierte Funktion erstellen kann. Aber ich möchte nicht, da dies die Installation einer für ein Makro erforderlichen Arbeitsmappe oder eines Add-Ins erfordert, was ich in einigen Fällen tun kann und getan habe.
Ich freue mich über Ratschläge, Gedanken (auch wenn sie mir mitteilen, dass dies nicht möglich ist) oder VBA-Lösungen (die jedoch nicht als Antwort gekennzeichnet sind).
ISNUMBER
ist die selten verwendeteN
. So etwas wie das=NOT(ISERR(N(--A1)))
=N(-A1)
. Wusste auch nicht, dass es das gibt.Antworten:
Versuchen Sie, den Zellenwert mit 1 zu multiplizieren, und führen Sie dann die Funktionen
IsNumber
undTrim
aus, z.=IsNumber(Trim(A1)*1)
quelle
trim
. Schöne Grüße.Angenommen, der Wert, den Sie konvertieren möchten, ist in A1, können Sie die folgende Formel verwenden:
=ISNUMBER(VALUE(TRIM(CLEAN(A1)))
Hier entfernen die Funktionen Bereinigen und Trimmen Leerzeichen und keine druckbaren Zeichen. Der Funktionswert konvertiert eine Zeichenfolge in eine Zahl, und mit der konvertierten Zeichenfolge können wir überprüfen, ob der Wert eine Zahl ist.
quelle
=VALUE(A1)
da meine Daten nicht die Notwendigkeit dafür habenCLEAN()
. Ich wusste nicht, dass dieVALUE()
Funktion existiert. Nur um zu bemerken, dasTRIM()
nichts geht, da Leerzeichen sowieso ignoriert werden.Die kürzeste Antwort auf meine Frage lautet:
Danke brettdj
quelle
Ich weiß, dass dieser Beitrag alt ist, aber ich fand das in diesem Fall sehr nützlich. Ich hatte eine Formel, die zurückgegeben wurde (333), obwohl es sich um eine Zahl handelt und ISNUMBER sagt, dass es sich um eine Zahl handelt, obwohl ich keine Antwort wollte, wenn dies der Fall war andere Zeichen als Ziffern. Folgendes hat bei mir funktioniert.
Es funktioniert, wenn es keine anderen Zeichen als Ziffern gibt. Wenn Sie nur ein wahres falsches wünschen, lassen Sie das IF fallen
Wie David Zemens feststellte
Funktioniert aber wenn es ein "-" gibt oder die Nummer in Klammern steht, wird es als Zahl angezeigt.
Ich hoffe das hilft dir oder anderen.
quelle
Wenn jemand Zellen filtern muss, die etwas enthalten, das nicht numerisch ist:
Dezimalstellen und Negative ergeben sich
FALSE
quelle