Obsah
Učebnica vysvetľuje syntax a základné použitie funkcie CHOOSE a poskytuje niekoľko netriviálnych príkladov, ktoré ukazujú, ako používať vzorec CHOOSE v programe Excel.
Funkcia CHOOSE je jednou z tých funkcií Excelu, ktoré možno samy o sebe nevyzerajú užitočné, ale v kombinácii s inými funkciami poskytujú množstvo úžasných výhod. Na najzákladnejšej úrovni používate funkciu CHOOSE na získanie hodnoty zo zoznamu zadaním pozície tejto hodnoty. Ďalej v tomto návode nájdete niekoľko pokročilých spôsobov použitia, ktoré určite stoja za preskúmanie.
Funkcia Excel CHOOSE - syntax a základné použitie
Funkcia CHOOSE v programe Excel je určená na vrátenie hodnoty zo zoznamu na základe zadanej pozície.
Funkcia je k dispozícii v aplikáciách Excel 365, Excel 2019, Excel 2016, Excel 2013, Excel 2010 a Excel 2007.
Syntax funkcie CHOOSE je nasledujúca:
CHOOSE(index_num, value1, [value2], ...)Kde:
Index_num (povinné) - pozícia hodnoty, ktorá sa má vrátiť. Môže to byť ľubovoľné číslo od 1 do 254, odkaz na bunku alebo iný vzorec.
Hodnota1, hodnota2, ... - zoznam až 254 hodnôt, z ktorých si môžete vybrať. Hodnota1 je povinná, ostatné hodnoty sú voliteľné. Môžu to byť čísla, textové hodnoty, odkazy na bunky, vzorce alebo definované názvy.
Tu je príklad vzorca CHOOSE v najjednoduchšej forme:
=CHOOSE(3, "Mike", "Sally", "Amy", "Neal")
Vzorec vráti hodnotu "Amy", pretože index_num je 3 a "Amy" je tretia hodnota v zozname:
Funkcia Excel CHOOSE - 3 veci, ktoré si treba zapamätať!
Funkcia CHOOSE je veľmi jednoduchá a pri jej implementácii do pracovných hárkov sotva narazíte na nejaké ťažkosti. Ak je výsledok vrátený vzorcom CHOOSE neočakávaný alebo nie je výsledkom, ktorý ste hľadali, môže to byť z nasledujúcich dôvodov:
- Počet hodnôt na výber je obmedzený na 254.
- Ak index_num je menšia ako 1 alebo väčšia ako počet hodnôt v zozname, vráti sa chyba #VALUE!.
- Ak sa index_num argument je zlomok, je skrátený na najnižšie celé číslo.
Ako používať funkciu CHOOSE v programe Excel - príklady vzorcov
Nasledujúce príklady ukazujú, ako môže CHOOSE rozšíriť možnosti iných funkcií programu Excel a poskytnúť alternatívne riešenia niektorých bežných úloh, dokonca aj tých, ktoré mnohí považujú za nerealizovateľné.
Excel CHOOSE namiesto vnorených IF
Jednou z najčastejších úloh v programe Excel je vrátenie rôznych hodnôt na základe zadanej podmienky. Vo väčšine prípadov to možno vykonať pomocou klasického vnoreného príkazu IF. Funkcia CHOOSE však môže byť rýchlou a zrozumiteľnou alternatívou.
Príklad 1. Vrátenie rôznych hodnôt na základe podmienky
Predpokladajme, že máte stĺpec s výsledkami žiakov a chcete ich označiť na základe nasledujúcich podmienok:
Výsledok | Skóre |
Chudobný | 0 - 50 |
Uspokojivé | 51 - 100 |
Dobrý | 101 - 150 |
Vynikajúce | viac ako 151 |
Jedným zo spôsobov, ako to urobiť, je vložiť do seba niekoľko vzorcov IF:
=IF(B2>=151, "Výborný", IF(B2>=101, "Dobrý", IF(B2>=51, "Uspokojivý", "Slabý"))
Ďalším spôsobom je vybrať označenie zodpovedajúce podmienke:
=CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), "Poor", "Satisfactory", "Good", "Excellent")
Ako tento vzorec funguje:
V index_num vyhodnotíte každú podmienku a vrátite TRUE, ak je podmienka splnená, inak FALSE. Napríklad hodnota v bunke B2 spĺňa prvé tri podmienky, takže dostaneme tento medzivýsledok:
=CHOOSE(TRUE + TRUE + TRUE + FALSE, "Poor", "Satisfactory", "Good", "Excellent")
Vzhľadom na to, že vo väčšine vzorcov programu Excel sa TRUE rovná 1 a FALSE 0, náš vzorec prejde touto transformáciou:
=CHOOSE(1 + 1 + 1 + 0, "Poor", "Satisfactory", "Good", "Excellent")
Po vykonaní operácie sčítania máme:
=CHOOSE(3, "Poor", "Satisfactory", "Good", "Excellent")
Ako výsledok sa vráti tretia hodnota v zozname, ktorá je "Good".
Tipy:
- Aby bol vzorec flexibilnejší, môžete namiesto pevne zakódovaných značiek použiť napríklad odkazy na bunky:
=CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), $E$1, $E$2, $E$3, $E$4)
- Ak žiadna z vašich podmienok nie je TRUE, index_num argument bude nastavený na 0, čo spôsobí, že vzorec vráti chybu #VALUE! Ak sa tomu chcete vyhnúť, jednoducho zabaľte CHOOSE do funkcie IFERROR takto:
=IFERROR(CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), "Poor", "Satisfactory", "Good", "Excellent"), "")
Príklad 2. Vykonajte rôzne výpočty na základe podmienok
Podobným spôsobom môžete použiť funkciu Excel CHOOSE na vykonanie jedného výpočtu v sérii možných výpočtov/vzorcov bez toho, aby ste do seba vnorili viacero príkazov IF.
Ako príklad si vypočítajme províziu každého predajcu v závislosti od jeho predaja:
Komisia | Predaj |
5% | 0 až 50 dolárov |
7% | 51 až 100 dolárov |
10% | viac ako 101 USD |
S predajnou sumou v B2 má vzorec nasledujúci tvar:
=CHOOSE((B2>0) + (B2>=51) + (B2>=101), B2*5%, B2*7%, B2*10%)
Namiesto toho, aby ste percentá vo vzorci zadávali natvrdo, môžete sa odvolať na príslušnú bunku v referenčnej tabuľke, ak nejaká existuje. Len nezabudnite odkazy opraviť pomocou znaku $.
=CHOOSE((B2>0) + (B2>=51) + (B2>=101), B2*$E$2, B2*$E$3, B2*$E$4)
Vzorec Excel CHOOSE na generovanie náhodných údajov
Ako pravdepodobne viete, Microsoft Excel má špeciálnu funkciu na generovanie náhodných celých čísel medzi spodným a horným číslom, ktoré zadáte - funkciu RANDBETWEEN. Vložte ju do index_num argument CHOOSE a vzorec vygeneruje takmer ľubovoľné náhodné údaje.
Tento vzorec môže napríklad vytvoriť zoznam náhodných výsledkov skúšok:
=CHOOSE(RANDBETWEEN(1,4), "Poor", "Satisfactory", "Good", "Excellent")
Logika vzorca je zrejmá: RANDBETWEEN generuje náhodné čísla od 1 do 4 a CHOOSE vráti príslušnú hodnotu z preddefinovaného zoznamu štyroch hodnôt.
Poznámka: RANDBETWEEN je nestála funkcia a prepočítava sa pri každej zmene, ktorú vykonáte v pracovnom hárku. V dôsledku toho sa zmení aj váš zoznam náhodných hodnôt. Aby ste tomu zabránili, môžete nahradiť vzorce s ich hodnotami pomocou príkazu Vložiť špeciálne funkcia.
VYBRAŤ vzorec na vykonanie ľavého Vlookup
Ak ste niekedy v programe Excel vykonávali vertikálne vyhľadávanie, viete, že funkcia VLOOKUP dokáže vyhľadávať len v stĺpci najviac vľavo. V situáciách, keď potrebujete vrátiť hodnotu naľavo od stĺpca vyhľadávania, môžete použiť buď kombináciu INDEX / MATCH, alebo funkciu VLOOKUP oklamať tak, že do nej vnoríte funkciu CHOOSE:
Predpokladajme, že máte zoznam výsledkov v stĺpci A, mená študentov v stĺpci B a chcete získať výsledok konkrétneho študenta. Keďže stĺpec s návratom je naľavo od stĺpca s vyhľadávaním, bežný vzorec Vlookup vráti chybu #N/A:
Ak to chcete napraviť, použite funkciu CHOOSE, ktorá vymení pozície stĺpcov a povie programu Excel, že stĺpec 1 je B a stĺpec 2 je A:
=CHOOSE({1,2}, B2:B5, A2:A5)
Pretože v príkaze {1,2} poskytujeme pole {1,2}. index_num argument, funkcia CHOOSE akceptuje rozsahy v hodnota argumenty (zvyčajne nie).
Teraz vložte vyššie uvedený vzorec do table_array argument VLOOKUP:
=VLOOKUP(E1,CHOOSE({1,2}, B2:B5, A2:A5),2,FALSE)
A voilà - vyhľadávanie doľava sa vykoná bez problémov!
VYBERTE si vzorec na vrátenie nasledujúci pracovný deň
Ak si nie ste istí, či máte zajtra ísť do práce, alebo môžete zostať doma a užiť si zaslúžený víkend, funkcia Excel CHOOSE vám pomôže zistiť, kedy je ďalší pracovný deň.
Za predpokladu, že vaše pracovné dni sú od pondelka do piatku, vzorec vyzerá takto:
=TODAY()+CHOOSE(WEEKDAY(TODAY()),1,1,1,1,1,1,3,2)
Na prvý pohľad zložité, ale pri bližšom pohľade je logika vzorca ľahko pochopiteľná:
WEEKDAY(TODAY()) vráti poradové číslo zodpovedajúce dnešnému dátumu v rozsahu od 1 (nedeľa) do 7 (sobota). Toto číslo sa prenesie do index_num argumentu nášho vzorca CHOOSE.
Hodnota1 - hodnota7 (1,1,1,1,1,1,3,2) určujú, koľko dní sa má pripočítať k aktuálnemu dátumu. Ak je dnes nedeľa - štvrtok (index_číslo 1 - 5), pripočítate 1, aby ste vrátili nasledujúci deň. Ak je dnes piatok (index_číslo 6), pripočítate 3, aby ste vrátili nasledujúci pondelok. Ak je dnes sobota (index_číslo 7), pripočítate 2, aby ste vrátili opäť nasledujúci pondelok. Áno, je to také jednoduché :)
Vzorec CHOOSE na vrátenie vlastného názvu dňa/mesiaca z dátumu
V situáciách, keď chcete získať názov dňa v štandardnom formáte, ako je úplný názov (pondelok, utorok atď.) alebo skrátený názov (pondelok, utorok atď.), môžete použiť funkciu TEXT, ako je vysvetlené v tomto príklade: Získať deň v týždni z dátumu v programe Excel.
Ak chcete vrátiť názov dňa v týždni alebo mesiaca vo vlastnom formáte, použite funkciu CHOOSE nasledujúcim spôsobom.
Ak chcete získať deň v týždni:
=CHOOSE(WEEKDAY(A2),"Su","Mo","Tu","We","Th","Fr","Sa")
Ak chcete získať mesiac:
=CHOOSE(MONTH(A2), "Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
Kde A2 je bunka obsahujúca pôvodný dátum.
Dúfam, že vám tento návod poskytol niekoľko nápadov, ako môžete použiť funkciu CHOOSE v programe Excel na vylepšenie svojich dátových modelov. Ďakujem vám za prečítanie a dúfam, že sa uvidíme na našom blogu budúci týždeň!
Stiahnite si cvičebnicu
Príklady funkcie Excel CHOOSE