Inhaltsverzeichnis
Der Lehrgang befasst sich mit der praktischen Anwendung der Excel-Funktion ISERROR und zeigt, wie man verschiedene Formeln auf Fehler prüft.
Wenn Sie eine Formel schreiben, die Excel nicht versteht oder nicht berechnen kann, macht es Sie mit einer Fehlermeldung auf das Problem aufmerksam. Die Funktion ISERROR kann Ihnen helfen, Fehler zu erkennen und eine Alternative anzubieten, wenn ein Fehler gefunden wird.
ISERROR-Funktion in Excel
Die Excel-Funktion ISERROR fängt alle Arten von Fehlern ab, einschließlich #CALC!, #DIV/0!, #N/A, #NAME?, #NUM!, #NULL!, #REF!, #VALUE! und #SPILL!. Das Ergebnis ist ein boolescher Wert: TRUE, wenn ein Fehler erkannt wurde, FALSE andernfalls.
Die Funktion ist in allen Versionen von Excel 2000 bis 2021 und Excel 365 verfügbar.
Die Syntax der ISERROR-Funktion ist so einfach wie folgt:
ISERROR(Wert)Wo Wert ist der Zellwert oder die Formel, die auf Fehler geprüft werden soll.
Excel ISERROR-Formel
Um eine ISERROR-Formel in ihrer einfachsten Form zu erstellen, geben Sie einen Verweis auf die Zelle an, die Sie auf Fehler prüfen möchten, z. B:
=ISERROR(A2)
Wenn ein Fehler gefunden wird, erhalten Sie TRUE, wenn kein Fehler in der getesteten Zelle vorliegt, erhalten Sie FALSE:
IF ISERROR-Formel in Excel
Um eine benutzerdefinierte Meldung zurückzugeben oder eine andere Berechnung durchzuführen, wenn ein Fehler auftritt, verwenden Sie ISERROR zusammen mit der IF-Funktion. Die allgemeine Formel sieht wie folgt aus:
IF(ISERROR( Formel (...), text_oder_berechnung_wenn_fehler , Formel ())In eine menschliche Sprache übersetzt heißt das: Wenn die Hauptformel zu einem Fehler führt, zeigen Sie den angegebenen Text an oder führen Sie eine andere Berechnung durch, andernfalls geben Sie ein normales Ergebnis der Formel zurück.
In der folgenden Abbildung führt die Division der Gesamtsumme durch die Menge zu einer Reihe von Fehlern in der Preis Spalte:
Um alle verschiedenen Fehlercodes durch einen benutzerdefinierten Text zu ersetzen, können Sie die folgende Formel IF ISERROR verwenden:
=IF(ISERROR(A2/B2), "Unbekannt", A2/B2)
In Excel 2007 und späteren Versionen kann das gleiche Ergebnis mit Hilfe der integrierten Funktion IFERROR erzielt werden:
=IFERROR(A2/B2, "Unbekannt")
Es ist zu beachten, dass die Formel IFERROR etwas schneller läuft, weil sie die A2/B2-Berechnung nur einmal durchführt, während IF ISERROR sie zweimal berechnet - zuerst, um zu sehen, ob sie einen Fehler erzeugt, und dann noch einmal, wenn der Test FALSCH ist.
IF ISERROR VLOOKUP-Formel
Die Verwendung von ISERROR mit VLOOKUP ist eigentlich ein Sonderfall der oben besprochenen IF ISERROR-Formel. Wenn die VLOOKUP-Funktion den Nachschlagewert nicht finden kann oder aus einem anderen Grund fehlschlägt, können Sie mit dieser Syntax eine benutzerdefinierte Textmeldung anzeigen:
IF(ISERROR(VLOOKUP(...)), " benutzerdefinierter_text ", VLOOKUP(...))In diesem Beispiel werden die Zeiten aus der Nachschlagetabelle (D3:E10) in die Haupttabelle (A3:B15) übertragen. Wenn der Nachschlagewert (Name des Teilnehmers) nicht in der Nachschlagetabelle vorhanden ist, wird "Nicht qualifiziert" zurückgegeben.
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$10, 2, FALSE)), "Nicht qualifiziert", VLOOKUP(A3, $D$3:$E$10, 2, FALSE))
Tipp: Wenn Sie einen benutzerdefinierten Text nur anzeigen möchten, wenn ein Suchwert wird nicht gefunden (#N/A-Fehler) und ignorieren andere Fehler, dann verwenden Sie die Formel IFNA VLOOKUP in Excel 2013 und höher oder IF ISNA VLOOKUP in älteren Versionen.
IF ISERROR INDEX MATCH Formel
Wenn Sie eine Suche mit Hilfe der INDEX MATCH-Kombination (oder der INDEX XMATCH-Formel in Excel 365) durchführen, können Sie mögliche Fehler abfangen und behandeln, indem Sie die gleiche Technik verwenden - die ISERROR-Funktion prüft auf Fehler und IF zeigt den angegebenen Text an, wenn ein Fehler auftritt.
IF(ISERROR(INDEX ( rückgabe_spalte , MATCH ( lookup_value , lookup_column , 0)))), " benutzerdefinierter_text ", INDEX ( rückgabe_spalte , MATCH ( lookup_value , lookup_column , 0)))Da VLOOKUP nicht in der Lage ist, nach links zu schauen, verwenden wir die Formel INDEX MATCH, um die Zeiten aus Spalte D zu ziehen:
=INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0))
Und dann schachteln Sie es in die oben erwähnte allgemeine Formel, um die abgefangenen Fehler durch einen beliebigen Text zu ersetzen, den Sie wünschen:
=IF(ISERROR(INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0))), "Nicht qualifiziert", INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0)))
Hinweis: Wie bei der VLOOKUP-Formel IF ISERROR ist es sinnvoller, nur #N/A-Fehler abzufangen und potenzielle Probleme nicht mit der Formel selbst zu verschleiern. Wickeln Sie daher Ihre INDEX MATH-Formel in Excel 2013 und höher in IFNA oder IF ISNA in früheren Versionen ein.
IF ISERROR Ja/Nein-Formel
In allen vorangegangenen Beispielen hat IF ISERROR das Ergebnis der Hauptformel zurückgegeben, wenn es kein Fehler ist. Es kann aber auch anders funktionieren - etwas zurückgeben, wenn ein Fehler auftritt, und etwas anderes, wenn kein Fehler vorliegt.
IF(ISERROR( Formel (...)), " text_if_error ", " text_if_no_error ")In unserem Beispieldatensatz sind Sie nicht an den genauen Zeiten interessiert, sondern wollen nur wissen, welche Teilnehmer aus Gruppe A qualifiziert sind und welche nicht. Dazu vergleichen Sie mit der Funktion MATCH den Namen in Spalte A mit der Liste der qualifizierten Teilnehmer in Spalte D und übergeben die Ergebnisse an ISERROR. Wenn der Name in Spalte D nicht vorhanden ist (MATCH liefert einen Fehler), erhalten Siedie Funktion IF, um "Nein" oder "Nicht qualifiziert" anzuzeigen. Wenn der Name in Spalte D erscheint (kein Fehler), wird "Ja" oder "Qualifiziert" zurückgegeben.
=IF(ISERROR(MATCH(A3, $D$3:$D$10, 0)), "Nein", "Ja" )
So zählen Sie die Anzahl der Fehler
Um die Anzahl der Fehler in einer bestimmten Spalte zu ermitteln, müssen Sie nicht nur eine Zelle, sondern einen ganzen Bereich überprüfen. Dazu "füttern" Sie ISERROR mit dem Zielbereich und wandeln die zurückgegebenen booleschen Werte mit dem doppelten unären Operator (--) in 1en und 0en um. Die Funktion SUM oder SUMPRODUCT kann die Zahlen addieren und das Endergebnis liefern.
Zum Beispiel:
=SUM(--ISERROR(C2:C10))
Bitte beachten Sie, dass dies als reguläre Formel nur in Excel 365 und Excel 2021 funktioniert, die dynamische Arrays unterstützen. In Excel 2019 und früher müssen Sie Strg + Umschalt + Eingabe drücken, um eine Array-Formel zu erstellen (geben Sie geschweifte Klammern nicht manuell ein, das funktioniert nicht!):
{=SUM(--ISERROR(C2:C10))}
Alternativ können Sie auch die Funktion SUMPRODUCT verwenden, die von Haus aus mit Arrays arbeitet, so dass die Formel in allen Versionen mit der üblichen Eingabetaste abgeschlossen werden kann:
=SUMPRODUCT(--ISERROR(C2:C10))
Unterschied zwischen ISERROR und IFERROR in Excel
Sowohl die ISERROR- als auch die IFERROR-Funktionen werden zum Abfangen und Behandeln von Fehlern in Excel verwendet. Der Unterschied besteht in folgenden Punkten:
- In seiner reinen Form testet ISERROR nur, ob der Wert ein Fehler ist oder nicht. Es ist in allen Excel-Versionen verfügbar.
- Die Funktion IFERROR dient dazu, Fehler zu unterdrücken oder zu verschleiern - wenn ein Fehler gefunden wird, gibt sie einen anderen Wert zurück, den Sie angeben. Sie ist in Excel 2007 und höher verfügbar.
Auf den ersten Blick sieht IFERROR wie eine Kurzformel für die IF ISERROR-Formel aus, doch bei genauerem Hinsehen erkennt man den Unterschied:
- Mit IFERROR können Sie nur angeben wert_wenn_fehler Wenn kein Fehler auftritt, wird immer das Ergebnis des getesteten Wertes/der getesteten Formel zurückgegeben.
- IF ISERROR bietet mehr Flexibilität und ermöglicht es Ihnen, beide Situationen zu behandeln - was im Falle eines Fehlers geschehen soll und was, wenn kein Fehler vorliegt.
Zur besseren Veranschaulichung können Sie sich die folgenden Formeln ansehen:
=IFERROR(A1, "Berechnungsfehler")
=IF(ISERROR(A1), "Berechnungsfehler", A1)
Diese beiden Formeln sind gleichwertig - beide prüfen einen formelgesteuerten Wert in A1 und geben "Berechnungsfehler" zurück, wenn es sich um einen Fehler handelt, andernfalls geben sie den Wert zurück.
Aber was ist, wenn Sie eine Berechnung durchführen wollen, wenn der Wert in A1 kein Fehler ist? Die Funktion IFERROR ist dazu nicht in der Lage. Im Falle von IF ISERROR geben Sie einfach die gewünschte Berechnung in das letzte Argument ein. Zum Beispiel:
=IF(ISERROR(A1), "Berechnungsfehler", A1*2)
Wie Sie sehen, kann diese längere Variante der IFERROR-Formel, die oft als veraltet angesehen wird, immer noch nützlich sein :)
Verfügbare Downloads
ISERROR-Formelbeispiele (.xlsx-Datei)