Sjabloon

Deze zelfstudie laat zien hoe u de Excel IFERROR-functie gebruikt om formulefouten op te sporen en deze te vervangen door een andere formule, lege waarde, 0 of een aangepast bericht.

IFERROR Functieoverzicht

De IFERROR-functie Controleert of een formule een fout oplevert. Als ONWAAR, retourneer dan het oorspronkelijke resultaat van de formule. Indien WAAR, retourneer dan een andere gespecificeerde waarde.

IFERROR-syntaxis

Om de IFERROR Excel-werkbladfunctie te gebruiken, selecteert u een cel en typt u:
=ALS.FOUT(
Merk op hoe de invoer van de IFERROR-formule wordt weergegeven:

IFERROR Functiesyntaxis en ingangen:

=ALS.FOUT(WAARDE;waarde_als_fout)

waarde - Een uitdrukking. Voorbeeld: 4/A1

value_if_error - Waarde of Berekening die moet worden uitgevoerd als de vorige invoer tot een fout leidt. Voorbeeld 0 of “” (leeg)

Wat is de IFERROR-functie?

De functie IFERROR valt onder de categorie Logische functies in Microsoft Excel, waaronder ISNA, ISERROR en ISERR. Al deze functies helpen bij het opsporen en afhandelen van formulefouten.

Met IFERROR kunt u een berekening uitvoeren. Als de berekening doet niet resulteert in een fout, dan wordt het berekeningsresultaat weergegeven. Als de berekening doet resulteert in een fout, dan wordt een andere berekening uitgevoerd (of wordt een statische waarde zoals 0, blanco of wat tekst uitgevoerd).

Wanneer zou u de IFERROR-functie gebruiken?

  • Bij het delen van getallen om fouten te voorkomen die worden veroorzaakt door delen door 0
  • Bij het uitvoeren van zoekopdrachten om fouten te voorkomen als de waarde niet wordt gevonden.
  • Wanneer u nog een berekening wilt uitvoeren als de eerste resulteert in een fout (bijv. Zoek een waarde op in een 2nd tabel als deze niet in de eerste tabel staat)

Onverwerkte formulefouten kunnen fouten in uw werkmap veroorzaken, maar zichtbare fouten maken uw spreadsheet ook minder zichtbaar aantrekkelijk.

Als Fout Dan 0

Laten we eens kijken naar een eenvoudig voorbeeld. Hieronder deel je twee getallen. Als u probeert te delen door nul, krijgt u een foutmelding:

Voeg in plaats daarvan de berekening in de IFERROR-functie in en als u door nul deelt, wordt een 0 uitgevoerd in plaats van een fout:

=ALS.FOUT(A2/B2,0)

Als Fout Dan Leeg

In plaats van fouten op 0 te zetten, kunt u ze op 'blanco' zetten met dubbele aanhalingstekens (""):

=ALS.FOUT(A2/B2,"")

We zullen kijken naar meer IFERROR-gebruik met de VERT.ZOEKEN-functie…

IFERROR met VERT.ZOEKEN

Opzoekfuncties zoals VERT.ZOEKEN zullen fouten genereren als de opzoekwaarde niet wordt gevonden. Zoals hierboven weergegeven, kunt u de IFERROR-functie gebruiken om fouten te vervangen door spaties ("") of nullen:

Als er een fout is, doe dan iets anders

De IFERROR-functie kan ook worden gebruikt om een ​​2e berekening uit te voeren als de 1e berekening een fout oplevert:

=IFERROR(VLOOKUP(A2,LookupTable1!$A$2:$B$4,2,FALSE), VERT.ZOEKEN(A2,LookupTable2!$A$2:$B$4,2,FALSE))

Hier, als de gegevens niet worden gevonden in 'LookupTable1', wordt in plaats daarvan een VERT.ZOEKEN uitgevoerd op 'LookupTable2'.

Meer IFERROR-formulevoorbeelden

Geneste IFERROR - VERT.ZOEKEN Meerdere bladen

U kunt een IFERROR nesten in een andere IFERROR om 3 afzonderlijke berekeningen uit te voeren. Hier zullen we twee IFERROR's gebruiken om VERT.ZOEKEN uit te voeren op 3 afzonderlijke werkbladen:

=IFERROR(VLOOKUP(A2,LookupTable1!$A$2:$B$4,2,FALSE), IFERROR(VLOOKUP(A2,LookupTable2!$A$2:$B$4,2,FALSE), VERT.ZOEKEN(A2,LookupTable3!$ A$2:$B$4,2,FALSE)))

Index / Match & XLOOKUP

Natuurlijk werkt IFERROR ook met Index / Match- en XLOOKUP-formules.

IFERROR XZOEKEN

De functie XLOOKUP is een geavanceerde versie van de functie VERT.ZOEKEN.

IFERROR INDEX / MATCH

U kunt ook waarden opzoeken met de functies INDEX en VERGELIJKEN in Excel.

IFERROR in arrays

Matrixformules in Excel worden gebruikt om verschillende berekeningen uit te voeren via een enkele formule. Laten we aannemen dat er drie kolommen zijn met Jaar, Verkoop en Gem. prijs. De totale hoeveelheid vind je met de volgende formule in kolom E.

{=SOM($B$2:$B$4/$C$2:$C$4)}

De formule presteert goed totdat het delerbereik een lege cel of nullen krijgt. Als gevolg hiervan krijg je de #DIV/0!-fout opnieuw te zien.

Deze keer kunt u de IFERROR-functie als volgt gebruiken:

{=SOM(IFERROR($B$2:$B$4/$C$2:$C$4,0))}

Merk op dat de IFERROR-functie moet worden genest in de SOM-functie, anders is de IFERROR van toepassing op het totaal en niet op elk afzonderlijk item in de array.

IFNA versus IFERROR

De IFNA-functie werkt precies hetzelfde als de IFERROR-functie, behalve dat de IFNA-functie alleen #N/A-fouten opvangt. Dit is uitermate handig bij het werken met opzoekfuncties: reguliere formulefouten worden nog steeds gedetecteerd, maar er zal geen fout verschijnen als de opzoekwaarde niet wordt gevonden.

=IFNA(VLOOKUP(A2,LookupTable1!$A$2:$B$4,2,FALSE),"Niet gevonden")

Als ISERROR

Als u nog steeds Microsoft Excel 2003 of een oudere versie gebruikt, kunt u IFERROR vervangen door een combinatie van IF en ISERROR. Hier is een kort voorbeeld:

=ALS(ISFOUT(A2/B2),0,A2/B2)

IFERROR in Google Spreadsheets

De IFERROR-functie werkt in Google Spreadsheets precies hetzelfde als in Excel:

IFERROR-voorbeelden in VBA

VBA heeft geen ingebouwde IFERROR-functie, maar je hebt ook toegang tot de Excel IFERROR-functie vanuit VBA:

Dim n as long n = Application.WorksheetFunction.IfError(Value, value_if_error)

Toepassing.WerkbladFunctie geeft u toegang tot veel (niet alle) Excel-functies in VBA.

Typisch wordt IFERROR gebruikt bij het lezen van waarden uit cellen. Als een cel een fout bevat, kan VBA een foutmelding geven wanneer wordt geprobeerd de celwaarde te verwerken. Probeer dit uit met de onderstaande voorbeeldcode (waarin cel B2 een fout bevat):

Sub IFERROR_VBA() Dim n As Long, m As Long 'IFERROR n = Application.WorksheetFunction.IfError(Range("b2").Value, 0) 'No IFERROR m = Range("b2").Value End Sub

De code wijst cel B2 toe aan een variabele. De tweede variabeletoewijzing geeft een fout omdat de celwaarde #N/A is, maar de eerste werkt prima vanwege de IFERROR-functie.

U kunt VBA ook gebruiken om een ​​formule te maken die de IFERROR-functie bevat:

Bereik ("C2").FormuleR1C1 = "=IFERROR(RC[-2]/RC[-1],0)"

Foutafhandeling in VBA is veel anders dan in Excel. Om fouten in VBA af te handelen, gebruikt u doorgaans VBA Error Handling. VBA-foutafhandeling ziet er als volgt uit:

Sub TestWS() MsgBox DoesWSExist("test") End Sub Function DoesWSExist(wsName As String) As Boolean Dim ws As Worksheet On Error Hervatten Volgende Set ws = Sheets(wsName) 'If Error WS Bestaat niet If Err.Number 0 Dan DoesWSExist = False Anders DoesWSExist = True End If On Error GoTo -1 End Function

Merk op dat we gebruiken Als Foutnummer 0 Dan om te zien of er een fout is opgetreden. Dit is een typische manier om fouten in VBA op te sporen. De IFERROR-functie heeft echter enkele toepassingen bij interactie met Excel-cellen.

IFERROR Oefeningen + voorbeelden

Dubbelklik in een cel om de formule te bekijken en te bewerken.

Te doen:

verwijder spreadsheetvoorbeelden onderaan voor nu …

testen / nadenken over:

  • afbeelding versus gif bovenaan
  • aandacht vragen voor interactieve voorbeelden in de les?
  • her-label / re-style codeblokken…
  • TOC bovenaan? ze van deze pagina's verwijderen en handmatig [TOC] toevoegen?
    • zet de "excel, googlesheets" VBA-links bovenaan en misschien verwijder je TOC? “IFERROR-functie beschikbaar in … ”
  • hoe zit het met enkele andere afbeeldingen … zoals een Excel-pictogram of google sheets of VBA om het er mooier uit te laten zien?
    • ja, ik denk dat ik een concept-e-mail zie waarin het Excel-logo wordt gebruikt en voeg dat ergens toe … . en maak er een mooie koptekst van … hetzelfde met g sheets en vba!
  • maak de lettergrootte ter plaatse kleiner!
  • fix CSS … TOC, syntaxisgebied … enz.!

voeg een downloadknop toe om de spreadsheet te downloaden + vraag om e-mail NA de download…

of doe iets zoals de sjabloonproducenten doen… waar ze je vragen een enquête in te vullen

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave