Es gibt verschiedene Möglichkeiten zu ermitteln, ob eine Excel -Zelle eine direkt eingegebene Zahl enthält, im Gegensatz zu einer Zahl, die sich aus einer Formel ergibt:
1. Verwenden der Funktionen "isNumber" und "isFormula":
Dies ist die unkomplizierteste und zuverlässigste Methode. Kombinieren Sie diese Funktionen, um beide Bedingungen zu überprüfen:
* `isNumber (a1)`: Diese Funktion gibt `true` zurück, wenn Zelle A1 eine Zahl enthält (entweder direkt eingegeben oder das Ergebnis einer Formel, die eine Zahl bewertet) und ansonsten" false ".
* `isFormula (a1)`: Diese Funktion gibt `true` zurück, wenn die Zelle A1 eine Formel enthält, und` false` ansonsten.
Um zu überprüfen, ob eine Zelle eine direkt eingegebene * Nummer enthält, müssen Sie sowohl "isnumber" "true" und "isFormula" "False" sein:
`` `excel
=Und (isNumber (a1), nicht (isFormula (a1)))
`` `
Diese Formel gibt nur dann "true" zurück, wenn Zelle A1 eine Zahl enthält, die direkt in die Zelle tippt und nicht durch eine Formel berechnet wurde. Legen Sie diese Formel in eine andere Zelle und ersetzen Sie "A1" durch die Zelle, die Sie überprüfen möchten.
2. Verwenden der Funktion "cell" (weniger zuverlässig):
Die "Zell" -Funktion kann Informationen über die Formatierung und den Inhalt einer Zelle liefern. Für diese spezifische Aufgabe ist es jedoch weniger zuverlässig, da sie möglicherweise nicht immer zwischen einer direkt eingegebenen Zahl und einer Formel unterscheidet, die zu einer Zahl führt:
`` `excel
=If (cell ("Typ", a1) ="v", wahr, falsch)
`` `
Dies prüft, ob der Zelltyp "V" (Wert) ist, was * eine direkt eingegebene Nummer angeben könnte. Eine Formel, die eine Zahl bewertet, würde aber auch "V" zurückgeben, sodass diese Methode nicht narrensicher ist.
3. VBA -Makro (für komplexere Szenarien):
Für komplexere Bedürfnisse oder groß angelegte Analysen bietet ein VBA-Makro eine größere Flexibilität. Sie können durch Zellen iterieren und ihre Eigenschaften untersuchen, um festzustellen, ob es sich um Formeln oder direkt eingegebene Zahlen handelt. Dies ist fortgeschrittener, gibt Ihnen jedoch eine präzise Kontrolle. Hier ist ein einfaches Beispiel:
`` `vba
Sub checkcellType ()
Dunkelne Zelle als Reichweite
Für jede Zelle im Bereich ("A1:A10") 'Einstellen Sie den Bereich nach Bedarf an
Wenn isnumerisch (cell.Value) und nicht cell.hasformula dann
Debug.print cell.address &"enthält eine direkt eingegebene Nummer."
Ende wenn
Nächste Zelle
Ende sub
`` `
Diese Makroschläuche durch die Zellen A1 bis A10. `Isnumeric` prüft nach einer Zahl und` cell.hasformula` überprüft, ob es sich um eine Formel handelt. Das Ergebnis wird in das unmittelbare Fenster gedruckt (Ansicht> Sofortfenster).
Die Methode `und (ISNumber (A1), nicht (ISFormula (A1))) ist die zuverlässigste und empfohlenste Ansatz zum Bestimmen, ob eine Zelle eine direkt eingegebene Zahl in Excel enthält. Die anderen Methoden sind für die Vollständigkeit bereitgestellt, haben jedoch Einschränkungen.