KIEZEN
CHOOSE in Engelstalige Excel
Kiest de waarde op een bepaalde plek uit een lijst waarden die je intypt of aanwijst, geteld vanaf 1.
Laatst bijgewerkt: 13 oktober 2026
| Rij | A | B | C |
|---|---|---|---|
| 1 | Werkzaamheid | Fasenr. | Fase |
| 2 | Debiteurenbevestigingen | 33 | Eindcontrole=KIEZEN(B2, "Planning", "Interim-controle", "Eindcontrole", "Rapportering")=KIEZEN(B2; "Planning"; "Interim-controle"; "Eindcontrole"; "Rapportering") |
| 3 | Risicoanalyse | 11 | |
| 4 | Doorlopen van processen | 22 | |
| 5 | Beoordeling jaarrekening | 44 |
Veeg opzij om alle kolommen te zien
Resultaat: Eindcontrole
=KIEZEN(B2,"Planning", "Interim-controle", "Eindcontrole", "Rapportering")
=KIEZEN(B2;"Planning"; "Interim-controle"; "Eindcontrole"; "Rapportering")
Wat KIEZEN doet en wanneer je het gebruikt
Wat het doet: het geeft het item op een bepaalde plek in een lijst die je in de formule typt, zodat controlefase 3 de tekst "eindcontrole" wordt.
Wanneer je het gebruikt: als je een getal vanaf 1 hebt en een korte, vaste lijst er betekenis aan geeft, zoals een fasenummer of een maand die bij een boekjaarkwartaal hoort. Bij een lange lijst die verandert zet je de lijst in een tabel en gebruik je X.ZOEKEN.
Hoe Excel de functie berekent
Excel rekent eerst index_getal uit en kapt de decimalen af: 2,9 wordt 2 en niet 3. Daarna telt Excel door de waarde-argumenten, met waarde1 als plek 1, en geeft de waarde op die plek. Alleen die waarde wordt gebruikt; de rest blijft buiten beeld.
Is de plek lager dan 1 of hoger dan het aantal waarden dat je hebt opgegeven, dan is het resultaat #WAARDE!. Een waarde kan ook een bereik zijn: KIEZEN geeft dan het bereik zelf terug, en een functie eromheen, zoals SOM, rekent met die cellen.
Let op: KIEZEN kapt een berekende index als 2,9 af op 2 in plaats van af te ronden en geeft het verkeerde item, zonder foutmelding.
Denkmodel
Zie een rek met genummerde haken waaraan op elke haak iets anders hangt. De index is het nummer van de haak, en je krijgt wat daar hangt. Een haaknummer dat niet bestaat levert alleen een foutmelding op.
KIEZEN(index_getal,waarde1, [waarde2], ...)
KIEZEN(index_getal;waarde1; [waarde2]; ...)
| Argument | Soort | Betekenis |
|---|---|---|
index_getal | Verplicht | Welke waarde je kiest, geteld vanaf 1. |
waarde1 | Verplicht | De eerste waarde om uit te kiezen, op plek 1. |
waarde2 | Optioneel | Meer waarden, in de volgorde van hun plek. |
Geeft terug:De waarde op plek index_getal van de lijst, of #WAARDE! als die plek ontbreekt
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
De fase van de controle benoemen op basis van het nummer
In je controleplan heeft elke werkzaamheid een fasenummer:
- 1: planning
- 2: interim-controle
- 3: eindcontrole
- 4: rapportering
Een reviewer die het plan opent wil liever namen dan nummers zien, dus je wilt een kolom met de naam van de fase bij elke werkzaamheid.
| Rij | A | B | C | D |
|---|---|---|---|---|
| 1 | Werkzaamheid | Fasenr. | Fase | |
| 2 | Debiteurenbevestigingen | 33 | Eindcontrole=KIEZEN(B2, "Planning", "Interim-controle", "Eindcontrole", "Rapportering")=KIEZEN(B2; "Planning"; "Interim-controle"; "Eindcontrole"; "Rapportering") | |
| 3 | Risicoanalyse | 11 | ||
| 4 | Doorlopen van processen | 22 | ||
| 5 | Beoordeling jaarrekening | 44 | ||
| 6 |
Veeg opzij om alle kolommen te zien
Formule in C2
=KIEZEN(B2,"Planning", "Interim-controle", "Eindcontrole", "Rapportering")
=KIEZEN(B2;"Planning"; "Interim-controle"; "Eindcontrole"; "Rapportering")
Resultaat: Eindcontrole
Stap voor stap
- In
B2staat 3. Dat is het index_getal: de plek die Excel moet kiezen. - Excel telt door de vier waarden: plek 1 is Planning, plek 2 is Interim-controle, plek 3 is Eindcontrole.
- Plek 3 is de gevraagde, dus Excel geeft Eindcontrole. Rapportering, de vierde waarde, wordt niet gebruikt.
- Trek je de formule door naar
C3, dan staat inB3een 1 en komt de eerste waarde terug: Planning. - Typ 5 in
B2en het resultaat is #WAARDE!, want de lijst heeft maar vier waarden.
Let op: Een fasenummer van 0 of 5 geeft #WAARDE!, want de plekken lopen van 1 tot 4. Een typefout in kolom B komt als foutwaarde in kolom C terug.
Meer over dit voorbeeld: waarom het werkt, nog 1 valkuil, 1 variant
Waarom het werkt
KIEZEN zoekt niets op. Het getal in B2 is een plek, en de plek bepaalt welke van de vier waarden terugkomt. Daarom moeten de fasenummers de volgorde van de lijst in de formule volgen.
Meer om op te letten
- Zet je de namen in een andere volgorde dan de nummers, dan toont elke werkzaamheid de verkeerde fase zonder foutmelding. Nummer de fasen in dezelfde volgorde als de waarden in de formule.
Varianten
=ALS.FOUT(KIEZEN(B2,"Planning", "Interim-controle", "Eindcontrole", "Rapportering"), "Onbekende fase")
=ALS.FOUT(KIEZEN(B2;"Planning"; "Interim-controle"; "Eindcontrole"; "Rapportering"); "Onbekende fase")
Toont een melding bij een fasenummer buiten 1 tot en met 4. ALS.FOUT verbergt ook elke andere fout, dus gebruik het alleen als het nummer het enige is dat mis kan gaan.
Halfgevorderd
Factuurdata koppelen aan het boekjaarkwartaal bij een boekjaar tot en met maart
Het boekjaar van je cliënt eindigt op 31 maart, dus het eerste kwartaal loopt van april tot en met juni. Voor de cut-off-test wil je het boekjaarkwartaal naast elke factuurdatum.
Delen door 3 geeft kalenderkwartalen, dus je zet zelf bij elke maand het kwartaal in een lijst, en KIEZEN pakt het kwartaal dat bij het maandnummer hoort.
| Rij | A | B | C | D |
|---|---|---|---|---|
| 1 | Factuurnr. | Factuurdatum | Boekjaarkwartaal | |
| 2 | F-25-0391 | 14-11-2025 | Q3=KIEZEN(MAAND(B2), "Q4", "Q4", "Q4", "Q1", "Q1", "Q1", "Q2", "Q2", "Q2", "Q3", "Q3", "Q3")=KIEZEN(MAAND(B2); "Q4"; "Q4"; "Q4"; "Q1"; "Q1"; "Q1"; "Q2"; "Q2"; "Q2"; "Q3"; "Q3"; "Q3") | |
| 3 | F-26-0058 | 27-02-2026 | ||
| 4 | F-25-0294 | 30-06-2025 | ||
| 5 | F-25-0395 | |||
| 6 | F-25-0344 | 05-08-2025 | ||
| 7 |
Veeg opzij om alle kolommen te zien
Formule in C2
=KIEZEN(MAAND(B2),"Q4", "Q4", "Q4", "Q1", "Q1", "Q1", "Q2", "Q2", "Q2", "Q3", "Q3", "Q3")
=KIEZEN(MAAND(B2);"Q4"; "Q4"; "Q4"; "Q1"; "Q1"; "Q1"; "Q2"; "Q2"; "Q2"; "Q3"; "Q3"; "Q3")
Resultaat: Q3
Stap voor stap
- Excel rekent eerst het binnenste uit. In
B2staat 14-11-2025, en MAAND geeft 11. Dat is het index_getal. KIEZEN telt door de twaalf waarden:
- plek 1 tot en met 3 (januari tot en met maart) is Q4
- plek 4 tot en met 6 (april tot en met juni) is Q1
- plek 7 tot en met 9 is Q2
- plek 10 tot en met 12 is Q3
- Plek 11 is Q3, dus dat is het resultaat. De andere elf waarden blijven buiten beeld.
- In
C3geeft 27-02-2026 maand 2. De tweede waarde is Q4: het laatste kwartaal van het jaar dat op 31 maart 2026 eindigt. B5is leeg. Excel leest een lege cel als 0, wat MAAND omzet in 1 (januari), dusC5toont Q4. Er is geen foutmelding, en het antwoord is fout.
Let op: Een lege datum geeft maand 1 en kwartaal Q4, ongemerkt. Controleer de datumkolom op lege cellen voordat je op de kwartalen vertrouwt, of gebruik de variatie met ALS hieronder.
Meer over dit voorbeeld: waarom het werkt, nog 1 valkuil, 1 variant
Waarom het werkt
MAAND zet elke datum om in een plek van 1 tot en met 12, en de lijst in de formule loopt op maand, dus de plek is precies het maandnummer. Het boekjaar begint in april, en daarom werkt een lijst waar rekenen met de maand een correctie zou vragen.
Meer om op te letten
- Zet je maar elf kwartalen in de lijst, dan geeft december #WAARDE!, maar alleen voor decemberfacturen, zodat de fout tot het einde van het jaar verborgen kan blijven. Tel de waarden: twaalf.
Varianten
=ALS(B2 = "","", KIEZEN(MAAND(B2), "Q4", "Q4", "Q4", "Q1", "Q1", "Q1", "Q2", "Q2", "Q2", "Q3", "Q3", "Q3"))
=ALS(B2 = "";""; KIEZEN(MAAND(B2); "Q4"; "Q4"; "Q4"; "Q1"; "Q1"; "Q1"; "Q2"; "Q2"; "Q2"; "Q3"; "Q3"; "Q3"))
Laat de cel leeg bij een factuur zonder datum in plaats van Q4 te tonen. Het voegt een tweede functie toe, dus gebruik het als lege cellen waarschijnlijk zijn.
Gevorderd
Het kwartaal optellen dat bij de rapportagemaand hoort
Een rapportagepakket van de groep toont de omzet per land met een kolom voor elk kwartaal. De reviewer typt een maandnummer (8 voor augustus) en verwacht het totaal van het kwartaal waarin die maand valt.
Het werkblad mag geen aparte formule per kwartaal nodig hebben, dus KIEZEN pakt de juiste kolom en SOM telt die op.
| Rij | A | B | C | D | E | F | G | H | I |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Land | K1 | K2 | K3 | K4 | Maand | 88 | ||
| 2 | Nederland | €412,500.00€ 412.500,00 | €438,200.00€ 438.200,00 | €455,900.00€ 455.900,00 | €501,300.00€ 501.300,00 | Kwartaaltotaal | €776,950.00€ 776.950,00=SOM(KIEZEN(AFRONDEN.NAAR.BOVEN(H1 / 3, 0), B2:B5, C2:C5, D2:D5, E2:E5))=SOM(KIEZEN(AFRONDEN.NAAR.BOVEN(H1 / 3; 0); B2:B5; C2:C5; D2:D5; E2:E5)) | ||
| 3 | België | €128,400.00€ 128.400,00 | €131,750.00€ 131.750,00 | €140,200.00€ 140.200,00 | €152,600.00€ 152.600,00 | ||||
| 4 | Duitsland | €96,300.00€ 96.300,00 | €104,800.00€ 104.800,00 | €99,550.00€ 99.550,00 | €118,400.00€ 118.400,00 | ||||
| 5 | Frankrijk | €74,200.00€ 74.200,00 | €69,850.00€ 69.850,00 | €81,300.00€ 81.300,00 | €90,100.00€ 90.100,00 | ||||
| 6 |
Veeg opzij om alle kolommen te zien
Formule in H2
=SOM(KIEZEN(AFRONDEN.NAAR.BOVEN(H1 / 3,0), B2:B5, C2:C5, D2:D5, E2:E5))
=SOM(KIEZEN(AFRONDEN.NAAR.BOVEN(H1 / 3;0); B2:B5; C2:C5; D2:D5; E2:E5))
Resultaat: €776,950.00€ 776.950,00
Stap voor stap
- Excel rekent van binnen naar buiten. In
H1staat 8, en 8 / 3 = 2,6667. - AFRONDEN.NAAR.BOVEN rondt 2,6667 af, weg van nul, naar 3. Maand 7, 8 en 9 geven allemaal 3, en maand 10 geeft 4, dus de uitkomst is het nummer van het kwartaal.
- KIEZEN neemt plek 3 uit de vier waarden en geeft
D2:D5, de kolom van K3. Het resultaat is het bereik zelf en geen enkel getal: KIEZEN telt de argumenten en leest de cellen niet. - SOM telt de cellen van
D2:D5op: 455,900455.900 + 140,200140.200 + 99,55099.550 + 81,30081.300 = 776,950776.950. - Verander
H1in 11. 11 / 3 = 3,6667, AFRONDEN.NAAR.BOVEN geeft 4, KIEZEN geeftE2:E5en het totaal wordt 862,400862.400.
Let op: Gebruik je INTEGER in plaats van AFRONDEN.NAAR.BOVEN, dan komen de meeste maanden in het verkeerde kwartaal: INTEGER(8 / 3) is 2, dus augustus wordt als K2 opgeteld. Maand 1 en 2 geven plek 0 en #WAARDE!.
Meer over dit voorbeeld: waarom het werkt, nog 2 valkuilen, 1 variant
Waarom het werkt
KIEZEN kan een verwijzing teruggeven, dus wat eruit komt is een echt bereik waar SOM mee kan rekenen. AFRONDEN.NAAR.BOVEN maakt van de maand een kwartaalnummer, omdat een deel van een kwartaal bij het hele kwartaal hoort, en geeft voor maand 1 tot en met 12 nooit 0.
Let op
Gebruik je INTEGER in plaats van AFRONDEN.NAAR.BOVEN, dan komen de meeste maanden in het verkeerde kwartaal: INTEGER(8 / 3) is 2, dus augustus wordt als K2 opgeteld. Maand 1 en 2 geven plek 0 en #WAARDE!.
AFRONDEN gaat ook mis: INTEGER en AFRONDEN geven allebei een fout kwartaal bij bijvoorbeeld maand 7 en 10. Test altijd met de eerste en de middelste maand van een kwartaal.
- Maand 0 of maand 13 geeft plek 0 of 5, en KIEZEN geeft #WAARDE!. Beperk de invoer met gegevensvalidatie tot hele getallen van 1 tot en met 12.
Varianten
=SOM(INDEX(B2:E5,0, AFRONDEN.NAAR.BOVEN(H1 / 3, 0)))
=SOM(INDEX(B2:E5;0; AFRONDEN.NAAR.BOVEN(H1 / 3; 0)))
INDEX met rij_getal 0 geeft een hele kolom van het blok. Kies dit als er meer kolommen zijn dan je een voor een in KIEZEN wilt opsommen.
ExpertExcel 2021 of nieuwer (Dit voorbeeld vereist Excel 2021 of nieuwer)
Ouderdomsklassen uit een aantal dagen, zonder klassentabel
Voor de ouderdomsanalyse van de debiteuren breng je elke openstaande factuur onder in een klasse:
- niet vervallen
- 1 tot 30 dagen te laat
- 31 tot 60 dagen te laat
- 61 tot 90 dagen te laat
- meer dan 90 dagen te laat
De klassen zijn 30 dagen breed, dus je kunt het klassenummer uit het aantal dagen berekenen en KIEZEN het label laten pakken. Dan heb je geen aparte klassentabel nodig, maar de formule moet kloppen op de randen: dag 30, dag 31, dag 90 en dag 91.
| Rij | A | B | C | D | E | F | G |
|---|---|---|---|---|---|---|---|
| 1 | Factuurnr. | Vervaldatum | Openstaand | Klasse | Balansdatum | 31-12-2025 | |
| 2 | F-25-0391 | 17-10-2025 | €18,400.00€ 18.400,00 | 61 tot 90 dagen=LET( aantalDagen, $F$1 - B2, positie, MIN(5, MAX(1, (aantalDagen - 1) / 30 + 2)), KIEZEN(positie, "Niet vervallen", "1 tot 30 dagen", "31 tot 60 dagen", "61 tot 90 dagen", "Meer dan 90 dagen") )=LET( aantalDagen; $F$1 - B2; positie; MIN(5; MAX(1; (aantalDagen - 1) / 30 + 2)); KIEZEN(positie; "Niet vervallen"; "1 tot 30 dagen"; "31 tot 60 dagen"; "61 tot 90 dagen"; "Meer dan 90 dagen") ) | |||
| 3 | F-25-0392 | 20-12-2025 | €4,235.50€ 4.235,50 | ||||
| 4 | F-26-0003 | 15-01-2026 | €8,750.00€ 8.750,00 | ||||
| 5 | F-25-0295 | 02-07-2025 | €3,025.00€ 3.025,00 | ||||
| 6 |
Veeg opzij om alle kolommen te zien
Formule in D2
=LET( aantalDagen,$F$1 - B2, positie, MIN(5, MAX(1, (aantalDagen - 1) / 30 + 2)), KIEZEN(positie, "Niet vervallen", "1 tot 30 dagen", "31 tot 60 dagen", "61 tot 90 dagen", "Meer dan 90 dagen") )
=LET( aantalDagen;$F$1 - B2; positie; MIN(5; MAX(1; (aantalDagen - 1) / 30 + 2)); KIEZEN(positie; "Niet vervallen"; "1 tot 30 dagen"; "31 tot 60 dagen"; "61 tot 90 dagen"; "Meer dan 90 dagen") )
Resultaat: 61 tot 90 dagen
Stap voor stap
- aantalDagen is de balansdatum min de vervaldatum. Datums zijn seriële getallen, dus 31-12-2025 - 17-10-2025 = 75 dagen te laat.
- positie is (75 - 1) / 30 + 2 = 4,4667. Dag 1 tot en met dag 30 geven een waarde van 2 tot 2,9667, dag 31 tot en met dag 60 van 3 tot 3,9667, enzovoort, dus het gehele deel is het klassenummer.
- MAX(1, ...) voorkomt dat het getal onder 1 komt bij nog niet vervallen facturen, en MIN(5, ...) begrenst het op 5 voor alles dat ouder is dan 90 dagen. 4,4667 komt onveranderd door beide heen.
- KIEZEN kapt 4,4667 af op 4 en geeft het vierde label: 61 tot 90 dagen. KIEZEN rondt niet af, en daar leunt de formule op.
De randen kloppen:
- 90 dagen geeft 89 / 30 + 2 = 4,9667, klasse 4
- 91 dagen geeft 90 / 30 + 2 = 5, klasse 5
- 30 dagen geeft 2,9667, klasse 2
- 31 dagen geeft 3, klasse 3
- Trek je de formule door naar beneden.
D4vervalt op 15-01-2026, dus aantalDagen = -15 en positie = -16 / 30 + 2 = 1,4667, wat Niet vervallen geeft.D5is 182 dagen te laat: 181 / 30 + 2 = 8,03, door MIN begrensd op 5, dus Meer dan 90 dagen.
Let op: De omgekeerde fout: de positie in AFRONDEN zetten om een geheel getal te krijgen. Dat lijkt zorgvuldig, maar 76 dagen geeft 4,5, AFRONDEN maakt daar 5 van, en een factuur die 76 dagen te laat is komt als Meer dan 90 dagen in de lijst. Laat KIEZEN afkappen.
Meer over dit voorbeeld: waarom het werkt, nog 2 valkuilen, 1 variant
Waarom het werkt
KIEZEN kapt een index met decimalen af in plaats van af te ronden, dus een doorlopende waarde als 4,4667 valt in precies één klasse. LET geeft het aantal dagen en de positie een naam, zodat de laatste regel leest als de ouderdomsregel.
Gebruik deze opbouw niet als de klassen ongelijk zijn (0, 30, 60, 120, 365) of door de cliënt worden beheerd: zet de klassen in een tabel en gebruik X.ZOEKEN met overeenkomstmodus -1, zoals op de pagina van X.ZOEKEN, zodat de klassegrenzen zichtbare cellen zijn.
Meer om op te letten
- Zonder MAX(1, ...) geeft een factuur die over 60 dagen vervalt -61 / 30 + 2 = -0,0333, kapt KIEZEN dat af op 0 en toont de cel #WAARDE!. De fout verschijnt pas als zo'n factuur bestaat.
- Gebruik je VANDAAG() in plaats van een vaste balansdatum, dan veranderen de klassen elke dag. Typ voor een jaareindanalyse de balansdatum in een cel.
Varianten
=LET( aantalDagen,$F$1 - B2, positie, MIN(5, MAX(1, INTEGER((aantalDagen - 1) / 30) + 2)), KIEZEN(positie, "Niet vervallen", "1 tot 30 dagen", "31 tot 60 dagen", "61 tot 90 dagen", "Meer dan 90 dagen") )
=LET( aantalDagen;$F$1 - B2; positie; MIN(5; MAX(1; INTEGER((aantalDagen - 1) / 30) + 2)); KIEZEN(positie; "Niet vervallen"; "1 tot 30 dagen"; "31 tot 60 dagen"; "61 tot 90 dagen"; "Meer dan 90 dagen") )
Hetzelfde resultaat met INTEGER erbij, voor reviewers die niet willen leunen op het afkappen door KIEZEN. INTEGER rondt naar beneden af, wat alleen bij negatieve waarden anders is dan afkappen; MAX(1; ...) zet die toch al op de eerste klasse, dus het resultaat is gelijk.
Veelgemaakte fouten
| Symptoom | Oorzaak | Oplossing |
|---|---|---|
| #WAARDE! als de index 0 is | De index is 0, of één meer dan het aantal waarden, en het resultaat is #WAARDE!. Mensen tellen vanaf 0, maar KIEZEN begint bij 1. | Controleer of de index alleen waarden van 1 tot het aantal waarden kan krijgen. Begrens een berekende index met MIN en MAX. |
| Het verkeerde item, zonder foutmelding | Je verwacht dat een berekende index als 2,9 als 3 telt. | Rond bewust af vóór KIEZEN: AFRONDEN.NAAR.BOVEN als een deel van een stap als hele stap telt, AFRONDEN voor het dichtstbijzijnde getal, INTEGER of niet afronden voor afkappen. |
| Opgeslagen getallen wijzen naar de verkeerde items | Iemand voegt midden in de lijst een item toe. Alle plekken erna schuiven door, en getallen die elders zijn opgeslagen wijzen nu naar de verkeerde items. | Zet een lijst die verandert in een tabel met een codekolom en zoek haar op met X.ZOEKEN, zodat elk item zijn eigen sleutel houdt. |