it-swarm.com.de

Überprüfen Sie anhand der Formel, ob der Excel-Zellentext numerisch ist

Ich muss herausfinden, ob mein Zellentext ein numerischer Wert ist und wollte eine elegante Nicht-VBA-Methode verwenden, die den aktuellen Status nicht beeinträchtigt oder Wert.

Was ich gefunden habe ist, dass die Funktion ISNUMBER() nur funktioniert, wenn die Zellen Zahlen formatieren oder keine Leerzeichen haben , wenn die Textformatierung z.

number as text examples

Bei den ersten drei habe ich =ISNUMBER(...) verwendet, und mein letzter Versuch ist =ISNUMBER(TRIM(...)).

Die einzige Methode, die ich ohne VBA verwendet habe, besteht darin, meine aktuellen Werte mit Text in Spalten zu überschreiben und dann die Funktion =ISNUMBER() 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).

12
glh

Versuchen Sie, den Zellenwert mit 1 zu multiplizieren, und führen Sie dann die Funktionen IsNumber und Trim aus, z.

=IsNumber(Trim(A1)*1)

27
David Zemens

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.

5
Sam Plus Plus

Die kürzeste Antwort auf meine Frage lautet:

=N(-A1)

Danke brettdj

2
glh

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.

=IF(AND(ISNUMBER(--(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)))),"Is Number","")

Es funktioniert, wenn es keine anderen Zeichen als Ziffern gibt. Wenn Sie nur ein wahres falsches wollen, lassen Sie die IF fallen

=AND(ISNUMBER(--(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))))

Wie David Zemens feststellte

=IsNumber(Trim(A1)*1)

Funktioniert aber wenn es ein "-" gibt oder die Nummer in Klammern steht, wird es als Zahl angezeigt.

Ich hoffe das hilft dir oder anderen.

2
Mouthpear

wenn jemand Zellen filtern muss, die etwas enthalten, das nicht numerisch ist:

=AND(SUMPRODUCT(--ISNUMBER(--MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)))=LEN(A1),A1<>"")

dezimalstellen und Negative ergeben FALSE

0
robotik