ALS.FOUT en ALS.NB in Excel: fouten opvangen zonder echte fouten te verstoppen
Een #DEEL/0! of #N/B ziet er slordig uit, maar het is ook informatie. Op de bladen van een zwembad en een fietskoerier zie je hoe je ze netjes opvangt, en wanneer je er beter van afblijft.
Christophe, oprichter van Lurndo
· 6 min lezen
ALS.FOUT toont iets anders als een formule een foutwaarde geeft, zoals =ALS.FOUT(E11/D11;"-"). Het vangt elke fout op, ook die van een tikfout in je formule. ALS.NB is voorzichtiger: het vangt alleen #N/B, de fout voor "niet gevonden", en laat de rest zien. Gebruik dus ALS.NB rond een zoekfunctie, en zet ALS.FOUT pas om een formule als die werkt.

Wat doen ALS.FOUT en ALS.NB in Excel?
ALS.FOUT toont iets anders als een formule een foutwaarde geeft, en anders gewoon de uitkomst. =ALS.FOUT(E11/D11;"-") deelt E11 door D11 en toont een streepje als dat niet lukt. ALS.NB doet hetzelfde, maar alleen bij de fout #N/B, die je krijgt als een zoekfunctie niets vindt. In een Engelstalige Excel heten ze IFERROR en IFNA.
Beide zijn handig, en allebei kun je er iets mee verstoppen wat je juist had moeten zien. Daarom rekenen we hieronder op twee bladen uit onze Excel-cursus: dat van Zwembad De Plons in Turnhout en dat van Fietskoeriers De Vliegende Velo in Antwerpen. Wil je het stap voor stap leren, volg dan de les over foutwaarden.
Hoe schrijf je ALS.FOUT en ALS.NB?
=ALS.FOUT(waarde;waarde_indien_fout)
=ALS.NB(waarde;waarde_indien_niet_bekend)| Argument | Wat het is | Voorbeeld |
|---|---|---|
| waarde | De berekening of formule die je controleert | E11/D11 |
| waarde_indien_fout | Wat de cel toont bij een fout: tekst, een getal of een andere formule | "-" |
In een Engelstalige Excel schrijf je =IFERROR(E11/D11,"-") en =IFNA(…,"-"). Rekent de formule gewoon, dan doet de functie niets en zie je de uitkomst zelf. Leeg je het tweede argument, dan geeft ALS.FOUT een lege tekst terug (Microsoft).
Welke fouten vangt ALS.FOUT op?
Alle foutwaarden die Excel kent. In een Nederlandstalige Excel zien ze er zo uit, met de Engelse naam ernaast (Microsoft). Lees ze eerst, voor je ze wegwerkt: elke fout zegt wat er mis is.
| Nederlands | Engels | Betekenis | ALS.FOUT | ALS.NB |
|---|---|---|---|---|
| #DEEL/0! | #DIV/0! | Delen door nul of een lege cel | Vangt op | Laat staan |
| #N/B | #N/A | Niet gevonden | Vangt op | Vangt op |
| #WAARDE! | #VALUE! | Rekenen met tekst, of het verkeerde soort argument | Vangt op | Laat staan |
| #VERW! | #REF! | Een verwijzing die niet bestaat | Vangt op | Laat staan |
| #NAAM? | #NAME? | Een naam die Excel niet kent, vaak een tikfout | Vangt op | Laat staan |
| #GETAL! | #NUM! | Een getal dat niet kan | Vangt op | Laat staan |
| #LEEG! | #NULL! | Twee bereiken die elkaar niet snijden | Vangt op | Laat staan |
Hoe vang je #DEEL/0! op?
Beheerder Dirk van De Plons wil weten wat elk lid per bezoek betaalt: het bedrag in kolom E gedeeld door de bezoeken in kolom D. Sara kwam nog nooit en bij Lotte staat niets ingevuld, dus bij hen geeft de deling #DEEL/0!. Een lege cel telt in een berekening als 0.
| Rij | A: Naam | D: Bezoeken | E: Betaald (€) | G: Per bezoek |
|---|---|---|---|---|
| 2 | Jens | 3 | 15 | 5,00 |
| 3 | Noor | 22 | 240 | 10,91 |
| 4 | Mila | 9 | 25 | 2,78 |
| 5 | Rita | 15 | 240 | 16,00 |
| 6 | Lotte | (leeg) | 10 | #DEEL/0! |
| 7 | Rik | 6 | 25 | 4,17 |
| 8 | Jef | 18 | 240 | 13,33 |
| 9 | Wout | 4 | 20 | 5,00 |
| 10 | Hanne | 11 | 25 | 2,27 |
| 11 | Sara | 0 | 240 | #DEEL/0! |
Dat is een van de nette toepassingen van ALS.FOUT. De fout is geen vergissing: er valt voor Sara niets uit te rekenen, en Dirk wil een rustig blad. Probeer het zelf in de rij van Sara.
Probeer het: Sara zonder foutwaarde
Zet in G11 wat Sara per bezoek betaalt: het bedrag in E11 gedeeld door de bezoeken in D11. Toon een streepje "-" als dat een fout geeft.
| A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
| 1 | Naam | Leeftijd | Abonnement | Bezoeken | Betaald | Categorie | Per bezoek | |
| 2 | Jens | 9 | Beurt | 3 | € 15,00 | |||
| 3 | Noor | 34 | Jaar | 22 | € 240,00 | |||
| 4 | Mila | 15 | Maand | 9 | € 25,00 | |||
| 5 | Rita | 67 | Jaar | 15 | € 240,00 | |||
| 6 | Lotte | 41 | Beurt | € 10,00 | ||||
| 7 | Rik | 7 | Maand | 6 | € 25,00 | |||
| 8 | Jef | 72 | Jaar | 18 | € 240,00 | |||
| 9 | Wout | 28 | Beurt | 4 | € 20,00 | |||
| 10 | Hanne | 12 | Maand | 11 | € 25,00 | |||
| 11 | Sara | 55 | Jaar | 0 | € 240,00 | |||
| 12 |
Je formule rekende in je eigen browser, op een echte rekenmotor, en daarna nog eens op een verborgen versie van het blad, met andere bedragen.
Wil je preciezer zijn, test dan de noemer met de functie ALS: =ALS(D11=0;"-";E11/D11). Dat vangt alleen de deling door nul op. Microsoft waarschuwt dat ALS.FOUT alle fouten onderdrukt, niet alleen #DEEL/0! (Microsoft).
Hoe vang je #N/B op bij VERT.ZOEKEN?
Met ALS.NB, rond de zoekfunctie. Dispatcher Kyle van De Vliegende Velo zoekt bij elke rit de gemeente van de klant op. De klantenlijst staat in L2:M6: de code in kolom L, de gemeente in kolom M. Rit R10 is voor een nieuwe klant, K06, die nog niet in de lijst staat. =VERT.ZOEKEN(B11;L2:M6;2;ONWAAR) geeft daar #N/B.
| Code | Gemeente |
|---|---|
| K01 | Antwerpen |
| K02 | Berchem |
| K03 | Antwerpen |
| K04 | Deurne |
| K05 | Wilrijk |
Dat is geen fout van Kyle, maar een echt antwoord: deze klant is er nog niet. Laten we het netjes zeggen. Is VERT.ZOEKEN nieuw voor je, dan legt de les het rustig uit, en de hints hieronder helpen je hier op weg.
Probeer het: een nieuwe klant
Zoek in G11 de gemeente van de klant in B11 op in de lijst L2:M6, met VERT.ZOEKEN. Toon "Nieuwe klant" als de code er niet in staat, met ALS.NB.
| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Rit | Klant | Zone | Km | Gewicht | Prijs | Gemeente | Toeslag | Klantnaam | Naam | Code | Gemeente | Vanaf km | Prijs | |||
| 2 | R01 | K03 | Centrum | 2,5 | 3 | Bakkerij Bloem | K01 | Antwerpen | 0 | € 6,00 | |||||||
| 3 | R02 | K01 | Rand | 7,2 | 12 | Boekhandel Plot | K02 | Berchem | 3 | € 9,00 | |||||||
| 4 | R03 | K05 | Haven | 11,4 | 25 | Café De Zwaan | K03 | Antwerpen | 6 | € 12,00 | |||||||
| 5 | R04 | K02 | Centrum | 1,8 | 1 | Drukkerij Inkt | K04 | Deurne | 10 | € 18,00 | |||||||
| 6 | R05 | K03 | Rand | 5,5 | 8 | Fietsatelier Spaak | K05 | Wilrijk | |||||||||
| 7 | R06 | K04 | Haven | 9,9 | 18 | ||||||||||||
| 8 | R07 | K01 | Centrum | 3 | 4 | ||||||||||||
| 9 | R08 | K02 | Rand | 6 | 10 | Zone | Centrum | Rand | Haven | ||||||||
| 10 | R09 | K05 | Haven | 14 | 30 | Toeslag | € 0,00 | € 2,00 | € 5,00 | ||||||||
| 11 | R10 | K06 | Centrum | 4,2 | 2 | ||||||||||||
| 12 | |||||||||||||||||
| 13 | Positie | Gewicht | Centrum | Rand | Haven | Klasse | Middel | ||||||||||
| 14 | Licht | € 0,00 | € 1,00 | € 3,00 | Zone | Haven | |||||||||||
| 15 | Middel | € 2,00 | € 3,00 | € 5,00 | Uitkomst | ||||||||||||
| 16 | Zwaar | € 4,00 | € 6,00 | € 8,00 | |||||||||||||
| 17 |
X.ZOEKEN heeft dat ingebouwd, als vierde argument: =X.ZOEKEN(B11;L2:L6;M2:M6;"Nieuwe klant") doet hetzelfde zonder ALS.NB. Dat is korter en het blijft even veilig. Hoe beide zoekfuncties verschillen, lees je in VERT.ZOEKEN of X.ZOEKEN.
Wanneer verstopt ALS.FOUT een echte fout?
Telkens wanneer je formule zelf kapot is. ALS.FOUT weet niet waarom er een fout is, alleen dát er een is. Stel dat Kyle per ongeluk kolom 3 vraagt uit een lijst van twee kolommen. Bij ALS.FOUT merkt hij niets, bij ALS.NB wel:
| Formule, voor rit R01 met klant K03 | Uitkomst |
|---|---|
=VERT.ZOEKEN(B2;L2:M6;3;ONWAAR) | #VERW! |
=ALS.FOUT(VERT.ZOEKEN(B2;L2:M6;3;ONWAAR);"Nieuwe klant") | Nieuwe klant |
=ALS.NB(VERT.ZOEKEN(B2;L2:M6;3;ONWAAR);"Nieuwe klant") | #VERW! |
Met ALS.FOUT staat er bij elke rit "Nieuwe klant", ook bij je trouwste klanten, en niemand krijgt een waarschuwing. Hetzelfde gebeurt bij een tikfout: =ALS.FOUT(SOMM(E2:E11);0) toont 0 euro in plaats van #NAAM?, en het blad ziet er kerngezond uit.
Schrijf eerst je formule zonder ALS.FOUT en kijk of ze klopt. Zet het vangnet er pas omheen als je weet welke fout je verwacht.
Wat zet je in de plaats van de fout?
Dat is geen detail, want wat je erin zet, rekent verder. Dirk wil het gemiddelde per bezoek uit kolom G. Staat er bij Lotte en Sara een streepje, dan slaat GEMIDDELDE die tekst over en krijgt hij 7,43 euro. Zet hij er een 0, dan krijgt hij 5,95 euro: twee leden die niets zeggen over de prijs, trekken het gemiddelde naar beneden.
| Bij een fout toon je | Gevolg in GEMIDDELDE | Gevolg bij =G6*2 |
|---|---|---|
"-" of "" | Overgeslagen, 7,43 euro | #WAARDE!, want het is tekst |
0 | Telt mee, 5,95 euro | 0 |
| De fout zelf | #DEEL/0! | #DEEL/0! |
Kies dus een 0 alleen als nul echt het antwoord is. Een leeg ogende cel met "" bevat tekst, en daar kun je niet mee vermenigvuldigen. Meer over wat een gemiddelde wel en niet meeneemt, lees je in het artikel over GEMIDDELDE.
Welke functies horen hierbij?
Rond een foutwaarde staat een klein gezelschap, en elk lid heeft zijn eigen taak. Je ziet ze hieronder met het voorbeeld dat er het best bij past.
| Functie | Wanneer | Voorbeeld |
|---|---|---|
| ALS.FOUT | De fout is verwacht en maakt niet uit welke | =ALS.FOUT(E2/D2;"-") |
| ALS.NB | Een zoekfunctie mag niets vinden | =ALS.NB(VERT.ZOEKEN(…);"Onbekend") |
| ALS | Je weet welk geval je wilt opvangen | =ALS(D2=0;"-";E2/D2) |
| X.ZOEKEN | Zoeken met een eigen alternatief | =X.ZOEKEN(B2;L2:L6;M2:M6;"Onbekend") |
Een gemiddelde zonder rijen geeft ook #DEEL/0!, zoals je ziet in GEMIDDELDE.ALS en GEMIDDELDEN.ALS. Je vindt alle functies met hun Engelse naam op het Excel-spiekbriefje, en een bredere start in de 12 belangrijkste Excel-formules. Wil je foutwaarden leren lezen op een echt blad, volg dan module 3 van de Excel-cursus. Die is gratis.
Veelgestelde vragen
Wat is het verschil tussen ALS.FOUT en ALS.NB?
ALS.FOUT vangt elke foutwaarde op, van
Hoe vervang je
Met =ALS.NB(VERT.ZOEKEN(B2;L2:M6;2;ONWAAR);0) of met "" in plaats van de 0. Denk wel na voor je dat doet. Een 0 telt mee in een gemiddelde, en "" is tekst, waarmee verder rekenen een fout kan geven. Een woord zoals Onbekend is vaak het eerlijkst.
Hoe vermijd je
Zet ALS.FOUT rond de deling, zoals =ALS.FOUT(E2/D2;"-"), of test de noemer met ALS: =ALS(D2=0;"-";E2/D2). De tweede vorm is preciezer, want ze vangt alleen de deling door nul op. Een tikfout of tekst in de cellen blijft dan zichtbaar als foutwaarde.
Moet je ALS.FOUT gebruiken bij X.ZOEKEN?
Meestal niet. X.ZOEKEN heeft een eigen vierde argument voor wat het toont als het niets vindt, zoals =X.ZOEKEN(B11;L2:L6;M2:M6;"Onbekend"). Dat doet hetzelfde als ALS.NB, maar de formule blijft korter, en een andere fout in de formule blijft gewoon zichtbaar. ALS.FOUT is hier dus niet nodig.
Waarom toont ALS.FOUT altijd mijn alternatief?
Dan geeft de formule in elke rij een foutwaarde, en dat wordt verstopt. Haal ALS.FOUT tijdelijk weg en kijk welke fout eronder zit. Vaak is het een tikfout in een functienaam, een kolomnummer buiten het bereik of een verwijzing die niet meer bestaat. Los dat eerst op, en zet ALS.FOUT dan pas terug.
Oefen dit in de cursus
Elke les legt eerst uit en laat je daarna zelf oefenen, met een echte rekenblad in je browser.
- ALS.FOUTLogica · Foutwaarden opvangen
- VERT.ZOEKENOpzoeken · Opzoeken in een kolom
- X.ZOEKENOpzoeken · Zoeken in elke richting
Bronnen
- Microsoft Support, ALS.FOUT, functie
- Microsoft Support, ALS.NB, functie
- Microsoft Support, Een fout
- Microsoft Support, TYPE.FOUT, functie
Christophe, oprichter van Lurndo
Christophe bouwt Lurndo vanuit België, met korte, speelse oefeningen voor SQL, Excel, HTML & CSS en blind typen, die meteen tonen wat je antwoord doet. Op deze blog beantwoordt Christophe de vragen die mensen bij het leren tegenkomen, met bronnen die je zelf kan nagaan.
Lees ook
GEMIDDELDE.ALS en GEMIDDELDEN.ALS: voorbeelden met één of meer voorwaarden, en waarom je #DEEL/0! krijgtTwee functies die bijna hetzelfde heten, met hun argumenten in een andere volgorde. Op het blad van een Gentse kringwinkel zie je wanneer je welke neemt, en waar een gemiddelde je op het verkeerde been zet.Excel · · 7 min lezen
AANTALLEN.ALS-voorbeelden in Excel: tellen met meerdere voorwaarden, ook tussen twee waardenHoeveel stuks kleding verkocht Greet boven de 5 euro? Op het blad van een Gentse kringwinkel zie je hoe AANTALLEN.ALS rij per rij telt, en je maakt er meteen zelf een.Excel · · 7 min lezen