ALS.VOORWAARDEN
IFS in Engelstalige Excel
Toetst voorwaarden een voor een en geeft de waarde die hoort bij de eerste voorwaarde die WAAR is.
Laatst bijgewerkt: 13 oktober 2026
| Rij | A | B | C | D |
|---|---|---|---|---|
| 1 | Maatregel | Afwijking | Conclusie | |
| 2 | Creditnota's | 8%8% | Steekproef uitbreiden=ALS.VOORWAARDEN(B2<=0.05, "Steunen op maatregel", B2<=0.1, "Steekproef uitbreiden", B2>0.1, "Niet steunen")=ALS.VOORWAARDEN(B2<=0,05; "Steunen op maatregel"; B2<=0,1; "Steekproef uitbreiden"; B2>0,1; "Niet steunen") | |
| 3 | Inkooporders | 2%2% | ||
| 4 | Goederenontvangst | 5%5% | ||
| 5 | Salarismutaties | 10%10% | ||
| 6 | Bankaansluiting | 14%14% |
Veeg opzij om alle kolommen te zien
Resultaat: Steekproef uitbreiden
=ALS.VOORWAARDEN(B2<=0.05,"Steunen op maatregel", B2<=0.1, "Steekproef uitbreiden", B2>0.1, "Niet steunen")
=ALS.VOORWAARDEN(B2<=0,05;"Steunen op maatregel"; B2<=0,1; "Steekproef uitbreiden"; B2>0,1; "Niet steunen")
Wat ALS.VOORWAARDEN doet en wanneer je het gebruikt
Wat het doet: het loopt paren van voorwaarde en waarde langs en geeft de waarde bij de eerste voorwaarde die WAAR is, bijvoorbeeld een conclusie per afwijkingspercentage bij een controletest.
Wanneer je het gebruikt: als één cel drie of meer uitkomsten heeft, elk met een eigen test: materialiteitsklassen, risicoklassen, ouderdomsklassen. Het vervangt geneste ALS-functies. Bij veel klassen, of klassen die veranderen, is een tabel met grenzen en X.ZOEKEN beter.
De twee grootste voordelen:
- Geen nesten: de paren staan naast elkaar, zonder extra laag en sluithaakje voor elke uitkomst.
- Regels in leesvolgorde: een beoordelaar leest de voorwaarden in de volgorde waarin ze gelden.
Hoe Excel de functie berekent
Excel loopt de lijst met paren van boven naar beneden af:
- Excel beoordeelt logische_test1; is die WAAR, dan staat het resultaat vast: waarde_als_waar1 komt in de cel en de rest van de paren speelt geen rol meer
- is de test ONWAAR, dan gaat Excel naar logische_test2, en zo verder langs de lijst
- zijn alle voorwaarden ONWAAR, dan is er niets om te tonen en verschijnt #N/B
Daarom is een laatste paar met de voorwaarde WAAR het gebruikelijke vangnet: WAAR is altijd waar, dus dat paar vangt alles op wat de eerdere voorwaarden hebben laten liggen.
Let op: De eerste ware voorwaarde wint, dus de volgorde van de paren hoort bij de logica. Bij een verkeerde volgorde verschijnt geen foutmelding: de cel toont dan het verkeerde label.
Denkmodel
Zie het als een stapel zeven met het grofste gaas bovenop: een waarde valt door de lagen tot de eerste laag die haar vasthoudt. Leg je het fijne gaas bovenop, dan blijft alles daar hangen.
Begrippen op deze pagina: cel
ALS.VOORWAARDEN(logische_test1,waarde_als_waar1, [logische_test2, waarde_als_waar2], ...)
ALS.VOORWAARDEN(logische_test1;waarde_als_waar1; [logische_test2; waarde_als_waar2]; ...)
| Argument | Soort | Betekenis |
|---|---|---|
logische_test1 | Verplicht | De eerste voorwaarde; die moet uitkomen op WAAR of ONWAAR. |
waarde_als_waar1 | Verplicht | Wat de cel toont als de eerste voorwaarde WAAR is. |
logische_test2 | Optioneel | De volgende voorwaarde, alleen getoetst als alle eerdere ONWAAR zijn. |
waarde_als_waar2 | Optioneel | Wat de cel toont als de tweede voorwaarde de eerste ware is. |
Geeft terug:De waarde_als_waar van de eerste ware voorwaarde, of #N/B als geen enkele WAAR is
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
Testresultaten van beheersingsmaatregelen indelen naar afwijkingspercentage
Je hebt vijf beheersingsmaatregelen bij Veldhuis Installatie BV getest en per maatregel het afwijkingspercentage genoteerd. De controleaanpak zegt:
- tot en met 5%: je steunt op de maatregel
- boven 5% tot en met 10%: je breidt de steekproef uit
- boven 10%: je steunt er niet op
Je wilt één formule die elke maatregel zijn conclusie geeft.
| Rij | A | B | C | D | E |
|---|---|---|---|---|---|
| 1 | Maatregel | Afwijking | Conclusie | ||
| 2 | Creditnota's | 8%8% | Steekproef uitbreiden=ALS.VOORWAARDEN(B2<=0.05, "Steunen op maatregel", B2<=0.1, "Steekproef uitbreiden", B2>0.1, "Niet steunen")=ALS.VOORWAARDEN(B2<=0,05; "Steunen op maatregel"; B2<=0,1; "Steekproef uitbreiden"; B2>0,1; "Niet steunen") | ||
| 3 | Inkooporders | 2%2% | |||
| 4 | Goederenontvangst | 5%5% | |||
| 5 | Salarismutaties | 10%10% | |||
| 6 | Bankaansluiting | 14%14% | |||
| 7 |
Veeg opzij om alle kolommen te zien
Formule in D2
=ALS.VOORWAARDEN(B2<=0.05,"Steunen op maatregel", B2<=0.1, "Steekproef uitbreiden", B2>0.1, "Niet steunen")
=ALS.VOORWAARDEN(B2<=0,05;"Steunen op maatregel"; B2<=0,1; "Steekproef uitbreiden"; B2>0,1; "Niet steunen")
Resultaat: Steekproef uitbreiden
Stap voor stap
- In
B2staat een afwijkingspercentage van 8%. Met dat getal vergelijkt elke voorwaarde. - Het eerste paar wordt getoetst:
B2<=0,05betekent 8% <= 5%, en dat is ONWAAR. Excel slaat 'Steunen op maatregel' over en gaat verder. - Het tweede paar wordt getoetst:
B2<=0,1betekent 8% <= 10%, en dat is WAAR. Excel toont de waarde van dit paar, Steekproef uitbreiden. - Het derde paar komt voor deze rij niet meer aan bod, want de eerste ware voorwaarde beslist.
- Kopieer de formule naar beneden. In
B4staat precies 5%:B4<=0,05is WAAR, dus Steunen op maatregel. InB6staat 14%: de eerste twee voorwaarden zijn ONWAAR, de derde (14% > 10%) is WAAR, dus Niet steunen.
Let op: Haal je het derde paar weg, dan toont rij 6 (14%) #N/B: geen enkele voorwaarde is WAAR, dus er is niets om te tonen. Het voorbeeld op niveau Halfgevorderd laat een vangnet zien dat dit voorkomt.
Meer over dit voorbeeld: waarom het werkt, nog 1 valkuil, 1 variant
Waarom het werkt
De drie voorwaarden samen dekken elk mogelijk percentage: tot 5%, boven 5% tot 10% en boven 10%. Door de grenzen met <= te schrijven valt een percentage van precies 5% of 10% in de lagere klasse, zoals de controleaanpak voorschrijft.
Meer om op te letten
- Zet je
B2<=0,1vooraan, dan krijgt de maatregel met 2% het label Steekproef uitbreiden, want 2% is ook hooguit 10% en de eerste ware voorwaarde wint.
Varianten
=ALS.VOORWAARDEN(B2<=0.05,"Steunen op maatregel", B2<=0.1, "Steekproef uitbreiden", WAAR, "Niet steunen")
=ALS.VOORWAARDEN(B2<=0,05;"Steunen op maatregel"; B2<=0,1; "Steekproef uitbreiden"; WAAR; "Niet steunen")
Gebruik WAAR als laatste voorwaarde als de laatste klasse alles is wat overblijft; dan hoef je de grens niet twee keer te schrijven.
Halfgevorderd
Niet-gecorrigeerde verschillen indelen naar de materialiteitsgrenzen
Op het overzicht van niet-gecorrigeerde verschillen van Veldhuis Installatie BV staan vijf posten. Een negatief bedrag betekent dat de administratie lager staat dan hoort. In dit voorbeeld hanteert het kantoor deze aanpak, naar omvang van het verschil:
- vanaf de materialiteit (
F1): vraagt om een correctie - vanaf de uitvoeringsmaterialiteit (
F2): wordt besproken met de directie - vanaf de grens voor kennelijk onbelangrijke afwijkingen (
F3): komt op het overzicht - daaronder: is kennelijk onbelangrijk
Elke afwijking boven die laatste grens meld je met het verzoek haar te corrigeren; de klassen hier bepalen alleen hoe je ze opvolgt. De omvang telt, niet het teken.
| Rij | A | B | C | D | E | F | G |
|---|---|---|---|---|---|---|---|
| 1 | Post | Verschil | Verwerking | Materialiteit | €120,000.00€ 120.000,00 | ||
| 2 | Waardering voorraad | -€88,000.00€ -88.000,00 | Bespreken met de directie=ALS.VOORWAARDEN(ABS(B2)>=$F$1, "Correctie vragen", ABS(B2)>=$F$2, "Bespreken met de directie", ABS(B2)>=$F$3, "Opnemen op overzicht", WAAR, "Kennelijk onbelangrijk")=ALS.VOORWAARDEN(ABS(B2)>=$F$1; "Correctie vragen"; ABS(B2)>=$F$2; "Bespreken met de directie"; ABS(B2)>=$F$3; "Opnemen op overzicht"; WAAR; "Kennelijk onbelangrijk") | Uitvoeringsmaterialiteit | €84,000.00€ 84.000,00 | ||
| 3 | Afgrenzing omzet december | €135,000.00€ 135.000,00 | Grens kennelijk onbelangrijk | €6,000.00€ 6.000,00 | |||
| 4 | Vooruitbetaalde verzekering | €12,400.00€ 12.400,00 | |||||
| 5 | Te betalen energiekosten | -€4,200.00€ -4.200,00 | |||||
| 6 | Niet verwerkte bankkosten | €6,000.00€ 6.000,00 | |||||
| 7 |
Veeg opzij om alle kolommen te zien
Formule in C2
=ALS.VOORWAARDEN(ABS(B2)>=$F$1,"Correctie vragen", ABS(B2)>=$F$2, "Bespreken met de directie", ABS(B2)>=$F$3, "Opnemen op overzicht", WAAR, "Kennelijk onbelangrijk")
=ALS.VOORWAARDEN(ABS(B2)>=$F$1;"Correctie vragen"; ABS(B2)>=$F$2; "Bespreken met de directie"; ABS(B2)>=$F$3; "Opnemen op overzicht"; WAAR; "Kennelijk onbelangrijk")
Resultaat: Bespreken met de directie
Stap voor stap
- In
B2staat -88,00088.000. ABS haalt het teken weg, dus elke voorwaarde rekent met 88,00088.000. - Paar 1: 88,00088.000 >=
$F$1(120,000120.000) is ONWAAR, dus de post haalt de materialiteit niet. - Paar 2: 88,00088.000 >=
$F$2(84,00084.000) is WAAR. Excel toont Bespreken met de directie en stopt hier. - Voor
C5(-4,2004.200) geldt: 4,2004.200 is lager dan 120,000120.000, lager dan 84,00084.000 en lager dan 6,0006.000, dus de paren 1 tot en met 3 zijn alle ONWAAR. Het vierde paar heeft WAAR als voorwaarde en toont Kennelijk onbelangrijk. - In
C6staat precies 6,0006.000: 6,0006.000 >=$F$3is WAAR door het >=-teken, dus de post komt op het overzicht. - De grenzen lopen van hoog naar laag. In rij 3 (135,000135.000) is paar 1 al WAAR. Draai je de volgorde om, dan haalt 135,000135.000 eerst de grens voor kennelijk onbelangrijke afwijkingen en wordt de post nooit voor correctie aangemerkt.
Let op: Laat je ABS weg, dan valt elk negatief verschil door naar het vangnet, want -88,00088.000 is niet >= 120,000120.000, 84,00084.000 of 6,0006.000. De cel toont geen fout: Kennelijk onbelangrijk ziet er aannemelijk uit, en juist daardoor is dit de gevaarlijke fout.
Meer over dit voorbeeld: waarom het werkt, nog 1 valkuil, 1 variant
Waarom het werkt
Elke voorwaarde is een ondergrens, dus een groter verschil voldoet ook aan de lagere grenzen. De formule klopt alleen doordat de hoogste grens als eerste wordt getoetst. Het laatste paar met WAAR maakt van het geval waarin niets past een benoemde uitkomst in plaats van #N/B.
Meer om op te letten
- Zonder $-tekens schuiven de grenzen mee als je de formule naar beneden kopieert, en rij 3 vergelijkt met
F2,F3enF4.
Varianten
=LET(grootte,ABS(B2), ALS.VOORWAARDEN(grootte>=$F$1, "Correctie vragen", grootte>=$F$2, "Bespreken met de directie", grootte>=$F$3, "Opnemen op overzicht", WAAR, "Kennelijk onbelangrijk"))
=LET(grootte;ABS(B2); ALS.VOORWAARDEN(grootte>=$F$1; "Correctie vragen"; grootte>=$F$2; "Bespreken met de directie"; grootte>=$F$3; "Opnemen op overzicht"; WAAR; "Kennelijk onbelangrijk"))
Kies deze als je de formule wilt lezen als omvang tegenover grenzen; ABS staat dan één keer in plaats van drie keer.
Gevorderd
Inkoopfacturen toetsen op afgrenzing rond de balansdatum
Bij Veldhuis Installatie BV toets je of inkoopfacturen rond 31 december 2025 in het juiste jaar staan. De factuurdatum laat zien wanneer de kosten zijn geboekt, de leverdatum wanneer de goederen binnenkwamen. Drie gevallen tellen:
- een ontbrekende leverdatum kun je niet beoordelen en moet worden opgevraagd
- levering op of vóór de balansdatum, factuur erna gedateerd: er ontbreekt een schuld
- levering na de balansdatum, factuur op of vóór die datum gedateerd: de kosten zijn te vroeg geboekt
| Rij | A | B | C | D | E | F | G |
|---|---|---|---|---|---|---|---|
| 1 | Factuur | Factuurdatum | Leverdatum | Uitkomst afgrenzing | Balansdatum | 31-12-2025 | |
| 2 | PI-7101 | 08-01-2026 | 29-12-2025 | Schuld ontbreekt: kosten horen bij 2025=ALS.VOORWAARDEN(C2="", "Leverdatum ontbreekt", EN(C2<=$F$1, B2>$F$1), "Schuld ontbreekt: kosten horen bij 2025", EN(C2>$F$1, B2<=$F$1), "Te vroeg geboekt: levering in 2026", WAAR, "Juiste periode")=ALS.VOORWAARDEN(C2=""; "Leverdatum ontbreekt"; EN(C2<=$F$1; B2>$F$1); "Schuld ontbreekt: kosten horen bij 2025"; EN(C2>$F$1; B2<=$F$1); "Te vroeg geboekt: levering in 2026"; WAAR; "Juiste periode") | |||
| 3 | PI-7102 | 30-12-2025 | 05-01-2026 | ||||
| 4 | PI-7103 | 15-12-2025 | 14-12-2025 | ||||
| 5 | PI-7104 | 12-01-2026 | 10-01-2026 | ||||
| 6 | PI-7105 | 28-12-2025 | |||||
| 7 |
Veeg opzij om alle kolommen te zien
Formule in D2
=ALS.VOORWAARDEN(C2="","Leverdatum ontbreekt", EN(C2<=$F$1, B2>$F$1), "Schuld ontbreekt: kosten horen bij 2025", EN(C2>$F$1, B2<=$F$1), "Te vroeg geboekt: levering in 2026", WAAR, "Juiste periode")
=ALS.VOORWAARDEN(C2="";"Leverdatum ontbreekt"; EN(C2<=$F$1; B2>$F$1); "Schuld ontbreekt: kosten horen bij 2025"; EN(C2>$F$1; B2<=$F$1); "Te vroeg geboekt: levering in 2026"; WAAR; "Juiste periode")
Resultaat: Schuld ontbreekt: kosten horen bij 2025
Stap voor stap
- Paar 1, de controle op een lege cel:
C2bevat 29 dec 2025, dusC2=""is ONWAAR. Excel gaat verder. - Paar 2, eerst het binnenste deel.
C2<=$F$1: 29 dec 2025 <= 31 dec 2025 is WAAR.B2>$F$1: 8 jan 2026 > 31 dec 2025 is WAAR. EN van twee ware waarden is WAAR. - De voorwaarde is WAAR, dus het resultaat is Schuld ontbreekt: kosten horen bij 2025. De goederen kwamen in december binnen, de factuur is in januari geboekt.
- Rij 3 (
PI-7102): de leverdatum 5 jan 2026 voldoet niet aanC3<=$F$1, dus EN in paar 2 is ONWAAR. In paar 3 isC3>$F$1WAAR enB3<=$F$1(30 dec 2025) WAAR: Te vroeg geboekt. - Rij 6 (
PI-7105) heeft een legeC6, dus paar 1 is WAAR en het resultaat is Leverdatum ontbreekt. Naar de datumvoorwaarden wordt niet meer gekeken. - De rijen 4 en 5 (
PI-7103,PI-7104) hebben beide datums in hetzelfde jaar. De paren 2 en 3 zijn ONWAAR en het vangnet met WAAR toont Juiste periode.
Let op: Zet je de controle op de lege cel achteraan, dan toont PI-7105 Juiste periode zonder enige foutmelding: de lege C6 wordt gelezen als datum 0, die voor 31 dec 2025 ligt, waardoor geen van beide datumvoorwaarden past en het WAAR-paar het oppakt. De toets zegt dan dat een factuur goed is terwijl je de leverdatum niet hebt gezien.
Meer over dit voorbeeld: waarom het werkt, nog 1 valkuil, 1 variant
Waarom het werkt
Elk paar beschrijft één manier waarop een inkoop in de verkeerde periode kan staan, en met EN toetst één paar twee datums tegelijk. Het paar met WAAR aan het eind maakt van de overige gevallen bewust Juiste periode. De controle op een lege cel staat vooraan, omdat een lege cel anders als de datum 0 wordt gelezen.
Meer om op te letten
- Zijn datums als tekst geïmporteerd, dan beschouwt Excel tekst als groter dan elk getal, waardoor C2>$F$1 voor elke rij WAAR is. Elke rij met een leverdatum toont dan Juiste periode, zonder foutmelding. Controleer de kolommen met ISGETAL voordat je de labels vertrouwt.
Varianten
=ALS.VOORWAARDEN(C2="","Leverdatum ontbreekt", (C2<=$F$1)<>(B2<=$F$1), ALS(C2<=$F$1, "Schuld ontbreekt: kosten horen bij 2025", "Te vroeg geboekt: levering in 2026"), WAAR, "Juiste periode")
=ALS.VOORWAARDEN(C2="";"Leverdatum ontbreekt"; (C2<=$F$1)<>(B2<=$F$1); ALS(C2<=$F$1; "Schuld ontbreekt: kosten horen bij 2025"; "Te vroeg geboekt: levering in 2026"); WAAR; "Juiste periode")
Korter: één voorwaarde vraagt of de twee datums aan verschillende kanten van de balansdatum liggen, en een ALS erbinnen kiest de richting. Kies de lange versie als een beoordelaar elke regel afzonderlijk moet kunnen lezen.
ExpertExcel 2021 of nieuwer (Dit voorbeeld vereist Excel 2021 of nieuwer)
Alle journaalposten in één overlopende formule indelen naar risico
Bij het toetsen van de journaalposten van Veldhuis Installatie BV rangschik je zeven handmatige boekingen naar risico:
- Kritiek: een boeking zonder goedkeuring, ongeacht de omvang
- Hoog: in het weekend geboekt en op of boven de uitvoeringsmaterialiteit (
G2) - Middel: in het weekend geboekt of op of boven de uitvoeringsmaterialiteit, maar niet allebei
- Laag: al het andere
Je wilt één formule in E2 die alle zeven boekingen indeelt en waarvan de beoordelaar de regels kan lezen.
| Rij | A | B | C | D | E | F | G | H | I | J | K |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Journaalpost | Bedrag | In weekend geboekt | Goedgekeurd | Risicoklasse | Uitvoeringsmaterialiteit | Ondergrens | Klasse | |||
| 2 | JE-0412 | €125,000.00€ 125.000,00 | WAAR | WAAR | Hoog=LET( bedrag, B2:B8, weekend, C2:C8, goedgekeurd, D2:D8, um, $G$2, ALS.VOORWAARDEN( NIET(goedgekeurd), "Kritiek", weekend * (bedrag >= um) > 0, "Hoog", weekend + (bedrag >= um) > 0, "Middel", WAAR, "Laag" ) )=LET( bedrag; B2:B8; weekend; C2:C8; goedgekeurd; D2:D8; um; $G$2; ALS.VOORWAARDEN( NIET(goedgekeurd); "Kritiek"; weekend * (bedrag >= um) > 0; "Hoog"; weekend + (bedrag >= um) > 0; "Middel"; WAAR; "Laag" ) ) | €84,000.00€ 84.000,00 | €0.00€ 0,00 | Laag | |||
| 3 | JE-0413 | €9,500.00€ 9.500,00 | ONWAAR | WAAR | Laag | €25,000.00€ 25.000,00 | Middel | ||||
| 4 | JE-0419 | €3,200.00€ 3.200,00 | WAAR | WAAR | Middel | €84,000.00€ 84.000,00 | Hoog | ||||
| 5 | JE-0420 | €91,000.00€ 91.000,00 | ONWAAR | WAAR | Middel | ||||||
| 6 | JE-0431 | €15,000.00€ 15.000,00 | ONWAAR | ONWAAR | Kritiek | ||||||
| 7 | JE-0432 | €84,000.00€ 84.000,00 | ONWAAR | WAAR | Middel | ||||||
| 8 | JE-0440 | €640.00€ 640,00 | WAAR | ONWAAR | Kritiek | ||||||
| 9 |
Veeg opzij om alle kolommen te zien
Formule in E2
=LET( bedrag,B2:B8, weekend, C2:C8, goedgekeurd, D2:D8, um, $G$2, ALS.VOORWAARDEN( NIET(goedgekeurd), "Kritiek", weekend * (bedrag >= um) > 0, "Hoog", weekend + (bedrag >= um) > 0, "Middel", WAAR, "Laag" ) )
=LET( bedrag;B2:B8; weekend; C2:C8; goedgekeurd; D2:D8; um; $G$2; ALS.VOORWAARDEN( NIET(goedgekeurd); "Kritiek"; weekend * (bedrag >= um) > 0; "Hoog"; weekend + (bedrag >= um) > 0; "Middel"; WAAR; "Laag" ) )
Resultaat: Hoog / Laag / Middel / Middel / Kritiek / Middel / KritiekHoog / Laag / Middel / Middel / Kritiek / Middel / Kritiek
Stap voor stap
- LET legt vier namen vast. bedrag, weekend en goedgekeurd bevatten elk zeven waarden (
B2:B8,C2:C8,D2:D8); um bevat 84,00084.000 uitG2. - Voorwaarde 1, NIET(goedgekeurd), is een lijst van zeven WAAR/ONWAAR-waarden: ONWAAR, ONWAAR, ONWAAR, ONWAAR, WAAR, ONWAAR, WAAR. De boekingen
JE-0431enJE-0440zijn niet goedgekeurd. - Voorwaarde 2: bedrag >= um geeft WAAR, ONWAAR, ONWAAR, WAAR, ONWAAR, WAAR, ONWAAR. Vermenigvuldigd met weekend (WAAR, ONWAAR, WAAR, ONWAAR, ONWAAR, ONWAAR, WAAR) zijn de producten 1, 0, 0, 0, 0, 0, 0, en > 0 laat alleen de eerste boeking WAAR.
- Voorwaarde 3: de twee lijsten optellen geeft 2, 0, 1, 1, 0, 1, 1, dus > 0 is WAAR zodra minstens één van de twee geldt: boekingen 1, 3, 4, 6 en 7.
- Per positie neemt ALS.VOORWAARDEN de eerste ware voorwaarde.
JE-0412: voorwaarde 1 ONWAAR, voorwaarde 2 WAAR, dus Hoog.JE-0413: alleen het WAAR-paar geldt, dus Laag.JE-0419enJE-0420: voorwaarde 3, dus Middel. JE-0431enJE-0440voldoen aan voorwaarde 1 en krijgen Kritiek, ook al voldoetJE-0440ook aan voorwaarde 3, omdat de goedkeuringstoets voorgaat.JE-0432is precies 84,00084.000, dus >= maakt er Middel van.- De zeven resultaten lopen over in
E2:E8: Hoog, Laag, Middel, Middel, Kritiek, Middel, Kritiek. ZetG2op 100,000100.000, dan zaktJE-0420(91,00091.000) naar Laag en blijftJE-0412Hoog.
Let op: Wissel je de voorwaarden 2 en 3 om, dan wordt JE-0412 (weekend en boven de materialiteit) Middel in plaats van Hoog, zonder enige foutmelding, want voorwaarde 3 is ook WAAR voor die boeking. De specifiekste regel moet vóór de regel staan die hem insluit.
Meer over dit voorbeeld: waarom het werkt, nog 3 valkuilen, 1 variant
Waarom het werkt
De voorwaarden stellen verschillende vragen over verschillende kolommen (goedkeuring, weekend, omvang), dus een tabel met grenzen kan ze niet uitdrukken; ALS.VOORWAARDEN kan het wel, en de LET-namen maken elke regel leesbaar. EN en OF zouden de zeven waarden samenvouwen tot één WAAR of ONWAAR, daarom gebruiken de regels * voor EN en + voor OF, die voor elke positie apart werken.
Bij veel klassen, of klassen die veranderen, is een tabel met grenzen en X.ZOEKEN beter (zie de variant, die een andere regelset gebruikt). Die tabel toont de grenzen op het werkblad en laat je ze wijzigen zonder de formule aan te raken.
Meer om op te letten
- In de variant met X.ZOEKEN lijkt overeenkomstmodus 1 (eerstvolgende grotere item) goed, maar 9500 krijgt dan Middel, omdat de eerstvolgende grens erboven 25,00025.000 is. Voor klassen heb je -1 nodig, het eerstvolgende kleinere item.
- LET en het overlopende resultaat hebben Excel 2021 of Microsoft 365 nodig; in Excel 2019 toont de formule #NAAM?. ALS.VOORWAARDEN zelf werkt vanaf Excel 2019, dus een versie met één formule per rij en zonder LET draait daar wel.
- Tekst zoals 'Ja' in de kolom Goedgekeurd laat NIET(goedgekeurd) #WAARDE! opleveren. Houd de kolom met echte WAAR/ONWAAR-waarden.
Varianten
=X.ZOEKEN(B2:B8,$I$2:$I$4, $J$2:$J$4, "Geen klasse", -1)
=X.ZOEKEN(B2:B8;$I$2:$I$4; $J$2:$J$4; "Geen klasse"; -1)
Dit is een andere regelset: alleen het bedrag telt, met Laag onder 25,00025.000, Middel vanaf 25,00025.000 en Hoog vanaf 84,00084.000. Voor de zeven boekingen geeft het Hoog, Laag, Laag, Hoog, Laag, Hoog, Laag, dus het vervangt de ALS.VOORWAARDEN alleen als goedkeuring en weekend er niet toe doen; een nieuwe grens is een nieuwe tabelrij.
Veelgemaakte fouten
| Symptoom | Oorzaak | Oplossing |
|---|---|---|
| #N/B op sommige rijen, andere goed | De cel toont #N/B bij sommige rijen, terwijl andere rijen goed zijn. | Voor die rijen was geen enkele voorwaarde WAAR. Voeg een laatste paar toe met WAAR als voorwaarde en een vervangende waarde, of maak de laatste voorwaarde ruimer zodat die de overige gevallen dekt. |
| Grote waarden krijgen een lage klasse | Grote waarden krijgen het label van een lage klasse, bijvoorbeeld 135.000 krijgt een lage klasse omdat de eerste voorwaarde B2>=6000 is. | Bij voorwaarden van de vorm groter dan of gelijk aan zet je de hoogste grens eerst; bij kleiner dan of gelijk aan de laagste. Test de formule op de grenswaarden van elke klasse. |
| Te weinig argumenten, of #WAARDE! | Excel wijst de formule af met een melding over te weinig argumenten, of het resultaat is #WAARDE!. | Elke voorwaarde heeft een eigen waarde nodig, dus het aantal argumenten moet even zijn. Controleer ook of elke voorwaarde een vergelijking is die WAAR of ONWAAR oplevert, en geen tekst zoals een label. |
| #NAAM? in Excel 2016 | De werkmap toont #NAAM? als een collega met Excel 2016 hem opent. | ALS.VOORWAARDEN bestaat vanaf Excel 2019. Heeft de ontvanger een oudere versie, bouw dan dezelfde logica met geneste ALS-functies of stuur het bestand met geplakte waarden. |