CHOOSE-funktionen i Excel med exempel på formler

  • Dela Detta
Michael Brown

I handledningen förklaras syntaxen och de grundläggande användningsområdena för CHOOSE-funktionen, och det finns några få exempel på hur man använder CHOOSE-formeln i Excel.

CHOOSE är en av de Excel-funktioner som kanske inte ser användbara ut på egen hand, men som i kombination med andra funktioner ger ett antal fantastiska fördelar. På den mest grundläggande nivån använder du CHOOSE-funktionen för att hämta ett värde från en lista genom att ange positionen för det värdet. Längre fram i den här handledningen hittar du flera avancerade användningsområden som verkligen är värda att utforska.

    Excel CHOOSE-funktionen - syntax och grundläggande användningsområden

    Funktionen CHOOSE i Excel är utformad för att returnera ett värde från listan baserat på en angiven position.

    Funktionen är tillgänglig i Excel 365, Excel 2019, Excel 2016, Excel 2013, Excel 2010 och Excel 2007.

    Syntaxen för CHOOSE-funktionen är följande:

    CHOOSE(index_num, value1, [value2], ...)

    Var:

    Index_nummer (krävs) - positionen för det värde som ska returneras. Det kan vara ett tal mellan 1 och 254, en cellreferens eller en annan formel.

    Värde1, värde2, ... - en lista med upp till 254 värden att välja mellan. Värde1 är obligatoriskt, andra värden är valfria. Dessa kan vara siffror, textvärden, cellreferenser, formler eller definierade namn.

    Här är ett exempel på en CHOOSE-formel i sin enklaste form:

    =CHOOSE(3, "Mike", "Sally", "Amy", "Neal")

    Formeln returnerar "Amy" eftersom index_nummer är 3 och "Amy" är det tredje värdet i listan:

    Excel CHOOSE-funktionen - 3 saker att komma ihåg!

    CHOOSE är en mycket enkel funktion och du kommer knappast att stöta på några svårigheter när du använder den i dina kalkylblad. Om det resultat som returneras av din CHOOSE-formel är oväntat eller inte är det resultat som du letade efter kan det bero på följande orsaker:

    1. Antalet värden att välja mellan är begränsat till 254.
    2. Om index_num är mindre än 1 eller större än antalet värden i listan, returneras felet #VALUE!.
    3. Om den index_num argumentet är ett bråk, trunkeras det till det lägsta heltalet.

    Hur man använder CHOOSE-funktionen i Excel - exempel på formler

    Följande exempel visar hur CHOOSE kan utöka andra Excel-funktioner och ge alternativa lösningar på vissa vanliga uppgifter, även sådana som många anser vara omöjliga att genomföra.

    Excel CHOOSE i stället för inbäddade IFs

    En av de vanligaste uppgifterna i Excel är att returnera olika värden baserat på ett angivet villkor. I de flesta fall kan detta göras med hjälp av ett klassiskt inbäddat IF-statement. Men CHOOSE-funktionen kan vara ett snabbt och lättförståeligt alternativ.

    Exempel 1. Återge olika värden baserat på villkor

    Antag att du har en kolumn med studenternas resultat och att du vill märka resultaten utifrån följande villkor:

    Resultat Resultat
    Dålig 0 - 50
    Tillfredsställande 51 - 100
    Bra 101 - 150
    Utmärkt över 151

    Ett sätt att göra detta är att bädda in några IF-formler i varandra:

    =IF(B2>=151, "Utmärkt", IF(B2>=101, "Bra", IF(B2>=51, "Tillfredsställande", "Dåligt")))

    Ett annat sätt är att välja en etikett som motsvarar tillståndet:

    =CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), "dåligt", "tillfredsställande", "bra", "utmärkt")

    Hur denna formel fungerar:

    I index_num argumentet utvärderar du varje villkor och returnerar TRUE om villkoret är uppfyllt och FALSE annars. Värdet i cell B2 uppfyller till exempel de tre första villkoren, så vi får det här mellanresultatet:

    =CHOOSE(TRUE + TRUE + TRUE + TRUE + FALSE, "Poor", "Satisfactory", "Good", "Excellent")

    Eftersom TRUE i de flesta Excel-formler är lika med 1 och FALSE är lika med 0, genomgår vår formel denna omvandling:

    =CHOOSE(1 + 1 + 1 + 1 + 0, "Dåligt", "Tillfredsställande", "Bra", "Utmärkt")

    Efter att additionsoperationen har utförts har vi:

    =CHOOSE(3, "Dåligt", "Tillfredsställande", "Bra", "Utmärkt")

    Resultatet är att det tredje värdet i listan returneras, vilket är "Good".

    Tips:

    • För att göra formeln mer flexibel kan du till exempel använda cellreferenser i stället för hårdkodade etiketter:

      =CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), $E$1, $E$2, $E$3, $E$4)

    • Om inget av dina villkor är VÄRA, kommer index_num argumentet kommer att sättas till 0, vilket gör att formeln returnerar felet #VALUE!. För att undvika detta kan du helt enkelt sätta in CHOOSE i IFERROR-funktionen på följande sätt:

      =IFERROR(CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), "Dåligt", "Tillfredsställande", "Bra", "Utmärkt"), "")

    Exempel 2. Utföra olika beräkningar baserat på villkor.

    På samma sätt kan du använda Excel-funktionen CHOOSE för att utföra en beräkning i en serie möjliga beräkningar/formler utan att behöva bädda in flera IF-meddelanden i varandra.

    Som exempel kan vi beräkna provisionen för varje säljare beroende på deras försäljning:

    Kommissionen Försäljning
    5% 0 till 50 dollar
    7% 51 till 100 dollar
    10% över $101

    Med försäljningsbeloppet i B2 får formeln följande utformning:

    =CHOOSE((B2>0) + (B2>=51) + (B2>=101), B2*5%, B2*7%, B2*10%)

    Istället för att skriva in procentsatserna i formeln kan du hänvisa till motsvarande cell i din referenstabell, om det finns någon. Kom ihåg att korrigera referenserna med hjälp av $-tecknet.

    =CHOOSE((B2>0) + (B2>=51) + (B2>=101), B2*$E$2, B2*$E$3, B2*$E$4)

    Excel CHOOSE-formeln för att generera slumpmässiga data

    Som du säkert vet har Microsoft Excel en speciell funktion för att generera slumpmässiga heltal mellan de lägsta och högsta siffrorna som du anger - RANDBETWEEN-funktionen. index_num argumentet CHOOSE, och din formel kommer att generera nästan vilka slumpmässiga data som helst.

    Den här formeln kan till exempel ge en lista med slumpmässiga provresultat:

    =CHOOSE(RANDBETWEEN(1,4), "Poor", "Satisfactory", "Good", "Excellent")

    Formelns logik är uppenbar: RANDBETWEEN genererar slumpmässiga tal från 1 till 4 och CHOOSE returnerar ett motsvarande värde från den fördefinierade listan med fyra värden.

    Observera att RANDBETWEEN är en flyktig funktion som räknas om vid varje ändring du gör i kalkylbladet. Detta leder till att listan över slumpmässiga värden också ändras. För att förhindra detta kan du ersätta formlerna med deras värden med hjälp av Klistra in speciellt funktion.

    Välj formel för att göra en vänster Vlookup

    Om du någonsin har gjort en vertikal sökning i Excel vet du att VLOOKUP-funktionen bara kan söka i den vänstra kolumnen. I situationer där du behöver returnera ett värde till vänster om sökkolumnen kan du antingen använda kombinationen INDEX/MATCH eller lura VLOOKUP genom att bädda in CHOOSE-funktionen i den. Så här gör du:

    Anta att du har en lista med poäng i kolumn A, studentnamn i kolumn B och att du vill hämta poäng för en viss student. Eftersom returkolumnen är till vänster om uppslagskolumnen ger en vanlig Vlookup-formel felet #N/A:

    För att åtgärda detta kan du använda CHOOSE-funktionen för att byta ut kolumnernas positioner och tala om för Excel att kolumn 1 är B och kolumn 2 är A:

    =CHOOSE({1,2}, B2:B5, A2:A5)

    Eftersom vi tillhandahåller en matris med {1,2} i index_nummer argumentet, accepterar CHOOSE-funktionen intervall i värde argument (normalt sett gör det inte det).

    Nu bäddar du in ovanstående formel i tabell_array argument för VLOOKUP:

    =VLOOKUP(E1,CHOOSE({1,2}, B2:B5, A2:A5),2,FALSE)

    Och voilà - ett uppslag till vänster utförs utan problem!

    Välj formel för att returnera nästa arbetsdag

    Om du är osäker på om du ska gå till jobbet i morgon eller om du kan stanna hemma och njuta av din välförtjänta helg, kan Excel-funktionen CHOOSE ta reda på när nästa arbetsdag är.

    Om du utgår från att dina arbetsdagar är måndag till fredag, kan du använda följande formel:

    =DAG()+VÄLJA(VECKODAG(DAG()),1,1,1,1,1,1,1,3,2)

    Vid en första anblick är det svårt att följa formelns logik, men vid en närmare granskning är den lätt att följa:

    WEEKDAY(TODAY()) returnerar ett löpnummer som motsvarar dagens datum, från 1 (söndag) till 7 (lördag). Detta nummer går till index_num argumentet i vår CHOOSE-formel.

    Värde1 - värde7 (1,1,1,1,1,1,3,2) bestämmer hur många dagar som ska läggas till det aktuella datumet. Om det är söndag - torsdag (indexnummer 1 - 5) i dag läggs 1 till för att återgå till nästa dag. Om det är fredag (indexnummer 6) i dag läggs 3 till för att återgå till nästa måndag. Om det är lördag (indexnummer 7) i dag läggs 2 till för att återgå till nästa måndag igen. Japp, så enkelt är det :)

    Formeln CHOOSE för att återge ett eget namn för dag/månad från datumet

    I situationer där du vill få fram ett dagsnamn i standardformat, t.ex. fullständigt namn (måndag, tisdag osv.) eller kortnamn (mån, tis osv.), kan du använda TEXT-funktionen som förklaras i det här exemplet: Få fram veckodag från datum i Excel.

    Om du vill returnera en veckodag eller ett månadsnamn i ett eget format använder du funktionen CHOOSE på följande sätt.

    För att få en veckodag:

    =CHOOSE(WEEKDAY(A2),"Su","Mo","Tu","We","Th","Fr","Sa")

    För att få en månad:

    =CHOOSE(MONTH(A2), "Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")

    Där A2 är cellen som innehåller det ursprungliga datumet.

    Jag hoppas att den här handledningen har gett dig några idéer om hur du kan använda CHOOSE-funktionen i Excel för att förbättra dina datamodeller. Jag tackar dig för att du läste och hoppas att vi ses på vår blogg nästa vecka!

    Ladda ner arbetsbok

    Excel exempel på CHOOSE-funktionen

    Michael Brown är en hängiven teknikentusiast med en passion för att förenkla komplexa processer med hjälp av mjukvaruverktyg. Med mer än ett decenniums erfarenhet inom teknikbranschen har han finslipat sina kunskaper i Microsoft Excel och Outlook, samt Google Sheets och Docs. Michaels blogg är tillägnad att dela med sig av sin kunskap och expertis med andra, och tillhandahåller lätta att följa tips och handledningar för att förbättra produktiviteten och effektiviteten. Oavsett om du är en erfaren proffs eller nybörjare, erbjuder Michaels blogg värdefulla insikter och praktiska råd för att få ut det mesta av dessa viktiga programvaruverktyg.