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
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Code | Prijs | Zoek code | Prijs | ||
| 2 | P-100 | € 12,50 | P-140 | Onbekende code | ||
| 3 | P-110 | € 8,75 | ||||
| 4 | P-120 | € 21,00 | ||||
| 5 | P-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
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Product | Omzet | Verkocht | Per stuk | |
| 2 | Krentenbol | € 96,00 | 160 | € 0,60 | |
| 3 | Appeltaart | € 0,00 | 0 | € 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
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Leverancier | Telefoon | Zoek | Telefoon | ||
| 2 | Groothandel Zeeland | 0118-220011 | Drukkerij Vos | Niet in de lijst | ||
| 3 | Papier & Co | 0113-554433 | ||||
| 4 | Koffie Direct | 0111-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.