WENNFEHLER-Funktion in Excel, VBA, & GS **Aktualisiert 2022**
In diesem Tutorial zeigen wir Ihnen, wie Sie die Excel-Funktion WENNFEHLER verwenden können, um Formelfehler abzufangen und sie durch eine andere Formel, einen leeren Wert, 0 oder eine benutzerdefinierte Meldung zu ersetzen.
Was ist die WENNFEHLER-Funktion?
Mit WENNFEHLER können Sie eine Berechnung durchführen. Wenn die Berechnung nicht zu einem Fehler führt, wird das Berechnungsergebnis angezeigt. Wenn die Berechnung zu einem Fehler führt, wird eine weitere Berechnung durchgeführt (oder ein statischer Wert wie 0, Leerzeichen oder ein Text ausgegeben). Wann würden Sie die WENNFEHLER-Funktion verwenden?
- Bei der Division von Zahlen, um Fehler, die durch die Division durch 0 entstehen, zu vermeiden,
- Bei der Durchführung von Nachschlageoperationen, um Fehler zu vermeiden, wenn der Wert nicht gefunden wird.
- Wenn Sie eine weitere Berechnung durchführen wollen, wenn die erste einen Fehler ergibt (z. B. Nachschlagen eines Wertes in einer zweiten Tabelle, wenn er in der ersten Tabelle nicht gefunden wird)
Unbehandelte Formelfehler können zu Fehlern in Ihrer Arbeitsmappe führen, aber sichtbare Fehler machen Ihr Arbeitsblatt auch weniger ansprechend.
Wenn Fehler dann 0
Schauen wir uns ein einfaches Beispiel an. Im Folgenden dividieren Sie zwei Zahlen. Wenn Sie versuchen, durch Null zu dividieren, erhalten Sie einen Fehler:
Fügen Sie die Berechnung stattdessen in die WENNFEHLER-Funktion ein und es wird eine 0 anstelle eines Fehlers ausgegeben, wenn Sie durch Null dividieren:
=WENNFEHLER(A2/B2;0)
Wenn Fehler dann leer
Anstatt Fehler auf 0 zu setzen, können Sie sie mit doppelten Anführungszeichen („“) auf leer setzen:
=WENNFEHLER(A2/B2;"")
Wir werden uns weitere WENNFEHLER-Verwendungen mit der SVERWEIS-Funktion ansehen…
WENNFEHLER mit SVERWEIS
Nachschlagefunktionen wie SVERWEIS erzeugen Fehler, wenn der Suchwert nicht gefunden wird. Wie oben gezeigt, können Sie die WENNFEHLER-Funktion verwenden, um Fehler durch Leerzeichen („“) oder Nullen zu ersetzen:
=WENNFEHLER(SVERWEIS(A2;Nachschlagetabelle1;2;FALSCH);0)
Wenn Fehler dann etwas Anderes tun
Die WENNFEHLER-Funktion kann auch verwendet werden, um eine zweite Berechnung durchzuführen, wenn die erste zu einem Fehler führt:
=WENNFEHLER(SVERWEIS(A2;Nachschlagetabelle1;2;FALSCH);
SVERWEIS(A2;Nachschlagetabelle2;2;FALSCH))
Wenn die Daten in ‚Nachschlagetabelle1‘ nicht gefunden werden, wird stattdessen ein SVERWEIS auf ‚Nachschlagetabelle2‘ durchgeführt.
Weitere Beispiele für WENNFEHLER-Formeln
Verschachtelte WENNFEHLER-SVERWEIS – Mehrere Arbeitsblätter
Sie können eine WENNFEHLER in einer anderen WENNFEHLER verschachteln, um 3 separate Berechnungen durchzuführen. In diesem Beispiel werden wir zwei WENNFEHLER verwenden, um SVERWEIS auf 3 separaten Arbeitsblättern durchzuführen:
=WENNFEHLER(SVERWEIS(A2;Tabelle1!$A$2:$B$4;2;FALSCH);
WENNFEHLER(SVERWEIS(A2;Tabelle2!$A$2:$B$4;2;FALSCH);
SVERWEIS(A2;Tabelle3!$A$2:$B$4;2;FALSCH)))
INDEX/VERGLEICH & XVERWEIS
Natürlich funktioniert WENNFEHLER auch mit INDEX/VERGLEICH- und XVERWEIS-Formeln.
WENNFEHLER-XVERWEIS
Die XVERWEIS-Funktion ist eine erweiterte Version der SVERWEIS-Funktion.
=WENNFEHLER(XVERWEIS(A2;Tabelle1!$A$2:$A$4;Tabelle1!$B$2:$B$4); "Nicht gefunden")
WENNFEHLER-INDEX/VERGLEICH
INDEX und VERGLEICH können verwendet werden, um leistungsfähigere Nachschlageformeln (ähnlich wie die neue XVERWEIS-Funktion) in Excel zu erstellen.
=WENNFEHLER(INDEX(Tabelle1!$B$2:$B$4;VERGLEICH(A2;Tabelle1!$A$2:$A$4;0)); "Nicht gefunden")
WENNFEHLER in Arrays
Array-Formeln werden in Excel verwendet, um mehrere Berechnungen mit einer einzigen Formel durchzuführen. Nehmen wir an, es gibt drei Spalten: Jahr, Umsatz und Durchschnittlicher Preis. Sie können die Gesamtmenge mit der folgenden Formel in der Spalte E ermitteln.
{=SUMME($B$2:$B$4/$C$2:$C$4)}
Die Formel funktioniert gut, bis sie versucht, durch Null zu dividieren, was zu dem Fehler #DIV/0! führt.
Sie können die WENNFEHLER-Funktion wie folgt verwenden, um den Fehler zu beheben:
{=SUMME(WENNFEHLER($B$2:$B$4/$C$2:$C$4;0))}
Beachten Sie, dass die WENNFEHLER-Funktion innerhalb der SUMME-Funktion verschachtelt sein muss, da sie sich sonst auf die Gesamtsumme und nicht auf jedes einzelne Element im Array beziehen würde.
WENNNV vs. WENNFEHLER
Die WENNNV-Funktion funktioniert genauso wie die WENNFEHLER-Funktion, außer dass die WENNNV-Funktion nur #NV-Fehler abfängt. Dies ist äußerst nützlich bei der Arbeit mit Nachschlagefunktionen: Normale Formelfehler werden weiterhin erkannt, aber es wird kein Fehler angezeigt, wenn der Nachschlagewert nicht gefunden wird.
=WENNNV(SVERWEIS(A2;Tabelle1!$A$2:$B$4;2;FALSCH); "Nicht gefunden")
WENN-ISTFEHLER
Wenn Sie noch Microsoft Excel 2003 oder eine ältere Version verwenden, können Sie WENNFEHLER durch eine Kombination aus WENN und ISTFEHLER ersetzen. Hier ist ein kurzes Beispiel:
=WENN(ISTFEHLER(A2/B2);0;A2/B2)
WENNFEHLER in Google Sheets
Die WENNFEHLER-Funktion funktioniert in Google Sheets genau so wie in Excel:
WENNFEHLER-Beispiele in VBA
VBA verfügt nicht über eine eingebaute WENNFEHLER-Funktion, aber Sie können auch von VBA aus auf die Excel-Funktion WENNFEHLER zugreifen:
Dim n as long
n = Application.WorksheetFunction.IfError(Wert, Wert_falls_Fehler)
Application.WorksheetFunction gibt Ihnen Zugriff auf viele (nicht alle) Excel-Funktionen in VBA.
Normalerweise wird WENNFEHLER beim Lesen von Werten aus Zellen verwendet. Wenn eine Zelle einen Fehler enthält, kann VBA eine Fehlermeldung ausgeben, wenn versucht wird, den Zellwert zu verarbeiten. Probieren Sie dies mit dem folgenden Beispielcode aus (wobei die Zelle B2 einen Fehler enthält):
Sub WennFehler_VBA()
Dim n As Long, m As Long
'WENNFEHLER
n = Application.WorksheetFunction.IfError(Range("b2").Value, 0)
'KEIN WENNFEHLER
m = Range("b2").Value
End Sub
Der Code weist die Zelle B2 einer Variablen zu. Die zweite Variablenzuweisung führt zu einem Fehler, weil der Zellenwert #NV entspricht, aber die erste funktioniert aufgrund der WENNFEHLER-Funktion problemlos.
Sie können auch VBA verwenden , um eine Formel zu erstellen, die die WENNFEHLER-Funktion enthält:
Range("C2").FormulaR1C1 = "=IFERROR(RC[-2]/RC[-1],0)"
Die Fehlerbehandlung in VBA ist ganz anders als in Excel. Normalerweise verwenden Sie die VBA-Fehlerbehandlung zur Behandlung von Fehlern in VBA. Diese sieht wie folgt aus:
Sub TestWS()
MsgBox ExistiertWS("Test")
End Sub
Function ExistiertWS(wsName As String) As Boolean
Dim ws As Worksheet
On Error Resume Next
Set ws = Sheets(wsName)
'Wenn Fehler, existiert WS nicht
If Err.Number <> 0 Then
ExistiertWS = False
Else
ExistiertWS = True
End If
On Error GoTo -1
End Function
Beachten Sie, dass wir If Err.Number <> 0 Then verwenden, um festzustellen, ob ein Fehler aufgetreten ist. Dies ist eine typische Methode, um Fehler in VBA abzufangen. Die WENNFEHLER-Funktion kann jedoch auch bei der Interaktion mit Excel-Zellen verwendet werden.