Indholdsfortegnelse
Vejledningen forklarer syntaksen og de grundlæggende anvendelser af CHOOSE-funktionen og indeholder et par ikke-trivielle eksempler på, hvordan man bruger en CHOOSE-formel i Excel.
CHOOSE er en af de Excel-funktioner, der måske ikke ser nyttige ud alene, men som kombineret med andre funktioner giver en række fantastiske fordele. På det mest grundlæggende niveau bruger du CHOOSE-funktionen til at hente en værdi fra en liste ved at angive positionen for den pågældende værdi. Længere fremme i denne vejledning finder du flere avancerede anvendelser, som bestemt er værd at udforske.
Excel CHOOSE-funktion - syntaks og grundlæggende anvendelser
CHOOSE-funktionen i Excel er designet til at returnere en værdi fra listen baseret på en bestemt position.
Funktionen er tilgængelig i Excel 365, Excel 2019, Excel 2016, Excel 2013, Excel 2010, Excel 2007 og Excel 2010.
Syntaksen for CHOOSE-funktionen er som følger:
CHOOSE(index_num, value1, [value2], ...)Hvor:
Indeks_nummer (påkrævet) - positionen for den værdi, der skal returneres. Det kan være et tal mellem 1 og 254, en cellereference eller en anden formel.
Værdi1, værdi2, ... - en liste med op til 254 værdier, som du kan vælge imellem. Værdi1 er påkrævet, andre værdier er valgfrie. Det kan være tal, tekstværdier, cellereferencer, formler eller definerede navne.
Her er et eksempel på en CHOOSE-formel i den enkleste form:
=CHOOSE(3, "Mike", "Sally", "Amy", "Neal")
Formlen returnerer "Amy", fordi index_num er 3, og "Amy" er den tredje værdi på listen:
Excel CHOOSE-funktionen - 3 ting, du skal huske!
CHOOSE er en meget enkel funktion, og du vil næppe støde på problemer med at implementere den i dine regneark. Hvis det resultat, der returneres af din CHOOSE-formel, er uventet eller ikke det resultat, du søgte, kan det skyldes følgende årsager:
- Antallet af værdier, der kan vælges mellem, er begrænset til 254.
- Hvis index_num er mindre end 1 eller større end antallet af værdier i listen, returneres fejlen #VALUE!
- Hvis den index_num argumentet er en brøk, afkortes det til det laveste hele tal.
Sådan bruger du CHOOSE-funktionen i Excel - eksempler på formler
De følgende eksempler viser, hvordan CHOOSE kan udvide mulighederne i andre Excel-funktioner og give alternative løsninger på nogle almindelige opgaver, selv dem, som mange anser for umulige at udføre.
Excel CHOOSE i stedet for indlejrede IF'er
En af de hyppigste opgaver i Excel er at returnere forskellige værdier baseret på en bestemt betingelse. I de fleste tilfælde kan dette gøres ved hjælp af en klassisk nested IF-anvisning. Men CHOOSE-funktionen kan være et hurtigt og letforståeligt alternativ.
Eksempel 1. Returner forskellige værdier baseret på betingelse
Antag, at du har en kolonne med elevresultater, og at du ønsker at mærke resultaterne på baggrund af følgende betingelser:
Resultat | Score |
Dårlig | 0 - 50 |
Tilfredsstillende | 51 - 100 |
Godt | 101 - 150 |
Fremragende | over 151 |
En måde at gøre dette på er at indlejre et par IF-formler i hinanden:
=IF(B2>=151, "Fremragende", IF(B2>=101, "God", IF(B2>=51, "Tilfredsstillende", "Dårlig"))))
En anden måde er at vælge en etiket, der svarer til betingelsen:
=CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), "Dårlig", "Tilfredsstillende", "God", "Fremragende")
Sådan fungerer denne formel:
I den index_num argumentet evaluerer du hver betingelse og returnerer TRUE, hvis betingelsen er opfyldt, og FALSE i modsat fald. F.eks. opfylder værdien i celle B2 de tre første betingelser, så vi får dette mellemliggende resultat:
=CHOOSE(TRUE + TRUE + TRUE + TRUE + FALSE, "Dårlig", "Tilfredsstillende", "God", "Fremragende")
Da TRUE i de fleste Excel-formler er lig med 1 og FALSE med 0, gennemgår vores formel denne transformation:
=CHOOSE(1 + 1 + 1 + 1 + 0, "Dårlig", "Tilfredsstillende", "God", "Fremragende")
Efter at additionen er udført, har vi:
=CHOOSE(3, "Dårlig", "Tilfredsstillende", "God", "Fremragende")
Resultatet er, at den tredje værdi på listen returneres, som er "Good".
Tips:
- Hvis du vil gøre formlen mere fleksibel, kan du f.eks. bruge cellehenvisninger i stedet for fastkodede etiketter:
=CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), $E$1, $E$2, $E$3, $E$4)
- Hvis ingen af dine betingelser er SAND, vil index_num argumentet vil blive sat til 0, hvilket tvinger din formel til at returnere fejlen #VALUE!. For at undgå dette skal du blot indpakke CHOOSE i IFERROR-funktionen på følgende måde:
=IFERROR(CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), "Dårlig", "Tilfredsstillende", "God", "Fremragende"), "")
Eksempel 2. Udfør forskellige beregninger baseret på tilstand
På samme måde kan du bruge Excel-funktionen CHOOSE til at udføre en beregning i en række mulige beregninger/formler uden at indlejre flere IF-meddelelser i hinanden.
Som et eksempel kan vi beregne hver sælgers provision afhængigt af deres salg:
Kommissionen | Salg |
5% | $0 til $50 |
7% | $51 til $100 |
10% | over $101 |
Med salgsbeløbet i B2 får formlen følgende formular:
=CHOOSE((B2>0) + (B2>=51) + (B2>=101), B2*5%, B2*7%, B2*10%)
I stedet for at indkode procenterne i formlen kan du henvise til den tilsvarende celle i din referencetabel, hvis der er nogen. Husk blot at rette referencerne ved hjælp af $-tegnet.
=CHOOSE((B2>0) + (B2>=51) + (B2>=101), B2*$E$2, B2*$E$3, B2*$E$4)
Excel CHOOSE-formel til at generere tilfældige data
Som du sikkert ved, har Microsoft Excel en særlig funktion til at generere tilfældige tal mellem de nederste og øverste tal, som du angiver - RANDBETWEEN-funktionen. index_num argumentet i CHOOSE, og din formel vil generere næsten alle de tilfældige data, du ønsker.
Denne formel kan f.eks. producere en liste over tilfældige eksamensresultater:
=CHOOSE(RANDBETWEEN(1,4), "Dårlig", "Tilfredsstillende", "God", "Fremragende")
Formlens logik er indlysende: RANDBETWEEN genererer tilfældige tal fra 1 til 4, og CHOOSE returnerer en tilsvarende værdi fra den foruddefinerede liste med fire værdier.
Bemærk. RANDBETWEEN er en flygtig funktion, og den genberegnes ved hver ændring, du foretager i regnearket. Som følge heraf vil din liste over tilfældige værdier også ændre sig. For at forhindre dette kan du erstatte formler med deres værdier ved at bruge Indsæt specielt funktion.
VÆLG formel til at lave et venstre Vlookup
Hvis du nogensinde har udført et vertikalt opslag i Excel, ved du, at VLOOKUP-funktionen kun kan søge i kolonnen længst til venstre. I situationer, hvor du har brug for at returnere en værdi til venstre for opslagskolonnen, kan du enten bruge kombinationen INDEX / MATCH eller snyde VLOOKUP ved at indlejre CHOOSE-funktionen i den. Sådan gør du:
Lad os antage, at du har en liste over resultater i kolonne A og elevernes navne i kolonne B, og at du ønsker at hente et resultat for en bestemt elev. Da returkolonnen er til venstre for opslagskolonnen, returnerer en almindelig Vlookup-formel #N/A-fejlen:
Du kan løse dette ved at få CHOOSE-funktionen til at bytte om på kolonnernes positioner og fortælle Excel, at kolonne 1 er B og kolonne 2 er A:
=VÆLGE({1,2}, B2:B5, A2:A5)
Fordi vi leverer et array af {1,2} i index_num argumentet, accepterer CHOOSE-funktionen intervaller i værdi argumenter (normalt gør den ikke).
Indsæt nu ovenstående formel i table_array argumentet i VLOOKUP:
=VLOOKUP(E1,CHOOSE({1,2}, B2:B5, A2:A5),2,FALSE)
Og voilà - et opslag til venstre udføres uden problemer!
VÆLG formel til returnering næste arbejdsdag
Hvis du er i tvivl om, hvorvidt du skal tage på arbejde i morgen eller om du kan blive hjemme og nyde din velfortjente weekend, kan Excel-funktionen CHOOSE finde ud af, hvornår den næste arbejdsdag er.
Hvis du antager, at dine arbejdsdage er fra mandag til fredag, lyder formlen således:
=I DAG()+VÆLGE(UGEDAG(I DAG()),1,1,1,1,1,1,1,1,3,2)
Ved første øjekast er det svært at følge logikken i formlen, men ved nærmere eftersyn er den let at følge:
WEEKDAY(TODAY()) returnerer et løbenummer svarende til dagens dato, fra 1 (søndag) til 7 (lørdag). Dette nummer går til index_num argument i vores CHOOSE-formel.
Værdi1 - værdi7 (1,1,1,1,1,1,1,3,2) bestemmer, hvor mange dage der skal lægges til den aktuelle dato. Hvis dagen i dag er søndag - torsdag (index_num 1 - 5), lægges der 1 til næste dag. Hvis dagen i dag er fredag (index_num 6), lægges der 3 til næste mandag. Hvis dagen i dag er lørdag (index_num 7), lægges der 2 til næste mandag igen. Ja, så enkelt er det :)
VÆLG formel til at returnere et brugerdefineret dag/månedsnavn fra dato
I situationer, hvor du ønsker at få et dagsnavn i standardformat som f.eks. det fulde navn (mandag, tirsdag osv.) eller det korte navn (mandag, tirsdag osv.), kan du bruge TEXT-funktionen som forklaret i dette eksempel: Få ugedag fra dato i Excel.
Hvis du ønsker at returnere en ugedag eller et månedsnavn i et brugerdefineret format, skal du bruge CHOOSE-funktionen på følgende måde.
For at få en ugedag:
=CHOOSE(WEEKDAY(A2),"Su","Mo","Tu","We","Th","Fr","Sa")
For at få en måned:
=CHOOSE(MONTH(A2), "Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
Hvor A2 er den celle, der indeholder den oprindelige dato.
Jeg håber, at denne vejledning har givet dig nogle idéer til, hvordan du kan bruge CHOOSE-funktionen i Excel til at forbedre dine datamodeller. Tak for din læsning og håber at se dig på vores blog i næste uge!
Download arbejdsbog til øvelser
Excel CHOOSE-funktion eksempler