Inhoudsopgave
De handleiding legt de syntaxis en het basisgebruik van de CHOOSE-functie uit en geeft enkele niet-triviale voorbeelden van het gebruik van een CHOOSE-formule in Excel.
CHOOSE is een van die Excel-functies die op zichzelf misschien niet nuttig lijken, maar in combinatie met andere functies een aantal geweldige voordelen bieden. Op het meest basale niveau gebruikt u de CHOOSE-functie om een waarde uit een lijst te halen door de positie van die waarde op te geven. Verderop in deze handleiding vindt u verschillende geavanceerde toepassingen die zeker de moeite waard zijn om te verkennen.
Excel CHOOSE functie - syntaxis en basisgebruik
De CHOOSE functie in Excel is ontworpen om een waarde uit de lijst terug te geven op basis van een opgegeven positie.
De functie is beschikbaar in Excel 365, Excel 2019, Excel 2016, Excel 2013, Excel 2010 en Excel 2007.
De syntaxis van de CHOOSE-functie is als volgt:
CHOOSE(index_num, waarde1, [waarde2], ...)Waar:
Index_num (vereist) - de positie van de te retourneren waarde. Dit kan elk getal tussen 1 en 254, een celverwijzing of een andere formule zijn.
Waarde1, waarde2, ... - een lijst van maximaal 254 waarden waaruit gekozen kan worden. Waarde1 is verplicht, andere waarden zijn optioneel. Dit kunnen getallen, tekstwaarden, celverwijzingen, formules of gedefinieerde namen zijn.
Hier is een voorbeeld van een CHOOSE-formule in de eenvoudigste vorm:
=CHOOSE(3, "Mike", "Sally", "Amy", "Neal")
De formule geeft "Amy" omdat index_num is 3 en "Amy" is de 3e waarde in de lijst:
Excel CHOOSE functie - 3 dingen om te onthouden!
CHOOSE is een zeer eenvoudige functie en u zult nauwelijks problemen ondervinden bij de implementatie ervan in uw werkbladen. Als het resultaat van uw CHOOSE-formule onverwacht is of niet het gewenste resultaat oplevert, kan dat de volgende oorzaken hebben:
- Het aantal waarden waaruit kan worden gekozen is beperkt tot 254.
- Als index_num kleiner is dan 1 of groter dan het aantal waarden in de lijst, wordt de foutmelding #VALUE! teruggestuurd.
- Als de index_num argument een breuk is, wordt het afgekapt tot het laagste gehele getal.
Hoe de CHOOSE functie gebruiken in Excel - formulevoorbeelden
De volgende voorbeelden laten zien hoe CHOOSE de mogelijkheden van andere Excel-functies kan uitbreiden en alternatieve oplossingen kan bieden voor enkele veelvoorkomende taken, zelfs voor taken die door velen als onhaalbaar worden beschouwd.
Excel CHOOSE in plaats van geneste IF's
Een van de meest voorkomende taken in Excel is het retourneren van verschillende waarden op basis van een gespecificeerde voorwaarde. In de meeste gevallen kan dit worden gedaan met behulp van een klassiek genest IF statement. Maar de CHOOSE functie kan een snel en gemakkelijk te begrijpen alternatief zijn.
Voorbeeld 1. Geef verschillende waarden terug op basis van de voorwaarde
Stel, u hebt een kolom met leerlingenscores en u wilt de scores labelen op basis van de volgende voorwaarden:
Resultaat | Score |
Arme | 0 - 50 |
Bevredigend | 51 - 100 |
Goed | 101 - 150 |
Uitstekend | meer dan 151 |
Een manier om dit te doen is een paar IF-formules in elkaar te nestelen:
=IF(B2>=151, "Uitstekend", IF(B2>=101, "Goed", IF(B2>=51, "Bevredigend", "Slecht"))
Een andere manier is het kiezen van een label dat overeenkomt met de voorwaarde:
=CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), "Slecht", "Bevredigend", "Goed", "Uitstekend")
Hoe deze formule werkt:
In de index_num argument, evalueer je elke voorwaarde en geef je TRUE terug als aan de voorwaarde is voldaan, anders FALSE. Bijvoorbeeld, de waarde in cel B2 voldoet aan de eerste drie voorwaarden, dus krijgen we dit tussenresultaat:
=CHOOSE(TRUE + TRUE + FALSE, "Slecht", "Bevredigend", "Goed", "Uitstekend")
Aangezien TRUE in de meeste Excel-formules gelijk is aan 1 en FALSE aan 0, ondergaat onze formule deze transformatie:
=CHOOSE(1 + 1 + 1 + 0, "Slecht", "Bevredigend", "Goed", "Uitstekend")
Na de optelling hebben we:
=CHOOSE(3, "Slecht", "Bevredigend", "Goed", "Uitstekend")
Als resultaat wordt de 3e waarde in de lijst teruggegeven, die "Goed" is.
Tips:
- Om de formule flexibeler te maken, kunt u bijvoorbeeld celverwijzingen gebruiken in plaats van gecodeerde labels:
=CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), $E$1, $E$2, $E$3, $E$4)
- Als geen van uw voorwaarden WAAR is, is de index_num argument zal op 0 worden gezet, waardoor uw formule de foutmelding #VALUE! krijgt. Om dit te voorkomen kunt u CHOOSE als volgt in de IFERROR-functie verpakken:
=IFERROR(CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), "Slecht", "Bevredigend", "Goed", "Uitstekend"), "")
Voorbeeld 2. Verschillende berekeningen uitvoeren op basis van de voorwaarde
Op soortgelijke wijze kunt u de CHOOSE-functie van Excel gebruiken om één berekening uit te voeren in een reeks mogelijke berekeningen/formules, zonder meerdere IF-statements in elkaar te nestelen.
Laten we als voorbeeld de commissie van elke verkoper berekenen, afhankelijk van zijn verkoop:
Commissie | Verkoop |
5% | $0 tot $50 |
7% | $51 tot $100 |
10% | meer dan $101 |
Met het verkoopbedrag in B2 krijgt de formule de volgende vorm:
=CHOOSE((B2>0) + (B2>=51) + (B2>=101), B2*5%, B2*7%, B2*10%)
In plaats van de percentages hard te coderen in de formule, kunt u verwijzen naar de overeenkomstige cel in uw referentietabel, als die er is. Vergeet niet de verwijzingen vast te leggen met het $-teken.
=CHOOSE((B2>0) + (B2>=51) + (B2>=101), B2*$E$2, B2*$E$3, B2*$E$4)
Excel CHOOSE formule om willekeurige gegevens te genereren
Zoals u waarschijnlijk weet, heeft Microsoft Excel een speciale functie om willekeurige gehele getallen te genereren tussen de onderste en bovenste getallen die u opgeeft - RANDBETWEEN functie. Nest het in de index_num argument van CHOOSE, en uw formule genereert bijna alle willekeurige gegevens die u wilt.
Deze formule kan bijvoorbeeld een lijst van willekeurige examenresultaten opleveren:
=CHOOSE(RANDBETWEEN(1,4), "Slecht", "Bevredigend", "Goed", "Uitstekend")
De logica van de formule is duidelijk: RANDBETWEEN genereert willekeurige getallen van 1 tot 4 en CHOOSE geeft een overeenkomstige waarde uit de vooraf bepaalde lijst van vier waarden.
Opmerking. RANDBETWEEN is een vluchtige functie en berekent opnieuw bij elke wijziging die u in het werkblad aanbrengt. Als gevolg daarvan zal uw lijst met willekeurige waarden ook veranderen. Om dit te voorkomen, kunt u formules vervangen door hun waarden met behulp van de optie Speciaal plakken functie.
CHOOSE formule om een linker Vlookup te doen
Als u ooit een verticale lookup in Excel hebt uitgevoerd, weet u dat de VLOOKUP-functie alleen in de meest linkse kolom kan zoeken. In situaties waarin u een waarde links van de lookup-kolom moet retourneren, kunt u ofwel de combinatie INDEX / MATCH gebruiken, ofwel VLOOKUP voor de gek houden door de CHOOSE-functie erin te nesten. Zo gaat u te werk:
Stel, u hebt een lijst met scores in kolom A, namen van leerlingen in kolom B, en u wilt een score van een bepaalde leerling opvragen. Aangezien de retourkolom links van de opzoekkolom staat, geeft een gewone Vlookup-formule de foutmelding #N/A:
Om dit op te lossen, laat u de CHOOSE-functie de posities van de kolommen verwisselen, door Excel te vertellen dat kolom 1 B is en kolom 2 A:
=CHOOSE({1,2}, B2:B5, A2:A5)
Omdat we een array van {1,2} in de index_num argument, accepteert de CHOOSE-functie bereiken in de waarde argumenten (normaal gesproken niet).
Neem nu de bovenstaande formule op in de tabel_array argument van VLOOKUP:
=VLOOKUP(E1,CHOOSE({1,2}, B2:B5, A2:A5),2,FALSE)
En voilà - een lookup naar links wordt probleemloos uitgevoerd!
KIES formule om de volgende werkdag terug te sturen
Als u niet zeker weet of u morgen moet gaan werken of thuis kunt blijven en genieten van uw welverdiende weekend, kan de Excel CHOOSE functie uitzoeken wanneer de volgende werkdag is.
Ervan uitgaande dat uw werkdagen van maandag tot vrijdag zijn, gaat de formule als volgt:
=TODAY()+CHOOSE(WEEKDAG(TODAY()),1,1,1,1,1,3,2)
Op het eerste gezicht lastig, maar bij nadere beschouwing is de logica van de formule gemakkelijk te volgen:
WEEKDAY(TODAY()) geeft een volgnummer dat overeenkomt met de datum van vandaag, variërend van 1 (zondag) tot 7 (zaterdag). Dit nummer gaat naar de index_num argument van onze CHOOSE formule.
Waarde1 - waarde7 (1,1,1,1,1,3,2) bepalen hoeveel dagen moeten worden toegevoegd aan de huidige datum. Als vandaag zondag - donderdag is (index_num 1 - 5), voeg je 1 toe om de volgende dag terug te keren. Als vandaag vrijdag is (index_num 6), voeg je 3 toe om de volgende maandag terug te keren. Als vandaag zaterdag is (index_num 7), voeg je 2 toe om de volgende maandag terug te keren. Ja, zo eenvoudig is het :)
CHOOSE formule om een aangepaste dag/maand naam van datum terug te geven
In situaties waarin u een dagnaam wilt krijgen in het standaardformaat, zoals de volledige naam (maandag, dinsdag, enz.) of de korte naam (ma, dins, enz.), kunt u de functie TEKST gebruiken zoals uitgelegd in dit voorbeeld: Haal de dag van de week uit de datum in Excel.
Als u een dag van de week of een maandnaam in een aangepast formaat wilt teruggeven, gebruikt u de functie KIEZEN op de volgende manier.
Om een dag van de week te krijgen:
=CHOOSE(WEEKDAY(A2),"Su","Mo","Tu","We","Th","Fr","Sa")
Om een maand te krijgen:
=CHOOSE(MONTH(A2), "Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
Waarbij A2 de cel is die de oorspronkelijke datum bevat.
Ik hoop dat deze handleiding u enkele ideeën heeft gegeven over hoe u de CHOOSE-functie in Excel kunt gebruiken om uw gegevensmodellen te verbeteren. Ik dank u voor het lezen en hoop u volgende week op onze blog te zien!
Download praktijk werkboek
Excel CHOOSE functie voorbeelden