Wie verstecke ich die # DIV / 0! Fehler, während eine referenzierte Zelle leer ist?

28

In Spalte CI haben Produktion. In Spalte DI haben Ziel. In Spalte EI haben Varianz%. Meine Formel lautet=(D11-C11)/D11

Doch wie verstecken Sie die Zellen nach unten das Blatt , bis Sie etwas in setzen D11und C11zu verstecken #DIV/0!. Ich habe versucht, die IFFormel zu verwenden, aber es scheint falsch zu sein?

Jackie Reid
quelle

Antworten:

45

IFERROR-Funktion

Es gibt einen "speziellen" IFTest, der nur zur Behandlung von Fehlern entwickelt wurde:

=IFERROR( (D11-C11)/D11, "")

Dies gibt Ihnen den berechneten Wert von (D11-C11) / D11, es sei denn, das Ergebnis ist ein Fehler. In diesem Fall wird ein Leerzeichen zurückgegeben.

Erläuterung

Der Wert "if error", der letzte Parameter, kann ein beliebiger Wert sein. es ist nicht auf die leeren doppelten Anführungszeichen beschränkt. IFERROR funktioniert für jede Bedingung, die einen Fehlerwert zurückgibt (Dinge, die mit a beginnen #), wie:

#NULL!  -   reference to an intersection of two ranges that don't intersect
#DIV/0! -   attempt to divide by zero
#VALUE! -   variable is the wrong type 
#REF!   -   invalid cell reference
#NAME?  -   formula name, or text within a formula, isn't recognized
#NUM!   -   invalid number
#N/A    -   value is not available

Dies ist praktisch zum Debuggen. Die Funktion kann vorübergehend um eine Formel gewickelt werden, um einen Nachrichtentext zurückzugeben, wenn die Formel einen Fehler erzeugt. Es ist auch eine optimierte Form des IF-Tests. Es ist nicht erforderlich, einen Ausdruck einzuschließen, um es zu testen, und ihn dann erneut einzuschließen, um das Ergebnis zu verwenden.

Andere Tabellen

Diese Funktion steht auch Benutzern anderer Tabellenkalkulationsprogramme zur Verfügung. Es wurde LibreOffice Calc in Version 4.0 hinzugefügt (in einigen Linux-Distributionen noch nicht die verteilte Version). @Kroltan weist jedoch darauf hin, dass es in Google Sheets noch effizienter ist, da der Wert "if error" optional ist. Wenn es fehlt, wird standardmäßig ein Leerzeichen angezeigt. In einem Fall wie diesem, in dem Sie nur potenzielle Fehlerwerte ausblenden möchten, kann Google Sheets dies tun IFERROR(expression).

fixer1234
quelle
Ich weiß, dass dies für Excel ist, aber in Google Text & Tabellen und Open / LibreOffice gibt es eine Variation, bei der der "value if true" nicht erforderlich ist, wodurch dies vereinfacht wird =IFERROR(yourformula).
Kroltan
1
@Kroltan: Gerade als ich dachte, sie könnten diese Funktion nicht mehr rationalisieren. Anscheinend haben Sie recht mit Google Sheets. Der IFERROR ist standardmäßig leer, wenn kein alternativer Wert angegeben wird. Daher ist er optional. LibreOffice Calc hat die Funktion mit Version 4.0 implementiert. Die neueste Version, auf die ich Zugriff habe, ist 4.2, und der If-Error-Wert ist weiterhin erforderlich.
Fixer1234
Ich hatte zwar nur auf Google Spreadsheets getestet, aber laut den Dokumenten ist es identisch mit dem von LibreOffice. Entschuldigung für die Fehlinformation.
Kroltan
11

Innerhalb einer IFAnweisung befindet sich eine logische Prüfung (der erste Teil).

IF(logical_test, value_if_true, [value_if_false])

Um Fehler zu vermeiden, die auftreten, wenn Ihre Produktions- und / oder Zieldaten leer sind, verwenden Sie ORdie ISBLANKFunktion mit innerhalb der logischen Prüfung.

=IF(OR(ISBLANK(C11),ISBLANK(D11)), "", (D11-C11)/D11)

Hiermit wird überprüft, ob die referenzierte Zelle leer ist. Wenn einer oder beide leer sind (was den logischen Test WAHR macht), wird der IF TRUETeil der IFAnweisung verarbeitet. In diesem Fall weist das ""die Formel an, nichts zu tun. Andernfalls wird der IF FALSETeil der Formel verarbeitet, der der Formel entspricht, die Sie haben.

CharlieRB
quelle
Ich habe dies aktualisiert, um sowohl C11& D11als auch zu prüfen, wie Sie ursprünglich geschrieben haben. Tut mir leid, dass ich das in meiner ursprünglichen Antwort verpasst habe.
CharlieRB
Guter Fang. Wenn die Ziele bereits ausgefüllt sind und dann auf die Produktionseinträge gewartet wird, zeigen die Ergebnisse eine 100% ige Varianz, bis sie eingegeben werden. Ihre Lösung kümmert sich darum, was viel weniger Druck bedeutet, wenn die Leistung an diesem Blatt gemessen wird. :-)
fixer1234
1

Versuche dies:

= IF (D11 0, (D11-C11) / D11, "")
oder
= IF (D11 = 0, "", (D11-C11) / D11)

BillDOe
quelle
1

Markieren Sie die gesamte Tabelle und wählen Sie im Menü Start - Bedingte Formatierung - Neue Regel ... - Nur Zellen formatieren, die enthalten - Unter Nur Zellen mit ausgewählten Fehlern formatieren - Klicken Sie auf die Schaltfläche Formatieren ... - Wechseln Sie zur Registerkarte Schriftart - Unter Farbe auswählen Dieselbe Schriftfarbe wie der Hintergrund (z. B. Weiß).

Neuer Regeldialog

Vladimir Reshetnikov
quelle