Obsah
Výukový program vysvětluje syntaxi a základní použití funkce CHOOSE a uvádí několik netriviálních příkladů použití vzorce CHOOSE v aplikaci Excel.
Funkce CHOOSE je jednou z těch funkcí Excelu, které možná samy o sobě nevypadají užitečně, ale v kombinaci s dalšími funkcemi poskytují řadu úžasných výhod. Na nejzákladnější úrovni používáte funkci CHOOSE k získání hodnoty ze seznamu zadáním pozice této hodnoty. Dále v tomto návodu najdete několik pokročilých způsobů použití, které určitě stojí za prozkoumání.
Funkce Excel CHOOSE - syntaxe a základní použití
Funkce CHOOSE v aplikaci Excel je určena k vrácení hodnoty ze seznamu na základě zadané pozice.
Funkce je k dispozici v aplikacích Excel 365, Excel 2019, Excel 2016, Excel 2013, Excel 2010 a Excel 2007.
Syntaxe funkce CHOOSE je následující:
CHOOSE(index_num, value1, [value2], ...)Kde:
Index_num (povinné) - pozice hodnoty, která se má vrátit. Může to být libovolné číslo v rozsahu 1 až 254, odkaz na buňku nebo jiný vzorec.
Hodnota1, hodnota2, ... - seznam až 254 hodnot, z nichž lze vybírat. Hodnota1 je povinná, ostatní hodnoty jsou nepovinné. Mohou to být čísla, textové hodnoty, odkazy na buňky, vzorce nebo definované názvy.
Zde je příklad vzorce CHOOSE v nejjednodušší podobě:
=CHOOSE(3, "Mike", "Sally", "Amy", "Neal")
Vzorec vrací hodnotu "Amy", protože index_num je 3 a "Amy" je třetí hodnota v seznamu:
Funkce Excel CHOOSE - 3 věci, které je třeba si zapamatovat!
Funkce CHOOSE je velmi jednoduchá a při její implementaci do pracovních listů se sotva setkáte s nějakými potížemi. Pokud je výsledek vrácený vzorcem CHOOSE neočekávaný nebo neodpovídá vašemu očekávání, může to být z následujících důvodů:
- Počet hodnot, z nichž lze vybírat, je omezen na 254.
- Pokud index_num je menší než 1 nebo větší než počet hodnot v seznamu, je vrácena chyba #VALUE!.
- Pokud index_num je zlomek, je zkrácen na nejmenší celé číslo.
Jak používat funkci CHOOSE v aplikaci Excel - příklady vzorců
Následující příklady ukazují, jak může funkce CHOOSE rozšířit možnosti jiných funkcí aplikace Excel a poskytnout alternativní řešení některých běžných úloh, a to i těch, které mnozí považují za neproveditelné.
Excel CHOOSE místo vnořených IF
Jednou z nejčastějších úloh v Excelu je vracení různých hodnot na základě zadané podmínky. Ve většině případů to lze provést pomocí klasického vnořeného příkazu IF. Funkce CHOOSE však může být rychlou a snadno pochopitelnou alternativou.
Příklad 1. Vrácení různých hodnot na základě podmínky
Předpokládejme, že máte sloupec výsledků žáků a chcete je označit na základě následujících podmínek:
Výsledek | Skóre |
Špatný | 0 - 50 |
Vyhovující | 51 - 100 |
Dobrý | 101 - 150 |
Vynikající | přes 151 |
Jedním ze způsobů, jak toho dosáhnout, je vnořit několik vzorců IF do sebe:
=IF(B2>=151, "Vynikající", IF(B2>=101, "Dobrý", IF(B2>=51, "Uspokojivý", "Špatný")))
Dalším způsobem je vybrat štítek odpovídající podmínce:
=CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), "Poor", "Satisfactory", "Good", "Excellent")
Jak tento vzorec funguje:
V index_num vyhodnotíte každou podmínku a vrátíte TRUE, pokud je podmínka splněna, jinak FALSE. Například hodnota v buňce B2 splňuje první tři podmínky, takže dostaneme tento mezivýsledek:
=CHOOSE(TRUE + TRUE + TRUE + FALSE, "Poor", "Satisfactory", "Good", "Excellent")
Vzhledem k tomu, že ve většině vzorců Excelu se TRUE rovná 1 a FALSE 0, náš vzorec projde touto transformací:
=CHOOSE(1 + 1 + 1 + 0, "Poor", "Satisfactory", "Good", "Excellent")
Po provedení operace sčítání máme:
=CHOOSE(3, "Poor", "Satisfactory", "Good", "Excellent")
Jako výsledek se vrátí 3. hodnota v seznamu, což je "Good".
Tipy:
- Aby byl vzorec flexibilnější, můžete například místo pevně zadaných štítků použít odkazy na buňky:
=CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), $E$1, $E$2, $E$3, $E$4)
- Pokud žádná z vašich podmínek není TRUE, bude index_num argument bude nastaven na hodnotu 0 a vzorec vrátí chybu #VALUE! Chcete-li se tomu vyhnout, jednoduše zabalte funkci CHOOSE do funkce IFERROR takto:
=IFERROR(CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), "Poor", "Satisfactory", "Good", "Excellent"), "")
Příklad 2. Proveďte různé výpočty na základě podmínek
Podobným způsobem můžete použít funkci Excel CHOOSE k provedení jednoho výpočtu v řadě možných výpočtů/vzorců, aniž byste museli vnořovat více příkazů IF do sebe.
Jako příklad uveďme výpočet provize každého prodejce v závislosti na jeho prodeji:
Komise | Prodej |
5% | 0 až 50 dolarů |
7% | 51 až 100 dolarů |
10% | více než 101 dolarů |
S částkou prodeje v položce B2 má vzorec následující tvar:
=CHOOSE((B2>0) + (B2>=51) + (B2>=101), B2*5%, B2*7%, B2*10%)
Místo toho, abyste procenta ve vzorci zadávali natvrdo, můžete odkázat na odpovídající buňku v referenční tabulce, pokud nějaká existuje. Jen nezapomeňte odkazy opravit pomocí znaku $.
=CHOOSE((B2>0) + (B2>=51) + (B2>=101), B2*$E$2, B2*$E$3, B2*$E$4)
Vzorec Excel CHOOSE pro generování náhodných dat
Jak pravděpodobně víte, Microsoft Excel má speciální funkci pro generování náhodných celých čísel mezi dolním a horním číslem, které zadáte - funkci RANDBETWEEN. Vložte ji do okna. index_num argumentu CHOOSE a vzorec vygeneruje téměř libovolná náhodná data.
Tento vzorec může například vytvořit seznam náhodných výsledků zkoušek:
=CHOOSE(RANDBETWEEN(1,4), "Poor", "Satisfactory", "Good", "Excellent")
Logika vzorce je zřejmá: RANDBETWEEN generuje náhodná čísla od 1 do 4 a CHOOSE vrací odpovídající hodnotu z předem definovaného seznamu čtyř hodnot.
Poznámka: RANDBETWEEN je nestálá funkce a přepočítává se při každé změně, kterou provedete v pracovním listu. V důsledku toho se změní i seznam náhodných hodnot. Abyste tomu zabránili, můžete vzorce nahradit jejich hodnotami pomocí příkazu Vložit speciální funkce.
VYBRAT vzorec pro provedení levého Vlookupu
Pokud jste někdy v Excelu prováděli vertikální vyhledávání, víte, že funkce VLOOKUP umí vyhledávat pouze v nejlevějším sloupci. V situacích, kdy potřebujete vrátit hodnotu nalevo od vyhledávacího sloupce, můžete použít buď kombinaci INDEX / MATCH, nebo obelstít funkci VLOOKUP tím, že do ní vnoříte funkci CHOOSE:
Předpokládejme, že máte seznam výsledků ve sloupci A, jména studentů ve sloupci B a chcete získat výsledek konkrétního studenta. Protože sloupec pro návrat je vlevo od sloupce pro vyhledávání, běžný vzorec Vlookup vrátí chybu #N/A:
Chcete-li to napravit, použijte funkci CHOOSE, která prohodí pozice sloupců a řekne aplikaci Excel, že sloupec 1 je B a sloupec 2 je A:
=CHOOSE({1,2}, B2:B5, A2:A5)
Vzhledem k tomu, že v příkazu {1,2} zadáváme pole index_num argument, funkce CHOOSE přijímá rozsahy ve tvaru hodnota argumenty (normálně ne).
Nyní vložte výše uvedený vzorec do table_array argument VLOOKUP:
=VLOOKUP(E1,CHOOSE({1,2}, B2:B5, A2:A5),2,FALSE)
A voilà - vyhledávání vlevo proběhne bez problémů!
VYBRAT vzorec pro vrácení následující pracovní den
Pokud si nejste jisti, zda máte zítra jít do práce, nebo můžete zůstat doma a užít si zasloužený víkend, funkce Excel CHOOSE dokáže zjistit, kdy je další pracovní den.
Za předpokladu, že vaše pracovní dny jsou od pondělí do pátku, je vzorec následující:
=DNES()+VYBRAT(DEN V TÝDNU(DNES()),1,1,1,1,1,1,3,2)
Na první pohled složité, ale při bližším pohledu je logika vzorce snadno pochopitelná:
WEEKDAY(TODAY()) vrací pořadové číslo odpovídající dnešnímu datu v rozsahu od 1 (neděle) do 7 (sobota). Toto číslo přechází do pole. index_num argumentu našeho vzorce CHOOSE.
Hodnota1 - hodnota7 (1,1,1,1,1,1,3,2) určují, kolik dní se má přičíst k aktuálnímu datu. Pokud je dnes neděle - čtvrtek (index_číslo 1 - 5), přičtete 1, abyste vrátili další den. Pokud je dnes pátek (index_číslo 6), přičtete 3, abyste vrátili další pondělí. Pokud je dnes sobota (index_číslo 7), přičtete 2, abyste vrátili opět další pondělí. Jo, je to tak jednoduché :)
VYBRAT vzorec pro vrácení vlastního názvu dne/měsíce z data
V situacích, kdy chcete získat název dne ve standardním formátu, jako je celý název (pondělí, úterý atd.) nebo zkrácený název (po, út atd.), můžete použít funkci TEXT, jak je vysvětleno v tomto příkladu: Získat den v týdnu z data v aplikaci Excel.
Chcete-li vrátit název dne v týdnu nebo měsíce ve vlastním formátu, použijte funkci CHOOSE následujícím způsobem.
Chcete-li získat den v týdnu:
=CHOOSE(WEEKDAY(A2),"Su","Mo","Tu","We","Th","Fr","Sa")
Chcete-li získat měsíc:
=CHOOSE(MONTH(A2), "Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
Kde A2 je buňka obsahující původní datum.
Doufám, že vám tento návod přinesl několik nápadů, jak můžete funkci CHOOSE v Excelu použít k vylepšení svých datových modelů. Děkuji vám za přečtení a doufám, že se příští týden uvidíme na našem blogu!
Stáhnout cvičebnici
Příklady funkce Excel CHOOSE