Jak spojit dvě funkce, když?

6 zobrazení

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.

Návrh 0 líbí se

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í:

  1. KDYŽ(A1>100000; 10000; ...): Pokud je hodnota v buňce A1 větší než 100 000, vrátí 10 000.
  2. KDYŽ(A1>=50000; 5000; 0): Pokud první podmínka není splněna (tržby nejsou nad 100 000), provede se tato vnitřní funkce KDYŽ. Ta ověřuje, zda jsou tržby větší nebo rovny 50 000. Pokud ano, vrátí 5 000.
  3. 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í funkci IFS, 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 je VYHLEDAT (v angličtině LOOKUP) nebo SVYHLEDAT (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.