Eine leere Zelle, die in Excel nicht als Null registriert ist

5

Ich führe eine komplexe IF-Gleichung in Excel 2003 aus (ja, die Computer, auf denen gearbeitet wird, sind auch so alt), und es ist wichtig, dass leere Zellen mit Null bewertet werden. Ich verstehe also, wie Excel leere Zellen liest. Die fraglichen Zellen sind bisher formatiert (* 9/10/2014).

Diese Gleichung funktioniert einwandfrei, mit der Ausnahme, dass eine Zelle, die leer gelassen wird, nicht als Null für die Gleichung registriert wird und ich daher einen falschen Wert erhalte, wenn er wahr sein sollte. Ich habe die Formatierung überprüft, sie ist (soweit ich sehen kann) mit den Zellen um sie herum identisch.

Ich kann dieses Problem beheben, indem ich eine leere Zelle darüber ausschneide und einfüge, aber ich weiß nicht, warum dies funktioniert. Ich muss wissen, warum, um es zu korrigieren, wenn ich die Gleichung verwende, um sicherzustellen, dass ich keine falschen Werte erhalte.

MCM
quelle
Es hört sich so an, als ob sich etwas in dieser Zelle befindet, das Sie nicht sehen. Wird etwas angezeigt, wenn Sie die scheinbar leere Zelle in eine andere Zelle kopieren (und ihr Format in "Allgemein" ändern)? oder wenn Sie es aus einer anderen Zelle referenzieren; zB =Q42eine unbenutzte Zelle eintippen? Es könnte interessant sein, die Datei als CSV zu speichern und dann zu prüfen, ob in der Zelle etwas zu sehen ist.
G-Man
Ich habe es einfach versucht und nichts ist aufgetaucht. Ich habe auch die Zelle von Datum auf Allgemein, auf Nummer neu formatiert und die Gleichungen überprüft (Strg + ~). nichts. Vielleicht gibt es eine Art Abgrenzung in den Einstellungen oder Optionen?
MCM

Antworten:

3

Eine leere Zelle ist in Excel nicht mit Null identisch. Excel erkennt Leerzeichen als leer und nicht als Wert. Wenn eine leere Zelle in einer Formel als Null behandelt werden soll, gehen Sie folgendermaßen vor (in diesem Beispiel verwende ich A1 als referenzierte Zelle):

    if(isblank(a1),0,a1)

Verwenden Sie dies anstelle von a1 in Ihrer Formel.

EDIT: Sie haben mehrere Antworten erhalten. Beide befassen sich mit dem "Wie man es behebt", aber keiner befasst sich wirklich mit dem zweiten Teil Ihrer Frage.

Excel erkennt den Unterschied zwischen einem expliziten Wert von Null und dem Fehlen eines Werts. In einigen Fällen spielen die Auswirkungen eines fehlenden Werts in einer Formel keine Rolle. 3 + 0 ist dasselbe wie 3 + nichts. Wenn es keinen logischen Unterschied in einer Berechnung gibt, behandelt Excel eine leere Zelle so, als ob sie Null enthält.

Das ist in Ordnung, wenn Sie das vorhaben. Wenn die Zellen jedoch Daten darstellen, möchten Sie normalerweise zwischen einem Wert, den Sie als 0 eingegeben haben, und einem Wert unterscheiden, der fehlt und etwas anderes sein sollte oder ausgeschlossen werden sollte. Aus diesem Grund ist es empfehlenswert, sich nicht auf Excel zu verlassen, um zu erraten, wie Sie die Zelle verwenden möchten, sondern um sie explizit zu machen.

Zum Zeitpunkt dieser Bearbeitung gibt es mehrere Vorschläge zum Erzwingen eines Leerzeichens auf den Wert Null. Eine einfache Methode: Stellen Sie dem Zellbezug zwei Minuspunkte voran:

   --a1

Die doppelten Minuspunkte lassen einen numerischen Wert unverändert, geben eine Null zurück, wenn dieser leer ist, oder einen Fehler, wenn es sich um etwas anderes handelt (wie ein Leerzeichen).

Es kann verschiedene Gründe dafür geben, warum Sie eine Zelle haben, die sich anders verhält. Wir müssten die Tabelle sehen und sehen, wie Sie die Problemzelle verwenden. Es ist jedoch wahrscheinlich keine Formatierung. Zumindest in späteren Versionen von Excel wird die Zelle für Berechnungen als Null behandelt, auch wenn sie wie Text formatiert ist, wenn sie leer ist. Eine wahrscheinlichere Ursache wäre, dass die Zelle nicht wirklich leer ist, sondern so etwas wie ein Leerzeichen enthält. Wenn dies der Fall ist, funktioniert keine der vorgeschlagenen Korrekturen (ein Leerzeichen ist kein Leerzeichen oder eine Zahl). Versuchen Sie, die Zelle zu löschen. Dadurch werden alle nicht sichtbaren Inhalte entfernt.

Wenn Sie neugierig auf den Inhalt sind, verwenden Sie Zeichenfolgenfunktionen, um zu sehen, was es ist. Len (a1) sagt dir, ob es leer ist.

fixer1234
quelle
Natürlich besteht die andere Lösung darin, die Option "Zellen formatieren" zu verwenden, aber dies ist eine viel intelligentere Lösung.
James Brewer
Alternative: = IF (A1 = "", 0, A1)
Variante
Also hier ist die Sache: Es behandelt alle anderen leeren Zellen als Null mit Ausnahme dieser. Ich könnte immer noch Ihre vorgeschlagene Formel einfügen, aber ich möchte wissen, was der Unterschied zwischen dieser leeren Zelle und den anderen leeren Zellen ist.
MCM
Danke für die Bearbeitung. Es tut mir leid, dass ich so lange gebraucht habe, bis ich wieder bei Ihnen bin. Das Projekt wurde für eine Woche eingestellt. Die umfassendere Antwort in der Bearbeitung hat wirklich geholfen, und die einfache Antwort, die Sie vorgeschlagen haben, funktioniert. Viel einfacher als zu versuchen, eine weitere Funktion in = IF (TODAY () - 8 <F35, IF (AND (C35 <TODAY () - 5, (D35) = 0), "IFFY", IF (TODAY () - 8 <F35, WENN (D35> C35 + 3, "ALERT", "OK"), "OK")), "OK") Nun, zusätzlich zur nächsten Funktion brauche ich dieses Ding, um es irgendwie auszuführen. :)
MCM
1

FORMEL:

=VALUE(...)

Diese Formel wird für Leerzeichen mit 0 ausgewertet und gültige Werte werden nicht geändert.

Mr. Mascaro
quelle
Tolle einfache Lösung.
Fixer1234
Wenn es funktioniert, markieren Sie es bitte als Antwort für zukünftige Besucher.
Mr. Mascaro
Eigentlich hat es die Frage nicht beantwortet. Die Frage war nicht, wie ein Leerzeichen für Null bewertet werden sollte, sondern WARUM einige Leerzeichen bereits als Null bewertet wurden, während andere nicht.
MCM
1

Ich hatte das gleiche Problem und fand den Grund: Zellen scheinen leer zu sein, aber es gab keine Leerzeichen in den Zellen (es ist jedoch schwer zu sehen). Durch einfaches Entfernen von Leerzeichen (STRG R: "" durch Leerzeichen ersetzen) wurde das Problem behoben.

Alex
quelle
0

Dies scheint ein Fehler in Excel 2013 zu sein.

Es ist möglich, auf das Problem einer scheinbar leeren Zelle zu stoßen. Bei referenzierten Berichten ist es keine Zahl, keine Null, kein Leerzeichen, kein Leerzeichen. Unabhängig davon, wie Sie auf die Zelle verweisen, können Sie nicht finden, was sie enthält.

Dies sind die Ergebnisse, die ich erhalte, wenn ich versuche, auf die Zelle zu verweisen oder deren Inhalt anzuzeigen:

• = IF (ISBLANK (a1), 1,2) ==> gibt eine 2. zurück (dh die Zelle ist nicht leer).

• = IF (A1 = 0,0,1) ==> Liefert eine 1. (dh die Zelle enthält keine Null).

• = A1 * 2 ==> Liefert #WERT! (dh die Zelle enthält keine Nummer).

• = IF ((A1)> 1,1,0) ==> Gibt eine 1 zurück (dh die Zelle enthält eine Zahl größer als 1!).

• = IF (A +> 9.99999999999999E + 307,1,0) ==> Gibt eine 1 zurück (dh die Zelle enthält eine sehr große Zahl).

• = "X" & A1 & "X" ==> Gibt "XX" zurück. (dh die Zelle A1 ist wirklich leer.)

• = CELL ("format", A1) ==> Liefert "G". (dh das Zahlenformat der Zelle ist Allgemein).

• = CELL ("Präfix", A1) ==> Gibt "^" zurück. (dh die Zelle ist in der Mitte für Text und Zahlen formatiert).

• = CELL ("type", A1) ==> Liefert "I". (dh die Zelle enthält Text!).

• = WERT (A1) ==> Liefert #WERT! (dh der Aufruf enthält keine Textzeichenfolge, die wie eine Zahl aussieht).

• = LEN (A1) ==> Gibt 0 zurück (dh die Länge eines beliebigen Strings ist Null).

• = T (A1) ==> Gibt nichts zurück (dh es wird eine Textzeichenfolge mit der Länge Null zurückgegeben).

• = UNICODE (A1) ==> Liefert #VALUE! (dh die Zelle enthält keine Zeichenfolge).

Für mich geschieht dies, wenn ich Daten aus einer anderen Anwendung importiert habe. (Telekurs Infinacials in meinem Fall). Die Funktion = If (A1 = 0,0,1) meldet, dass die Zelle a1 nicht Null ist. Die Funktion = A1 + 1 ergibt einen #WERT! Error. Mehrere andere Arten von Mathematik in der leeren Zelle ergeben einen #WERT! Ergebnis.

Die logische Konsequenz ist, dass die Zelle keine Nummer enthält. Dies wird jedoch durch die Formel = if (A1> 99,1,1) widerlegt, was impliziert, dass die Zelle eine hohe Zahl enthält.

Ich habe die Möglichkeit ausgeschlossen, dass der Inhalt der Zelle verborgen ist oder dass die Zelle ein Leerzeichen enthält.

(Sie können dies testen, indem Sie beispielsweise eine Formel wie "X" & A1 & "X" eingeben, wobei A1 die Zelle ist, von der Sie vermuten, dass sie nicht leer ist. Wenn die Formel "XX" zurückgibt, enthält die Zelle keine Zahl , noch irgendein Text. Andernfalls würde ein Leerzeichen, eine Zahl oder ein Text zwischen den beiden "X" enthalten sein.).

Die Zelle scheint auch nicht leer zu sein, denn wenn Sie die Formel = IF (ISBLANK (a1), 1,2) verwenden, wird eine 2 zurückgegeben.

Das Problem ist also, dass Excel die Zelle als nicht leer und nicht null protokolliert und dabei weder eine Zahl noch ein Zeichen enthält.

Das Neuformatieren der Zelle in ein Zahlenformat oder in Text ändert nichts. Wenn Sie a1 in eckige Klammern (a1) setzen, wird kein Wert zurückgegeben (weder Null noch ein Leerzeichen noch ein Zeichen oder ein Leerzeichen).

Die einzige Lösung besteht darin, auf die Zelle zu klicken, dann auf die Eingabeleiste zu klicken und die Eingabetaste zu drücken. Das Problem verschwindet und es wird eine leere Zelle, die ebenfalls den Wert Null zurückgibt.

Diese Lösung ist in Ordnung, wenn Sie nur mit einer Zelle zu tun haben. Wenn Sie jedoch eine Tabelle mit Tausenden solcher Zellen haben, ist dies ein Problem. Daher müssen Sie in einer Tabelle, die Zahlen enthält und in der die "scheinbar" leere Zelle als Null berechnet werden soll, die Funktion iferror wie folgt verwenden:

Alte Formel: = A1 * 2

Neue Formel: = IFERROR ((A1 * 1), 0) * 2

trickyt57
quelle