Funkce KDYŽ je v programu MS Excel jedna z nejužitečnějších a nejčastěji využívaných funkcí, která nám pomůže snadno vyřešit i na první pohled složitě vypadající úkoly. Umožňuje zobrazení různých variant výsledků na základě podmínky - porovnává a rozhoduje za nás.
Funkce KDYŽ má celkem tři parametry: PODMÍNKY, varianty ANO a varianty NE. Podmínku a obě varianty od sebe oddělujeme středníkem (klávesa vlevo nahoře pod Esc).
Do podmínky zadáváme formou logického výrazy (podmínky) to, co má funkce testovat. Tedy např. jestli jedno číslo je větší než druhé, jestli daná buňka obsahuje nějaké číslo či text, atp. Varianta ANO potom vykoná to, co do ní napíšeme, pokud podmínka bude pravdivá (např. 5>4), varianta NE se vykoná, pokud podmínka pravdivá není (10<3).
Funkci KDYŽ můžeme vložit několika způsoby, za prvé přímým zápisem do buňky, kdy začneme ručně psát =KDYŽ(…, viz obr. 1
Obr. 1 - Vkládání funkce KDYŽ
Jak vidíte na obrázku, i při přímém zápisu máme k dispozici nápovědu – pod vkládanou funkcí mi Excel napovídá, z čeho se funkce skládá a že nyní zadávám podmínku (je v nápovědě tučně). Podmínku ukončíme středníkem, potom budeme mít tučně variantu ANO, tu dopíšeme a ukončíme opět středníkem a dopíšeme variantu NE. Varianta NE je nepovinná.
Tip 1: při zadávání jakékoli funkce nám Excel napovídá, jaké zná funkce podle námi zadaných písmen, tedy např. když zadáme =K, Excel nám napoví všechny funkce od K, viz obr. 2.
Obr. 2 - Nápověda ke vkládání funkcí
Tedy nemusíme název funkce zadávat celý, ale funkci KDYŽ můžeme vybrat dvojklikem myši na nabízenou položku, nebo tabulátorem.
Průvodce funkcí využijeme zejména tehdy, když má funkce hodně parametrů a chceme k nim detailní nápovědu. Průvodce spustíme buď kliknutím na fx vedle řádku vzorců, nebo na kartě Vzorce ji nalezneme pod logickými funkcemi, viz obr. 3.
Obr. 3 - Možnosti zadání funkce když do buňky
Nejrychlejší a zároveň nejlehčí způsob vkládání funkcí je podle mého názoru přímým zápisem a to si nyní ukážeme. Připravil jsem si tabulku (viz obr. 4), ve které sledujeme výdaje poboček naší firmy v roce 2014.
Obr. 4 - Tabulka výdajů
Pobočky mají povolené maximální měsíční celkové náklady ve výši 350 000,-Kč, jak je uvedeno v pravém horním rohu tabulky. V posledním řádku (Varování) bych chtěl, aby mě Excel upozornil, pokud náklady poboček přesáhnou stanovený limit.
Tedy do buňky C10 vložím funkci KDYŽ s následujícími parametry:
=KDYŽ(C9>$M$3;"Překročeno!";"OK")
Podmínka Varianta ANO Varianta NE
V podmínce máme zadáno, že buňka C9, tedy celkový součet za leden je větší než limit 350 uvedený v buňce M3, $ značí, že je buňka zamčená, jelikož vzorec budeme kopírovat doprava.
Variantu ANO ("Překročeno!") i ne ("OK") jsem dal do uvozovek, co napíšeme do uvozovek, Excel prostě vypíše. Funkci následně zkopírujeme doprava a funkce otestuje, zda je součet za daný měsíc větší než limit a podle toho vykoná varianty ANO či NE, viz obr. 5.
Po dokončení zápisu funkce tuto rozkopírujeme na celý řádek, tedy C:10 až N:10. Výsledná tabulka bude vypadat takto:
Obr. 5 - Varování při překročení nákladů
Podmínku do funkce KDYŽ nejčastěji zadáváme pomocí tzv. relačních operátorů:
= je rovno
> je větší než
< je menší než
<> není rovno (≠)
>= větší nebo rovno
<= menší nebo rovno
Tip 2: relační operátory < a > vkládáme za pomocí kombinace AltGr (pravý Alt) a symbolů <> nad pravým Altem.
Další silnou stránkou funkce když je, že nám umožňuje vkládání dalších (vnořených) funkcí. Vnořené funkce můžeme vkládat jak do parametru podmínky, tak do obou variant parametru ANO a parametru NE.
Opět si ukážeme na příkladu. Budeme mít stejnou tabulku a stejné zadání jako v předchozím příkladu, ale bude chybět řádek se součty. Tedy budeme chtít, aby funkce nejprve posčítala data v tabulce a podle výsledku součtu napsala Překročeno, nebo OK. Potom bychom funkci napsali asi takto, viz obr. 6.
Obr. 6 - Vkládání funkce SUMA do funkce KDYŽ
=KDYŽ(SUMA(C6:C8)>$M$3;"Překročeno!";"OK")
Tedy do podmínky funkce KDYŽ vkládáme funkci SUMA, která posčítá náklady jednotlivých poboček a zbytek funkce je stejný.
Jak jsem již naznačil výše, varianta NE není povinná. Tedy kdybychom vzorec napsali např. takto:
=KDYŽ(SUMA(C6:C8)>$M$3;"Překročeno!";)
Funkce místo varianty NE napíše 0, varianta ANO ale musí být ukončená středníkem.
Vložit funkci můžeme ale i do obou variant, to si vyzkoušíme ve stejné tabulce, ale budeme mít toto zadání:
Pokud pobočky překročily limit, spočítej o kolik, pokud ne, napiš OK.
V takovém případě vkládáme funkci SUMA i do varianty ANO, takový vzorec by vypadal asi takto:
=KDYŽ(SUMA(C6:C8)>$M$3;SUMA(C6:C8)-$M$3;"OK")
Výsledek tohoto zadání vidíme v tabulce na obr. 7.
Obr. 7 - Vkládání více funkcí do funkce KDYŽ
Tip 3: Takovéto varování by bylo vhodné podpořit podmíněným formátováním, např. takto:
Obr. 8 - Zvýraznění buněk pomocí podmíněného formátování
Jak jsme si ukázali, funkce když toho pro nás může udělat opravdu hodně, ale může se jevit jako problém, že má jen 2 varianty – ANO a NE. Ale co když potřebuji posoudit 3 a více podmínek, to už je funkce když v koncích?
Není, i s tímto si funkce KDYŽ poradí a sice tak, že vložíme vnořenou funkci KDYŽ do funkce KDYŽ. Tedy budeme řešit např. problém s počasím, pokud bude víc jak 25°C, chci aby mi funkce KDYŽ napsala vedro, když bude mezi 15-20°C, napsala akorát, a když pod 15°C, tak napsala zima.
Zde si musíme uvědomit, že tato funkce postupuje zleva doprava. Tedy ověří, zda je splněna podmínka, pokud ano, tak vykoná, co je napsáno ve variantě ANO a do varianty NE už se nedívá.
Tedy pokud chceme funkci KDYŽ rozšířit o více variant, potom vkládáme další vnořenou KDYŽ do parametru varianty NE. Příklad s počasím by tedy mohl vypadat takto:
=KDYŽ(P22>25;"vedro";KDYŽ(P22>15;"akorát";"zima"))
Obr. 9 - Rozšíření funkce KDYŽ o vnořenou funkci
Pozn. °C nemůžeme zapsat ručně do buňky, to by vzorec nefungoval, můžeme ale využít nástroj formát buňky.
Ukážeme si na ještě jednom příkladu. Představte si, že jste učitel (ka) ve škole a vaši žáci psali test, tento test jste obodovali a nyní potřebujete žáky oznámkovat. Platí zde tyto pravidla:
90 a více bodů |
1 |
80 - 89 bodů |
2 |
70 - 79 bodů |
3 |
60 - 69 bodů |
4 |
pod 60 bodů |
5 |
Takováto tabulka by mohla vypadat asi nějak takto:
Obr. 10 - Tabulka test žáci
Tedy potřebujeme, aby funkce KDYŽ měla celkem 5 variant. Ano, i toto je možné, postup je stejný jako v předchozím příkladu – do varianty NE vkládáme další funkci KDYŽ. Funkce by mohla vypadala asi nějak takto:
=KDYŽ(C9>=90;1;KDYŽ(C9>=80;2;KDYŽ(C9>=70;3;KDYŽ(C9>=60;4;5))))
Všimněte si, že všechny závorky, které jsem začal jsem musel na konci funkce také ukončit. Nemusíte je počítat, závorky mají různé barvy a ta poslední je prostě černá. Takto můžeme vkládat jako varianty ANO a NE až 64 funkcí KDYŽ.
Zda jste správně pochopili funkci KDYŽ si můžete ověřit na následujícím příkladu. Vytvořte si tabulku podle zadání a vyřešte tento úkol:
Ke konci pololetí má každý žák několik známek a nyní potřebujeme mít poznámku u žáků, jejichž průměrná známka je menší jak 2,3, že postupují na gymnázium, viz následující tabulka:
Obr. 11 - Vkládání dalších funkcí do funkce KDYŽ
Jak jste napsali funkci? Já takto, ale netvrdím, že je to jediné možné řešení:
=KDYŽ(PRŮMĚR(D9:K9)<2,3;"Postupuje";"Nepostupuje")
Autor článku: Petr Černý