Beschikbaar in:Alle versies (Werkt in Excel 2007, elke latere versie, Microsoft 365 en Excel voor het web)Voorbeelden vragen Excel 2021 of nieuwerCategorie:Logisch

ALS

IF in Engelstalige Excel

Toetst een voorwaarde en geeft de ene waarde als die klopt en een andere als die niet klopt.

Moeilijkheidsgraad 2 van 5. Eén test met twee uitkomsten leer je snel; de juiste volgorde van geneste tests en het verschil tussen een lege cel en een nul vragen meer oefening.

Laatst bijgewerkt: 13 oktober 2026

Bekijk de uitgewerkte voorbeelden

Fragment van het werkblad: in C2 staat de formule
RijABC
1GrootboekrekeningVerschilOpvolging
21300 Debiteuren€4,250.00€ 4.250,00Onderzoeken=ALS(B2>=1500, "Onderzoeken", "Onder de grens")=ALS(B2>=1500; "Onderzoeken"; "Onder de grens")
31600 Crediteuren€1,500.00€ 1.500,00
41100 Bank€0.00€ 0,00
51800 Te betalen btw€12,800.00€ 12.800,00
64500 Huisvestingskosten€380.00€ 380,00
Formulecel (C2)Invoer

Resultaat: Onderzoeken

=ALS(B2>=1500, "Onderzoeken", "Onder de grens")
=ALS(B2>=1500; "Onderzoeken"; "Onder de grens")

Wat ALS doet en wanneer je het gebruikt

Wat het doet: het toetst een voorwaarde en geeft de ene waarde als die klopt en een andere als dat niet zo is, bijvoorbeeld Onderzoeken of Onder de grens naast een verschil in de aansluiting.

Wanneer je het gebruikt: voor labels als geslaagd of gezakt, voor de keuze tussen twee berekeningen en om een formule pas te laten rekenen als de gegevens er zijn. Bij drie of meer klassen leest ALS.VOORWAARDEN prettiger; bij veel klassen is een opzoektabel met X.ZOEKEN beter te onderhouden.

Hoe Excel de functie berekent

Excel rekent eerst logische_test uit en brengt die terug tot WAAR of ONWAAR. Is het WAAR, dan berekent Excel waarde_als_waar en geeft dat terug; is het ONWAAR, dan waarde_als_onwaar, of ONWAAR als je dat argument hebt weggelaten.

Bij één enkele test rekent Excel de tak die niet gekozen wordt nooit uit, dus ALS(B2=0; 0; A2/B2) kan geen #DEEL/0! geven. Is de test een heel bereik, dan toetst Excel elke rij, berekent het beide takken voor alle rijen, kiest per rij en loopt het resultaat over.

Let op: In een vergelijking met een getal telt een lege cel als 0.

Denkmodel

Een wissel op het spoor: de test zet de wissel één keer om, en de trein rijdt over precies één van de twee sporen verder.

Begrippen op deze pagina: overloop, argument, bereik

ALS(logische_test, waarde_als_waar, [waarde_als_onwaar])
ALS(logische_test; waarde_als_waar; [waarde_als_onwaar])
Argumenten
ArgumentSoortBetekenisStandaard
logische_testVerplichtEen vergelijking of waarde die uitkomt op WAAR of ONWAAR.
waarde_als_waarVerplichtWat de cel toont als de test WAAR is.
waarde_als_onwaarOptioneelWat de cel toont als de test ONWAAR is. Laat je dit weg, dan krijg je ONWAAR.ONWAAR

Geeft terug:waarde_als_waar of waarde_als_onwaar, afhankelijk van de test

Formules gebruiken komma's (,) tussen de argumenten, zoals in de Engelse Excel. Formules gebruiken puntkomma's (;) tussen de argumenten, zoals in de Nederlandse Excel. Formules gebruiken puntkomma's (;) tussen de argumenten, zoals in de Nederlandse Excel; de Engelse Excel gebruikt komma's (,).

Uitgewerkte voorbeelden

Beginner

Verschillen in de aansluiting toetsen aan de opvolggrens

Je sluit de grootboekrekeningen aan op de specificaties van de cliënt en zet per rekening het verschil op een rij. Verschillen vanaf 1,5001.500 volg je op; alles daaronder blijft zonder opvolging op de lijst staan. Een verschil van precies 1,5001.500 valt dus nog onder opvolgen.

Je wilt een kolom met Onderzoeken of Onder de grens, zodat je in het dossier direct ziet wat er nog te doen is.

Fragment van het werkblad: in C2 staat de formule
RijABCD
1GrootboekrekeningVerschilOpvolging
21300 Debiteuren€4,250.00€ 4.250,00Onderzoeken=ALS(B2>=1500, "Onderzoeken", "Onder de grens")=ALS(B2>=1500; "Onderzoeken"; "Onder de grens")
31600 Crediteuren€1,500.00€ 1.500,00
41100 Bank€0.00€ 0,00
51800 Te betalen btw€12,800.00€ 12.800,00
64500 Huisvestingskosten€380.00€ 380,00
7
Formulecel (C2)Invoer

Formule in C2

=ALS(B2>=1500, "Onderzoeken", "Onder de grens")
=ALS(B2>=1500; "Onderzoeken"; "Onder de grens")

Resultaat: Onderzoeken

Stap voor stap
  1. Excel leest B2 en vindt 4250 (het verschil op rekening 1300 Debiteuren). Die waarde gaat de logische_test in.
  2. Excel rekent 4250>=1500 uit. Dat klopt, dus logische_test wordt WAAR.
  3. Bij WAAR geeft ALS waarde_als_waar terug: de tekst Onderzoeken. Het derde argument blijft onaangeroerd.
  4. Kopieer de formule naar beneden. C3 toetst 1500>=1500 voor rekening 1600 Crediteuren. Dat is WAAR, dus het verschil wordt opgevolgd. Met > in plaats van >= zou de test 1500>1500 zijn, ONWAAR, en glipt een verschil precies op de grens erdoor.
  5. C4 toetst 0>=1500 voor de bank: ONWAAR, dus Onder de grens. C5 toetst 12800>=1500: WAAR, dus Onderzoeken. C6 toetst 380>=1500: ONWAAR, dus Onder de grens.

Let op: Een lege cel met het verschil telt in de vergelijking als 0, dus een rekening die nog niet is aangesloten, staat op Onder de grens. In het voorbeeld op niveau Halfgevorderd toets je daarom eerst op lege cellen.

Meer over dit voorbeeld: waarom het werkt

Waarom het werkt

De vergelijking B2>=1500 is de hele beslissing; ALS zet die WAAR of ONWAAR alleen om in een label dat de beoordelaar begrijpt. B2 is een relatieve verwijzing, dus elke kopie toetst het verschil in haar eigen rij.

Halfgevorderd

Debiteurenbevestigingen: geen reactie is niet hetzelfde als nul

Je hebt saldobevestigingen naar je debiteuren gestuurd per 31 december 2025. In kolom C zet je het saldo dat de debiteur heeft bevestigd. Een lege cel betekent dat de debiteur nog niet heeft gereageerd en dat je nog moet nabellen; een 0 betekent dat de debiteur bevestigt niets verschuldigd te zijn. Je wilt per debiteur het verschil met de grootboekadministratie, en bij wie niet heeft gereageerd een duidelijke melding.

Fragment van het werkblad: in D2 staat de formule
RijABCDE
1RelatieSaldo grootboekBevestigd saldoVerschil
2D1001€18,250.00€ 18.250,00€17,900.00€ 17.900,00€350.00€ 350,00=ALS(C2="", "Geen reactie", B2-C2)=ALS(C2=""; "Geen reactie"; B2-C2)
3D1002€6,400.00€ 6.400,00
4D1003€4,200.00€ 4.200,00€0.00€ 0,00
5D1004€9,800.00€ 9.800,00€9,800.00€ 9.800,00
6D1005€15,600.00€ 15.600,00
7
Formulecel (D2)Invoer

Formule in D2

=ALS(C2="", "Geen reactie", B2-C2)
=ALS(C2=""; "Geen reactie"; B2-C2)

Resultaat: €350.00€ 350,00

Stap voor stap
  1. Excel leest C2 en vindt 17900. De test C2="" vraagt of de cel leeg is; dat is niet zo, dus logische_test is ONWAAR.
  2. Bij ONWAAR berekent ALS waarde_als_onwaar: B2-C2 = 18250 - 17900 = 350. Dat is het verschil dat je voor D1001 moet toelichten.
  3. In D3 kijkt de test naar C3, en die is leeg. C3="" is WAAR, dus de cel toont Geen reactie en aan de aftrekking komt Excel niet toe.
  4. D4 leest de 0 van D1003. Een nul is een waarde en geen lege cel, dus C4="" is ONWAAR en het resultaat is 4200 - 0 = 4200: de debiteur betwist het hele saldo.
  5. Had je getoetst met C2=0, dan telde een lege cel ook als 0 en kreeg D1002 een verschil van 6400 - 0 = 6400 in plaats van Geen reactie. Juist de test op "" houdt de twee gevallen uit elkaar.
  6. D5 geeft 9800 - 9800 = 0, een bevestigd saldo zonder verschil. D6 is leeg in C6, dus Geen reactie. Laat je het derde argument weg, dan staat er bij elke rij met een reactie ONWAAR in plaats van een verschil.

Let op: Een cel met alleen een spatie lijkt leeg maar is het niet: C2="" is dan ONWAAR en de aftrekking geeft #WAARDE!. Maak zulke cellen leeg met de Delete-toets.

Meer over dit voorbeeld: waarom het werkt, nog 1 valkuil, 1 variant

Waarom het werkt

Een vergelijking met "" is alleen WAAR bij een lege cel (of een cel met lege tekst), terwijl een vergelijking met 0 leeg en nul over één kam scheert. Doordat de test op leeg vooraan staat, rekent de formule alleen met rijen waarin echt een bevestiging staat.

Meer om op te letten

  • SOM slaat de tekst Geen reactie in kolom D over, dus een totaal over D2:D6 lijkt compleet terwijl er nog twee bevestigingen openstaan. Tel de ontbrekende reacties ernaast.

Varianten

=ALS(ISLEEG(C2), "Geen reactie", B2-C2)
=ALS(ISLEEG(C2); "Geen reactie"; B2-C2)

ISLEEG is strenger: een cel met lege tekst uit een andere formule is voor ISLEEG niet leeg. Kies deze variant als kolom C met de hand wordt ingevuld.

Gevorderd

Voorziening op achterstallige debiteuren in drie klassen met geneste tests

In de ouderdomsanalyse van Veldhuis Installatie BV herreken je de voorziening voor oninbare vorderingen, met een percentage van het openstaande bedrag per klasse:

  • 50% bij 90 dagen of meer achterstand
  • 10% vanaf 30 dagen
  • 2% daaronder

Het percentage geldt voor het hele openstaande bedrag, niet per schijf. Je wilt per factuur één formule die het percentage kiest en meteen vermenigvuldigt, en een factuur van precies 90 dagen moet in de hoogste klasse vallen.

Fragment van het werkblad: in D2 staat de formule
RijABCDE
1FactuurnummerDagen achterstandOpenstaand bedragVoorziening
226-01184747€12,000.00€ 12.000,00€1,200.00€ 1.200,00=C2 * ALS(B2>=90, 0.5, ALS(B2>=30, 0.1, 0.02))=C2 * ALS(B2>=90; 0,5; ALS(B2>=30; 0,1; 0,02))
326-0071112112€8,400.00€ 8.400,00
426-01423030€5,000.00€ 5.000,00
526-02031212€7,350.00€ 7.350,00
626-00549090€3,000.00€ 3.000,00
7
Formulecel (D2)Invoer

Formule in D2

=C2 * ALS(B2>=90, 0.5, ALS(B2>=30, 0.1, 0.02))
=C2 * ALS(B2>=90; 0,5; ALS(B2>=30; 0,1; 0,02))

Resultaat: €1,200.00€ 1.200,00

Stap voor stap
  1. Excel begint met de buitenste ALS. In B2 staat 47, en 47>=90 is ONWAAR, dus Excel gaat naar waarde_als_onwaar: de binnenste ALS.
  2. De binnenste ALS toetst 47>=30. Dat is WAAR, dus de binnenste ALS geeft 0,1 terug. Aan de 0,02 komt Excel niet toe.
  3. De buitenste ALS geeft 0,1 door en dan volgt de vermenigvuldiging: 12000 × 0,1 = 1200.
  4. In de rijen eronder: factuur 26-0071 met 112 dagen komt door de eerste test, 8400 × 0,5 = 4200. Factuur 26-0142 met precies 30 dagen haalt de eerste test niet maar de tweede wel dankzij >=, 5000 × 0,1 = 500.
  5. Factuur 26-0203 met 12 dagen haalt geen van beide tests en komt uit bij de laatste waarde: 7350 × 0,02 = 147. Factuur 26-0054 met precies 90 dagen haalt de eerste test dankzij >=, dus 3000 × 0,5 = 1500.

Let op: Draai je de twee tests om, dan geeft de formule nog steeds op elke rij een getal, maar krijgen de facturen 26-0071 en 26-0054 10% in plaats van 50%, omdat 112>=30 al WAAR is. Op het blad ziet niets er verkeerd uit.

Meer over dit voorbeeld: waarom het werkt, nog 1 valkuil, 2 varianten

Waarom het werkt

Geneste ALS-functies worden van buiten naar binnen afgewerkt, en bij de eerste WAAR houdt het zoeken op. Doordat de grenzen van hoog naar laag getoetst worden, blijft elke factuur hangen in de hoogste klasse die ze haalt. ALS kiest alleen het percentage; de vermenigvuldiging staat erbuiten, dus die schrijf je maar één keer.

Meer om op te letten

  • Verandert het beleid van de cliënt, dan moet je de percentages in elke rij uit de formule vissen. Heb je meer dan drie klassen, zet ze dan in een tabel en gebruik X.ZOEKEN met overeenkomstmodus -1.

Varianten

=C2 * ALS.VOORWAARDEN(B2>=90, 0.5, B2>=30, 0.1, WAAR, 0.02)
=C2 * ALS.VOORWAARDEN(B2>=90; 0,5; B2>=30; 0,1; WAAR; 0,02)

ALS.VOORWAARDEN zet test en uitkomst in paren achter elkaar, zonder nesten; de laatste WAAR staat voor 'al het andere'. Vanaf drie klassen de betere keuze, in Excel 2019 en later.

=C2 * ALS(B2<30, 0.02, ALS(B2<90, 0.1, 0.5))
=C2 * ALS(B2<30; 0,02; ALS(B2<90; 0,1; 0,5))

Dezelfde klassen, nu van laag naar hoog getoetst met <. Beide volgordes werken, zolang de operator past bij de richting.

ExpertExcel 2021 of nieuwer (Dit voorbeeld vereist Excel 2021 of nieuwer)

Saldibalans tegen de specificaties van de cliënt voor alle rekeningen tegelijk

Je vergelijkt het eindsaldo per rekening in de saldibalans met het saldo in de specificatie die de cliënt heeft aangeleverd. De uitvoeringsmaterialiteit is 15,00015.000 (cel F2). Waar het absolute verschil daarboven komt, wil je het verschil om op te volgen; anders 0.

Een lege cel bij de specificatie betekent dat de cliënt die specificatie nog niet heeft geleverd, en dan mag de rekening niet per ongeluk goedgekeurd lijken; een 0 betekent dat de specificatie een nulsaldo laat zien.

Fragment van het werkblad: in D2 staat de formule
RijABCDEFG
1GrootboekrekeningSaldibalansSpecificatieOp te volgenUitvoeringsmaterialiteit
21300 Debiteuren€482,300.00€ 482.300,00€455,800.00€ 455.800,00€26,500.00€ 26.500,00=LET( grootboek, B2:B7, specificatie, C2:C7, tolerantie, $F$2, ALS(specificatie = "", "Specificatie opvragen", ALS(ABS(grootboek - specificatie) > tolerantie, grootboek - specificatie, 0)) )=LET( grootboek; B2:B7; specificatie; C2:C7; tolerantie; $F$2; ALS(specificatie = ""; "Specificatie opvragen"; ALS(ABS(grootboek - specificatie) > tolerantie; grootboek - specificatie; 0)) )1500015000
31100 Bank€184,500.00€ 184.500,00€184,500.00€ 184.500,00€0.00€ 0,00
41600 Crediteuren€231,400.00€ 231.400,00Specificatie opvragen
51800 Te betalen btw€38,200.00€ 38.200,00€0.00€ 0,00€38,200.00€ 38.200,00
63000 Voorraad€96,700.00€ 96.700,00€91,000.00€ 91.000,00€0.00€ 0,00
74500 Huisvestingskosten€58,800.00€ 58.800,00€76,300.00€ 76.300,00-€17,500.00€ -17.500,00
8
Formulecel (D2)InvoerOverloopresultaat

Formule in D2

=LET(
  grootboek, B2:B7,
  specificatie, C2:C7,
  tolerantie, $F$2,
  ALS(specificatie = "", "Specificatie opvragen", ALS(ABS(grootboek - specificatie) > tolerantie, grootboek - specificatie, 0))
)
=LET(
  grootboek; B2:B7;
  specificatie; C2:C7;
  tolerantie; $F$2;
  ALS(specificatie = ""; "Specificatie opvragen"; ALS(ABS(grootboek - specificatie) > tolerantie; grootboek - specificatie; 0))
)

Resultaat: €26,500.00 / €0.00 / Specificatie opvragen / €38,200.00 / €0.00 / -€17,500.00€ 26.500,00 / € 0,00 / Specificatie opvragen / € 38.200,00 / € 0,00 / € -17.500,00

Stap voor stap
  1. LET geeft de invoer een naam: grootboek is B2:B7 (482300, 184500, 231400, 38200, 96700, 58800), specificatie is C2:C7 (455800, 184500, leeg, 0, 91000, 76300) en tolerantie is $F$2 = 15000.
  2. De buitenste ALS toetst specificatie = "" voor alle zes rijen tegelijk: ONWAAR, ONWAAR, WAAR, ONWAAR, ONWAAR, ONWAAR. Alleen de specificatie van de crediteuren ontbreekt; de 0 bij de te betalen btw is een echte waarde.
  3. De verschillen grootboek - specificatie zijn 482300 - 455800 = 26500; 184500 - 184500 = 0; 231400 - 0 = 231400 voor de lege rij; 38200 - 0 = 38200; 96700 - 91000 = 5700; 58800 - 76300 = -17500.
  4. De binnenste test vergelijkt het absolute verschil met tolerantie: 26500>15000 WAAR; 0>15000 ONWAAR; 231400>15000 WAAR; 38200>15000 WAAR; 5700>15000 ONWAAR; 17500>15000 WAAR. Bij WAAR komt het verschil met teken terug, bij ONWAAR een 0.
  5. Omdat de test een heel bereik is, rekent Excel beide takken voor elke rij uit en kiest daarna per rij. De buitenste ALS zet bij de crediteuren Specificatie opvragen in plaats van 231400, en het resultaat loopt over van D2 tot D7: 26500, 0, Specificatie opvragen, 38200, 0, -17500.
  6. Typ 220000 in C4: bij de crediteuren wordt het 231400 - 220000 = 11400, en 11400>15000 is ONWAAR, dus 0. De rest van het overloopbereik blijft gelijk.

Let op: De omgekeerde fout is toetsen op specificatie = 0 in plaats van specificatie = "". De rij met crediteuren toont dan nog steeds Specificatie opvragen, maar de te betalen btw ook, en het verschil van 38200 op de enige rekening waarvan de specificatie echt nul toont, wordt nooit opgevolgd.

Meer over dit voorbeeld: waarom het werkt, nog 1 valkuil, 1 variant

Waarom het werkt

De test op leeg staat om de materialiteitstoets heen, dus een rekening zonder specificatie kan nooit goedgekeurd lijken, terwijl een echte 0 net als elk ander saldo wordt vergeleken. LET geeft elke invoer een naam, zodat je de controleregel terugleest zoals hij bedoeld is, en één formule bedient de hele saldibalans zonder kopiëren.

Groeit de regel naar vier of vijf uitkomsten, gebruik deze opbouw dan niet: een opzoektabel met X.ZOEKEN houdt de regels zichtbaar op het blad in plaats van verstopt in een formule. Voor oudere Excel-versies is het alternatief een losse ALS per rij, naar beneden gekopieerd; dat is meer onderhoud, maar werkt zonder dynamische matrices.

Meer om op te letten

  • Specificatie opvragen is tekst. SOM over D2:D7 slaat de tekst ongemerkt over, dus de som van de verschillen lijkt compleet; een berekening als D2:D7 * 1 geeft in die rij #WAARDE!, en dat is precies het signaal dat je wilt.

Varianten

=ABS(B2:B7 - C2:C7) > $F$2
=ABS(B2:B7 - C2:C7) > $F$2

Heb je alleen een vlag nodig, laat ALS dan weg: de vergelijking geeft per rij zelf al WAAR of ONWAAR en loopt over. Schrijf nooit ALS(test; "WAAR"; "ONWAAR"), want dan worden de vlaggen tekst.

Veelgemaakte fouten

Veelgemaakte fouten
SymptoomOorzaakOplossing
Uitkomsten zijn tekst, geen WAAR of ONWAARJe hebt ALS(B2>C2; "WAAR"; "ONWAAR") geschreven, en later ziet een filter of telling op die kolom de uitkomsten niet als WAAR en ONWAAR.Door de aanhalingstekens zijn het teksten geworden. Schrijf WAAR en ONWAAR zonder aanhalingstekens, of laat ALS helemaal weg: =B2>C2 geeft zelf al WAAR of ONWAAR.
De beste verkopers krijgen het middelste tariefEen geneste ALS toetst C2>=20000 vóór C2>=50000, en je beste verkopers krijgen het middelste tarief.ALS stopt bij de eerste test die WAAR is. Werk je met 'groter dan of gelijk aan', begin dan bij de hoogste grens en werk naar beneden.
Lege cellen tellen als nulALS(C2=0; ...) moet nullen afvangen, maar slaat ook aan op lege cellen.Toets met C2="" op leeg, en pas daarna op nul.
Het woord ONWAAR staat in de celIn cellen die leeg hadden moeten blijven, staat het woord ONWAAR.waarde_als_onwaar ontbreekt. Vul het argument aan, met "" als de cel leeg moet lijken.

Gebruikt in combinaties