Naar de inhoud
ExcelOefeningen

De functie ALS.FOUT in Excel: foutmeldingen netjes afvangen

Bijgewerkt op . Engelse naam: IFERROR

ALS.FOUT voert een formule uit en toont iets anders als die formule een foutmelding geeft, zoals =ALS.FOUT(B2/C2;0). Je gebruikt het om #N/B, #DEEL/0! en andere fouten netjes te vervangen door een tekst, een 0 of een lege cel, bijvoorbeeld als een zoekwaarde niet bestaat. In de Engelse Excel heet de functie IFERROR.

Syntax

=ALS.FOUT(waarde; waarde_als_fout)

waarde
De formule die je wilt controleren, bijvoorbeeld VERT.ZOEKEN(D2;A2:B50;2;ONWAAR) of B2/C2.
waarde_als_fout
Wat Excel toont als de formule een fout geeft: een tekst tussen aanhalingstekens, een getal, "" voor een lege cel of een andere formule.

Hoe werkt ALS.FOUT?

Je zet je bestaande formule als eerste argument in ALS.FOUT. Als tweede argument geef je op wat er moet verschijnen als het misgaat.

  • =ALS.FOUT(B2/C2;0) toont 0 als C2 leeg of 0 is
  • =ALS.FOUT(VERT.ZOEKEN(D2;A2:B50;2;ONWAAR);"Niet gevonden") toont een tekst als de code niet bestaat

Gaat alles goed, dan zie je gewoon de uitkomst van de formule. ALS.FOUT doet dan niets.

ALS.FOUT vangt alle foutmeldingen af: #N/B, #DEEL/0!, #WAARDE!, #VERW!, #NAAM?, #GETAL! en #LEEG!. Dat is handig, maar ook een risico. Een typfout in een functienaam verdwijnt dan net zo goed uit beeld als een zoekwaarde die echt niet bestaat.

ALS.FOUT met VERT.ZOEKEN en X.ZOEKEN

De bekendste toepassing is een zoekformule. Bestaat de zoekwaarde niet, dan geeft VERT.ZOEKEN #N/B. Met ALS.FOUT maak je daar een duidelijke melding van:

  • =ALS.FOUT(VERT.ZOEKEN(D2;$A$2:$C$200;3;ONWAAR);"Onbekende code")

Werk je met X.ZOEKEN, dan heb je ALS.FOUT meestal niet nodig. X.ZOEKEN heeft een eigen argument voor als er niets gevonden wordt:

  • =X.ZOEKEN(D2;A2:A200;C2:C200;"Onbekende code")

Dat is netter, omdat X.ZOEKEN dan alleen het niet-gevonden-geval afvangt. Andere fouten, zoals een verkeerd bereik, blijven zichtbaar.

Delen door nul afvangen

Deel je door een lege cel of door 0, dan krijg je #DEEL/0!. Dat zie je vaak bij een gemiddelde prijs per stuk, een percentage of een groei ten opzichte van vorig jaar.

  • =ALS.FOUT(B2/C2;0) toont 0
  • =ALS.FOUT(B2/C2;"") laat de cel leeg
  • =ALS.FOUT(B2/C2;"n.v.t.") toont een tekst

Kies bewust. Een 0 telt mee in een gemiddelde en kan het dus omlaag trekken. Een lege tekst "" slaan SOM en GEMIDDELDE over, maar een gewone optelling zoals =D2+D3 geeft dan #WAARDE!.

Wil je alleen delen door nul afvangen, dan kan het ook preciezer: =ALS(C2=0;0;B2/C2). Andere fouten blijven dan wel zichtbaar.

Verschil tussen ALS.FOUT en ALS.NB

ALS.NB werkt hetzelfde als ALS.FOUT, maar vangt alleen #N/B af. Dat is de fout die een zoekfunctie geeft als iets niet gevonden wordt.

  • =ALS.NB(VERT.ZOEKEN(D2;A2:B50;2;ONWAAR);"Niet gevonden")

Het voordeel is dat echte fouten zichtbaar blijven. Heb je bijvoorbeeld kolom 5 gevraagd terwijl de tabel er maar drie heeft, dan zie je met ALS.NB gewoon #VERW!. Met ALS.FOUT krijg je dan Niet gevonden, en ga je op zoek naar een probleem dat er niet is.

Gebruik bij zoekformules dus liever ALS.NB of het eigen argument van X.ZOEKEN. Bewaar ALS.FOUT voor situaties waarin elke fout dezelfde betekenis heeft, zoals delen door nul.

Wanneer je ALS.FOUT beter niet gebruikt

ALS.FOUT maakt een werkblad rustig, maar het lost niets op. Een fout betekent meestal dat er iets niet klopt. Zoek daarom eerst uit waar de fout vandaan komt, en gebruik ALS.FOUT pas als de fout echt verwacht en onschuldig is.

Een paar vuistregels:

  • Zet niet automatisch om elke formule een ALS.FOUT, want dan zie je echte fouten niet meer
  • Vang een fout zo dicht mogelijk bij de bron af, dus om het deel dat fout kan gaan
  • Kies een melding die zegt wat er aan de hand is, zoals "Code onbekend", in plaats van een lege cel
  • Controleer een nieuwe formule eerst zonder ALS.FOUT en voeg het daarna pas toe

Zo blijft je werkblad netjes en merk je toch op tijd als er iets misgaat.

Voorbeelden

Een onbekende productcode afvangen

Een medewerker typt een productcode in D2 om de prijs op te zoeken. Deze code staat niet in de lijst.

=ALS.FOUT(VERT.ZOEKEN(D2;A2:B5;2;ONWAAR);"Onbekende code") in cel E2

E2
ABCDEF
1CodePrijsZoek codePrijs
2P-100€ 12,50P-140Onbekende code
3P-110€ 8,75
4P-120€ 21,00
5P-130€ 4,95
6
7

Klik op cel E2 om de formule te zien of aan te passen.

P-140 bestaat niet. In plaats van #N/B zie je Onbekende code.

Delen door nul voorkomen

Een bakkerij berekent de gemiddelde opbrengst per verkocht product. Van de appeltaart is deze week niets verkocht.

=ALS.FOUT(B3/C3;0) in cel D3

D3
ABCDE
1ProductOmzetVerkochtPer stuk
2Krentenbol€ 96,00160€ 0,60
3Appeltaart€ 0,000€ 0,00
4
5

Klik op cel D3 om de formule te zien of aan te passen.

0 gedeeld door 0 geeft #DEEL/0!. ALS.FOUT toont in plaats daarvan € 0,00.

Alleen #N/B afvangen met ALS.NB

Je zoekt het telefoonnummer van een leverancier op. Staat de naam er niet in, dan wil je dat zien.

=ALS.NB(VERT.ZOEKEN(D2;A2:B4;2;ONWAAR);"Niet in de lijst") in cel E2

E2
ABCDEF
1LeverancierTelefoonZoekTelefoon
2Groothandel Zeeland0118-220011Drukkerij VosNiet in de lijst
3Papier & Co0113-554433
4Koffie Direct0111-998877
5
6

Klik op cel E2 om de formule te zien of aan te passen.

Drukkerij Vos staat er niet in, dus je ziet Niet in de lijst. Een andere fout zou wel zichtbaar blijven.

Veelgemaakte fouten

  • Overal ALS.FOUT omheen zetten

    Dan zie je echte fouten niet meer. Gebruik het alleen waar een fout verwacht wordt, en bij zoekformules liever ALS.NB.

  • Een lege tekst waar je verder mee rekent

    "" is tekst. =D2+D3 geeft dan #WAARDE!. Gebruik 0 als je verder rekent, of tel op met SOM.

  • De haakjes op de verkeerde plek

    De hele formule moet binnen ALS.FOUT staan: =ALS.FOUT(VERT.ZOEKEN(...);"Niet gevonden"). Sluit de zoekformule eerst af en zet daarna de puntkomma.

Oefen het zelf

Lezen is één, het zelf typen is wat blijft hangen. Deze lessen gaan erover:

Veelgestelde vragen

Hoe verberg ik #N/B in Excel?

Zet de formule in ALS.FOUT of ALS.NB, bijvoorbeeld =ALS.NB(VERT.ZOEKEN(D2;A2:B50;2;ONWAAR);"Niet gevonden").

Hoe voorkom ik #DEEL/0!?

Gebruik =ALS.FOUT(B2/C2;0) of, preciezer, =ALS(C2=0;0;B2/C2).

Wat is het verschil tussen ALS.FOUT en ALS.NB?

ALS.FOUT vangt elke fout af. ALS.NB alleen #N/B, de fout die zoekfuncties geven als iets niet gevonden wordt. Andere fouten blijven dan zichtbaar.

Hoe laat ik een cel leeg bij een fout?

Gebruik twee aanhalingstekens als tweede argument: =ALS.FOUT(B2/C2;"").

Heb ik ALS.FOUT nodig bij X.ZOEKEN?

Meestal niet. X.ZOEKEN heeft een eigen vierde argument voor als er niets gevonden wordt.

Hoe heet ALS.FOUT in het Engels?

In de Engelse Excel heet de functie IFERROR. ALS.NB heet daar IFNA.

Gerelateerde functies