Jak spojit dvě funkce, když?
Chcete-li zkombinovat dvě podmínky, použijte vnořené funkce KDYŽ. Vnější funkce KDYŽ ověřuje první podmínku. Pokud je splněna, vrátí výsledek. Jinak se provede vnitřní funkce KDYŽ, která ověřuje druhou podmínku a vrátí odpovídající výsledek. To umožňuje definovat tři různé výstupy v závislosti na splnění různých podmínek.
Kaskádové KDYŽ: Jak elegantně kombinovat podmínky v Excelu a dalších tabulkových procesorech
Funkce KDYŽ
(v angličtině IF
) je základním stavebním kamenem pro logické rozhodování v tabulkových procesorech, jako je Excel, Google Sheets a LibreOffice Calc. Umožňuje nám definovat, jak má buňka reagovat v závislosti na splnění určité podmínky. Co ale dělat, když potřebujeme zohlednit více podmínek a definovat komplexnější logiku? Řešením je kaskádové (vnořené) použití funkce KDYŽ
, které nám umožňuje vytvořit elegantní a přehledné rozhodovací stromy.
Princip kaskádového KDYŽ
Představte si, že máte dvoje dveře. Pokud jsou první dveře otevřené (první podmínka splněna), vejdete do první místnosti (první výsledek). Pokud jsou první dveře zavřené, jdete ke druhým dveřím a ověřujete, zda jsou otevřené (druhá podmínka). Pokud ano, vejdete do druhé místnosti (druhý výsledek). A pokud jsou zavřené i druhé dveře, zůstanete venku (výsledek pro nesplnění žádné podmínky).
V praxi to znamená, že vnoříme jednu funkci KDYŽ
do druhé, konkrétně do části, která se provede v případě, že první podmínka není splněna (argument hodnota_pokud_není_pravda
). Tato vnitřní funkce KDYŽ
ověřuje druhou podmínku a vrací svůj vlastní výsledek.
Syntaxe a příklad
Základní syntaxe funkce KDYŽ
je následující:
KDYŽ(podmínka; hodnota_pokud_pravda; hodnota_pokud_není_pravda)
Pro kaskádové KDYŽ
to vypadá takto:
KDYŽ(podmínka1; hodnota_pokud_pravda1; KDYŽ(podmínka2; hodnota_pokud_pravda2; hodnota_pokud_není_pravda2))
A můžeme vnořovat další a další KDYŽ
funkce.
Příklad: Představme si, že máme tabulku s prodejci a jejich tržbami v buňce A1. Chceme jim přidělit bonus podle následujících pravidel:
- Tržby nad 100 000 Kč: Bonus 10 000 Kč
- Tržby mezi 50 000 Kč a 100 000 Kč: Bonus 5 000 Kč
- Tržby pod 50 000 Kč: Žádný bonus (0 Kč)
K tomu můžeme použít následující vzorec:
=KDYŽ(A1>100000; 10000; KDYŽ(A1>=50000; 5000; 0))
Vysvětlení:
KDYŽ(A1>100000; 10000; ...)
: Pokud je hodnota v buňce A1 větší než 100 000, vrátí 10 000.KDYŽ(A1>=50000; 5000; 0)
: Pokud první podmínka není splněna (tržby nejsou nad 100 000), provede se tato vnitřní funkceKDYŽ
. Ta ověřuje, zda jsou tržby větší nebo rovny 50 000. Pokud ano, vrátí 5 000.0
: Pokud nejsou tržby ani nad 100 000, ani nad 50 000, vrátí 0 (žádný bonus).
Výhody kaskádového KDYŽ
- Přehlednost: Umožňuje strukturované a snadno pochopitelné definování komplexních logik.
- Flexibilita: Umožňuje definovat více než dva různé výstupy.
- Snadná úprava: Při změně podmínek stačí upravit konkrétní funkci
KDYŽ
.
Alternativy a upozornění
- Funkce
IFS
: Modernější tabulkové procesory (např. Excel 2016 a novější) nabízejí funkciIFS
, která zjednodušuje syntaxi pro více podmínek. V předchozím příkladu by to vypadalo takto:=IFS(A1>100000; 10000; A1>=50000; 5000; TRUE; 0)
. - Složitost: Při příliš mnoha vnořených funkcích
KDYŽ
může být vzorec nepřehledný. V takovém případě je lepší zvážit použití pomocných sloupců nebo jiných funkcí, jako jeVYHLEDAT
(v angličtiněLOOKUP
) neboSVYHLEDAT
(v angličtiněVLOOKUP
). - Logické chyby: Pečlivě kontrolujte logiku podmínek, abyste se vyhnuli neočekávaným výsledkům.
Závěrem
Kaskádové použití funkce KDYŽ
je mocný nástroj pro definování komplexních logik v tabulkových procesorech. Umožňuje elegantně kombinovat více podmínek a definovat různé výstupy v závislosti na jejich splnění. S trochou cviku se stane nedílnou součástí vašeho arzenálu pro efektivní práci s daty. Nezapomeňte ale na přehlednost a zvažte alternativní řešení, pokud se vzorec stane příliš složitým.
Návrh odpovědi:
Děkujeme, že jste přispěli! Vaše zpětná vazba je velmi důležitá pro zlepšení odpovědí v budoucnosti.