Kurzfassung —
IFERROR(formula, value_if_error)führt Ihre Formel aus und gibt, falls sie einen Fehler ergibt, stattdessen einen Ersatzwert zurück:=IFERROR(A2/B2, 0). Der Haken, der Menschen Stunden kostet: IFERROR fängt jeden Fehlertyp ab —#REF!,#NAME?,#VALUE!,#DIV/0!, alle — und versteckt so fröhlich den echten Bug (eine gelöschte Spalte, eine falsch geschriebene Funktion) gleich mit dem, den Sie erwartet haben. Für einen Lookup, der vielleicht keine Übereinstimmung findet, nutzen Sie stattdessenIFNA: Es fängt nur#N/Aab und lässt echte Fehler an die Oberfläche. Besser noch: Neue Lookups sollten das eingebauteif_not_foundvonXLOOKUPnutzen. SowohlIFERRORals auchIFNAbrauchen Excel 2013+.
=IFERROR(A2/B2, 0) ' B2 ist 0 oder leer -> 0 statt #DIV/0!
=IFNA(XLOOKUP(A2, Ids, Names), "Not found") ' nur ein Nicht-Treffer wird abgefangen
IFERROR ist die Funktion, zu der Menschen greifen, sobald sie einen Fehler in
einer Zelle sehen — und genau dieser Reflex ist das Problem. Gut eingesetzt macht
sie ein Modell robust; als Pauschallösung eingesetzt verwandelt sie Ihre
Tabelle in eine, die sauber aussieht, während sie Sie leise belügt. Diese
Anleitung dreht sich um eine starke Empfehlung: Fangen Sie den Fehler ab, den Sie
erwarten, nicht jeden Fehler, den es gibt.
Hinweis: In einer deutschen Excel-Oberfläche heißt die Funktion WENNFEHLER (IFERROR). Verwandt: IFNA = WENNNV, VLOOKUP = SVERWEIS, XLOOKUP = XVERWEIS, ISERROR = ISTFEHLER, NA = NV. Fehlercodes lauten im deutschen Excel: #NV, #BEZUG!, #NAME?, #WERT!, #DIV/0!. Die Formeln unten nutzen die englischen Namen — sie zeigen dasselbe Verhalten.
Was Sie lernen
- Das mentale Modell:
IFERRORist ein Sicherheitsnetz, keine Reparatur - Das Anti-Pattern: alles in
IFERRORzu hüllen versteckt echte Bugs - Warum
IFNAbei Lookups meist das richtige Werkzeug ist - Die Performance-Falle des alten
IF(ISERROR(…))-Musters - Einen Ersatzwert wählen, der Ihre Summen nicht vergiftet
- Warum das
if_not_foundvonXLOOKUPIFERRORoft überflüssig macht
Das mentale Modell: ein Sicherheitsnetz, keine Reparatur
IFERROR verhindert keinen Fehler — es fängt die Formel nachdem sie bereits
fehlgeschlagen ist und reicht etwas anderes zurück:
' "Berechne A2/B2. Wenn das explodiert, gib mir stattdessen 0."
=IFERROR(A2/B2, 0)
Stellen Sie es sich als ein Netz vor, das unter einem Drahtseil gespannt ist. Das
Netz ist sinnvoll für einen Sturz, den Sie vorhersehen können — einen Divisor,
der manchmal null ist, einen Lookup, der manchmal fehlt. Aber ein Netz weiß
nicht, warum Sie gestürzt sind. Sind Sie gestürzt, weil das Seil durchtrennt
war (Sie haben eine referenzierte Spalte gelöscht oder =VLOOKUP als =VLOOKP
vertippt), fängt das Netz Sie genauso auf — und nun erfahren Sie nie, dass das
Seil gerissen ist. Diese Blindheit ist die ganze Gefahr.
Das Anti-Pattern: IFERROR als Pauschallösung
Hier ist der Zug, der Bugs versteckt. Irgendetwas zeigt einen Fehler, also hüllen Sie die ganze Formel ein und machen weiter:
=IFERROR(SomeBigFormula(...), "") ' das Rot verschwinden lassen
Die Zelle sieht jetzt sauber aus. Aber IFERROR schluckt alle Fehlertypen
gleichermaßen:
| Fehler | Was er meist bedeutet | Sollten Sie ihn verstecken? |
|---|---|---|
#N/A |
Ein Lookup fand keine Übereinstimmung | Oft ja — das ist zu erwarten |
#DIV/0! |
Divisor ist null oder leer | Manchmal — wenn null gültig ist |
#REF! |
Eine referenzierte Zelle wurde gelöscht | Nein — das ist ein echter Bug |
#NAME? |
Funktion/Name falsch geschrieben | Nein — das ist ein echter Bug |
#VALUE! |
Falscher Typ (Text, wo eine Zahl erwartet wird) | Nein — meist ein echter Bug |
Ein pauschales IFERROR behandelt die unteren drei genau wie die oberen zwei.
Sie löschen drei Monate später eine Spalte, die Formel geht auf #REF!, und statt
eines lauten Fehlers bekommen Sie eine ordentliche leere Zelle — und einen
Bericht, der still falsch ist. Die Regel: Hüllen Sie eine Formel niemals in
IFERROR, nur damit ein Fehler verschwindet. Hüllen Sie sie nur ein, um einen
bestimmten, erwarteten Fehlschlag zu behandeln — und beweisen Sie zuerst,
dass die Formel auf sauberen Daten korrekt ist.
IFNA: nur das abfangen, was Sie abfangen wollten
Meistens ist der Fehler, den Sie tatsächlich erwarten, #N/A aus einem Lookup,
der keine Übereinstimmung gefunden hat. Genau dafür ist IFNA da — es fängt
#N/A ab und nichts sonst:
' IFERROR — versteckt einen Nicht-Treffer UND einen kaputten Bezug gleichermaßen
=IFERROR(VLOOKUP(A2, Table, 2, 0), "Not found")
' IFNA — behandelt den Nicht-Treffer, lässt #REF!/#NAME? weiter schreien
=IFNA(VLOOKUP(A2, Table, 2, 0), "Not found")
Beide liefern „Not found", wenn die ID fehlt. Der Unterschied zeigt sich an dem
Tag, an dem etwas anderes kaputtgeht: Mit IFNA taucht eine gelöschte Spalte
weiterhin laut und deutlich als #REF! auf; mit IFERROR ist sie unter „Not
found" begraben. Für Lookups — VLOOKUP, XLOOKUP, MATCH, INDEX/MATCH — ist
IFNA der korrekte Standard, nicht IFERROR. Greifen Sie nur dann zu
IFERROR, wenn der Fehler, den Sie erwarten, wirklich nicht #N/A ist (etwa eine
bewusste Division, die null treffen kann).
Die Performance-Falle: berechnen Sie die Formel nicht zweimal
Bevor es IFERROR gab (vor 2007), war der einzige Weg, einen Fehler abzufangen,
das IF(ISERROR(…))-Muster — und es hat einen versteckten Preis:
' Altes Muster — führt das VLOOKUP ZWEIMAL aus (zum Testen, dann erneut für den Wert)
=IF(ISERROR(VLOOKUP(A2, T, 2, 0)), "", VLOOKUP(A2, T, 2, 0))
' IFERROR — führt es einmal aus
=IFERROR(VLOOKUP(A2, T, 2, 0), "")
Die alte Form wertet den teuren Lookup einmal aus, um ihn zu testen, und ein
zweites Mal, um ihn zurückzugeben — doppelte Arbeit in jeder Zeile, die sich auf
großen Blättern schnell summiert. IFERROR (und IFNA) werten die innere Formel
ein einziges Mal aus. Haben Sie noch IF(ISERROR(…))-Muster in geerbten
Arbeitsmappen, ist deren Reduktion auf IFERROR/IFNA ein kostenloser
Geschwindigkeitsgewinn und ein Gewinn an Lesbarkeit.
Wählen Sie einen Ersatzwert, der Ihre Zahlen nicht vergiftet
Der Typ des zweiten Arguments zählt mehr, als die meisten erwarten, denn was auch immer Sie zurückgeben, fließt in alles Nachgelagerte:
- Geben Sie
0für einen fehlenden Wert zurück, wird sie mit hineingemittelt —AVERAGEund Diagramme behandeln „keine Daten" nun als echte Null und ziehen das Ergebnis nach unten. - Geben Sie
""(leerer Text) zurück, kann jede numerische Formel auf dieser Zelle#VALUE!werfen, undSUMüberspringt sie zwar, aberISNUMBERliestFALSE. - Für „keine Daten" ist
NA()oft der ehrlichste Ersatzwert — Diagramme überspringen#N/A-Punkte, statt sie als null einzuzeichnen.
Die Entscheidung: Wählen Sie den Ersatzwert danach, wie die Zelle konsumiert
wird, nicht nur, um den Fehler zu beseitigen. „Leer für die Anzeige, NA() für
Diagramme, 0 nur, wenn null wirklich die richtige Zahl ist" ist ein guter
Standard.
Warum XLOOKUP IFERROR oft überflüssig macht
Für neue Arbeit ist die sauberste Lösung, gar nicht erst zu hüllen.
XLOOKUP hat ein eingebautes viertes Argument,
if_not_found, das den fehlenden Fall innerhalb des Lookups behandelt:
=XLOOKUP(A2, Ids, Names, "Not found") ' kein IFERROR/IFNA nötig
Das ist dem Hüllen strikt überlegen: Es wird einmal ausgewertet, es löst nur bei
einem echten Nicht-Treffer aus (nicht bei einem #REF! woanders), und die Absicht
steht direkt in der Formel. Dieselbe Idee taucht quer durch die modernen
Funktionen auf — das if_empty-Argument von
FILTER spielt dieselbe Rolle für „keine Zeilen
gefunden". Wenn die Funktion ihren eigenen Nicht-gefunden-Handler bietet, ziehen
Sie ihn einem äußeren IFERROR vor.
Wie ExcelMaster hilft
Das Tückische an der Fehlerbehandlung ist, dass der falsche Ansatz identisch
aussieht wie der richtige — beide lassen das Rot verschwinden. ExcelMaster
schreibt die Version, die nicht lügt: IFNA für Lookups, damit echte Brüche
weiterhin sichtbar werden, das if_not_found von XLOOKUP statt eines äußeren
Hüllers und einen Ersatzwert, der danach gewählt ist, wie die Zelle Ihre Summen
und Diagramme speist. Sie beschreiben, was „nicht gefunden" anzeigen soll; es
sorgt dafür, dass sich kein kaputter Bezug dahinter verstecken kann.
Häufige Fragen
Was ist der Unterschied zwischen IFERROR und IFNA?
IFERROR fängt jeden Fehlertyp ab (#REF!, #NAME?, #VALUE!, #DIV/0!,
#N/A, …). IFNA fängt nur #N/A ab. Für Lookups ist IFNA sicherer, weil
es einen Nicht-Treffer behandelt und dabei echte Bugs wie #REF! weiterhin zeigen
lässt.
Warum ist es eine schlechte Idee, alles in IFERROR zu hüllen?
Weil es echte Bugs versteckt. Eine gelöschte Spalte (#REF!) oder eine falsch
geschriebene Funktion (#NAME?) wird still durch Ihren Ersatzwert ersetzt, eine
kaputte Formel sieht also gut aus und Ihre Ausgabe ist leise falsch. Fangen Sie
nur den bestimmten Fehler ab, den Sie erwarten.
Wie blende ich einen #DIV/0!-Fehler aus?
Hüllen Sie nur diese Division und geben Sie einen sinnvollen Wert zurück:
=IFERROR(A2/B2, 0) oder =IFERROR(A2/B2, ""). Stellen Sie sicher, dass 0
wirklich die richtige Antwort für „kein Divisor" ist — speist die Zelle ein
AVERAGE, zieht eine 0 den Mittelwert nach unten.
Sollte ich IFERROR mit VLOOKUP oder XLOOKUP verwenden?
Bei VLOOKUP ziehen Sie IFNA dem IFERROR vor, damit nur ein Nicht-Treffer
abgefangen wird. Bei XLOOKUP sparen Sie sich den Hüller ganz und nutzen sein
viertes Argument: =XLOOKUP(A2, Ids, Names, "Not found").
Funktioniert IFERROR in älteren Excel-Versionen?
IFERROR gibt es seit Excel 2007 und IFNA seit Excel 2013. Der ältere
IF(ISERROR(…))-Behelf funktioniert noch, wertet Ihre Formel aber zweimal aus —
wechseln Sie zu IFERROR/IFNA, sobald Sie können.
Getestet in
Getestet in: Excel 365 (Windows 11) — zuletzt geprüft am 25.06.2026.
Verwandte Anleitungen: Excel IF · Excel IFS & SWITCH · Excel XLOOKUP · Excel FILTER
