Obsah
Výukový program vysvětluje, jak v aplikaci Excel používat vícenásobné IF, a uvádí několik příkladů vnořených vzorců If pro nejběžnější úlohy.
Kdyby se vás někdo zeptal, jakou funkci Excelu používáte nejčastěji, jaká by byla vaše odpověď? Ve většině případů by to byla funkce IF aplikace Excel. Obyčejný vzorec If, který testuje jednu podmínku, je velmi jednoduchý a snadno se píše. Co když ale vaše data vyžadují složitější logické testy s více podmínkami? V takovém případě můžete do jednoho vzorce zahrnout několik funkcí IF a tyto vícenásobné Ifpříkazy se nazývají Vnořené IF aplikace Excel Největší výhodou vnořeného příkazu If je, že umožňuje kontrolovat více než jednu podmínku a v závislosti na výsledcích těchto kontrol vracet různé hodnoty, a to vše v jediném vzorci.
Aplikace Microsoft Excel má omezení úrovně vnořených IF . V Excelu 2003 a nižších verzích bylo povoleno až 7 úrovní. V Excelu 2007 a vyšších verzích můžete do jednoho vzorce vnořit až 64 funkcí IF.
Dále v tomto návodu najdete několik příkladů vnořených If v aplikaci Excel spolu s podrobným vysvětlením jejich syntaxe a logiky.
Příklad 1. Klasický vnořený vzorec IF
Zde je typický příklad příkazu Excel If s více podmínkami. Předpokládejme, že máte seznam studentů ve sloupci A a jejich výsledky zkoušek ve sloupci B a chcete klasifikovat výsledky pomocí následujících podmínek:
- Výborně: více než 249
- Dobrá: mezi 249 a 200 včetně
- Uspokojivé: mezi 199 a 150 včetně
- Chudý: méně než 150
A nyní napíšeme vnořenou funkci IF na základě výše uvedených kritérií. Za dobrý postup se považuje začít nejdůležitější podmínkou a udržovat funkce co nejjednodušší. Náš vnořený vzorec IF v Excelu vypadá následovně:
=IF(B2>249, "Výborný", IF(B2>=200, "Dobrý", IF(B2>150, "Uspokojivý", "Špatný")))
A funguje přesně tak, jak má:
Porozumění vnořené logice IF aplikace Excel
Slyšel jsem, že někteří lidé říkají, že je Excel multiple If přivádí k šílenství :) Zkuste se na to podívat z jiného úhlu:
Vzorec ve skutečnosti říká aplikaci Excel, aby vyhodnotila hodnotu logical_test první funkce IF, a pokud je podmínka splněna, vrátí hodnotu zadanou v položce value_if_true Pokud není splněna podmínka 1. příkazu funkce If, otestuje se 2. příkaz If atd.
IF( zkontrolujte, zda B2>=249, if true - vrátit "Vynikající", nebo jinakIF( zkontrolujte, zda B2>=200, if true - vrátit "Dobrý", nebo jinak
IF( zkontrolujte, zda B2>150, if true - vrátit "Uspokojivý", if false -
vrátit "Poor")))
Příklad 2. Vícenásobné If s aritmetickými výpočty
Zde je další typická úloha: jednotková cena se mění v závislosti na zadaném množství a vaším cílem je napsat vzorec, který vypočítá celkovou cenu pro libovolné množství položek zadaných do konkrétní buňky. Jinými slovy, váš vzorec musí kontrolovat více podmínek a provádět různé výpočty v závislosti na tom, do jakého množstevního rozsahu zadané množství spadá:
Jednotka Množství | Cena za jednotku |
1 až 10 | $20 |
11 až 19 | $18 |
20 až 49 | $16 |
50 až 100 | $13 |
Více než 101 | $12 |
Tuto úlohu lze také provést pomocí více funkcí IF. Logika je stejná jako ve výše uvedeném příkladu, rozdíl je pouze v tom, že zadané množství vynásobíte hodnotou vrácenou vnořenými funkcemi IF (tj. odpovídající cenou za jednotku).
Za předpokladu, že uživatel zadá množství do buňky B8, je vzorec následující:
=B8*IF(B8>=101, 12, IF(B8>=50, 13, IF(B8>=20, 16, IF( B8>=11, 18, IF(B8>=1, 20, ""))))).
Výsledek bude vypadat podobně:
Jak jistě chápete, tento příklad demonstruje pouze obecný přístup a tuto vnořenou funkci If si můžete snadno upravit podle konkrétní úlohy.
Například místo toho, abyste ve vzorci "natvrdo" zadávali ceny, můžete odkazovat na buňky obsahující tyto hodnoty (buňky B2 až B6). To umožní uživatelům upravovat zdrojová data, aniž by museli aktualizovat vzorec:
=B8*IF(B8>=101,B6, IF(B8>=50, B5, IF(B8>=20, B4, IF( B8>=11, B3, IF(B8>=1, B2, ""))))).
Nebo můžete zahrnout další funkci (funkce) IF, která stanoví horní, dolní nebo obě hranice rozsahu množství. Pokud je množství mimo rozsah, vzorec zobrazí zprávu "mimo rozsah". Například:
=IF(OR(B8>200,B8=101,12, IF(B8>=50, 13, IF(B8>=20, 16, IF( B8>=11, 18, IF(B8>=1, 20, "")))))).
Výše popsané vnořené vzorce IF fungují ve všech verzích aplikace Excel. V aplikacích Excel 365 a Excel 2021 můžete ke stejnému účelu použít také funkci IFS.
Pokročilí uživatelé aplikace Excel, kteří znají vzorce pole, mohou použít tento vzorec, který v podstatě dělá totéž, co výše uvedená vnořená funkce IF. Ačkoli je vzorec pole mnohem obtížnější na pochopení, natož na zápis, má jednu nespornou výhodu - zadáváte rozsah buněk obsahujících vaše podmínky, místo abyste odkazovali na každou podmínku zvlášť.vzorec je flexibilnější, a pokud uživatelé náhodou změní některou ze stávajících podmínek nebo přidají novou, stačí ve vzorci aktualizovat pouze jeden odkaz na rozsah.
Vnořené IF v aplikaci Excel - tipy a triky
Jak jste se právě přesvědčili, používání vícenásobných IF v Excelu není žádná raketová věda. Následující tipy vám pomohou zlepšit vnořené vzorce IF a zabránit častým chybám.
Vnořené limity IF
V aplikacích Excel 2007 - Excel 365 můžete vnořit až 64 funkcí IF. Ve starších verzích aplikace Excel 2003 a nižších lze použít až 7 vnořených funkcí IF. Skutečnost, že můžete do jednoho vzorce vnořit mnoho funkcí IF, však neznamená, že byste to měli udělat. Mějte na paměti, že každá další úroveň ztěžuje pochopení vzorce a řešení problémů. Pokud má váš vzorec příliš mnoho vnořených úrovní, může se stát, žechcete optimalizovat pomocí jedné z těchto alternativ.
Na pořadí vnořených funkcí IF záleží
Vnořená funkce IF aplikace Excel vyhodnocuje logické testy v pořadí, v jakém se vyskytují ve vzorci, a jakmile je jedna z podmínek vyhodnocena jako TRUE, další podmínky se netestují. Jinými slovy, vzorec se zastaví po prvním výsledku TRUE.
Podívejme se, jak to funguje v praxi. Když se B2 rovná 274, vnořený vzorec IF níže vyhodnotí první logický test (B2>249) a vrátí hodnotu "Výborně", protože tento logický test je PRAVDA:
=IF(B2>249, "Výborný", IF(B2>=200, "Dobrý", IF(B2>150, "Uspokojivý", "Špatný")))
Obraťme nyní pořadí funkcí IF:
=IF(B2>150, "uspokojivý", IF(B2>200, "dobrý", IF(B2>249, "výborný", "špatný")))
Vzorec testuje první podmínku, a protože 274 je větší než 150, je výsledek tohoto logického testu také PRAVDA. Vzorec tedy vrací hodnotu "vyhovující", aniž by testoval další podmínky.
Změna pořadí funkcí IF mění výsledek:
Vyhodnocení logiky vzorce
Chcete-li sledovat logický průběh vnořeného vzorce IF krok za krokem, použijte funkci Vyhodnotit vzorec, která se nachází v okně Vzorec na kartě Audit vzorců Podtržený výraz je právě vyhodnocovaná část a kliknutím na tlačítko Vyhodnocení Tlačítko zobrazí všechny kroky procesu hodnocení.
Například vyhodnocení prvního logického testu vnořeného vzorce IF zobrazeného na obrázku níže proběhne takto: B2>249; 274>249; TRUE; Výborně.
Vyvážení závorek vnořených funkcí IF
Jedním z hlavních problémů v případě vnořených IF v aplikaci Excel je sladění dvojic závorek. Pokud se závorky neshodují, váš vzorec nebude fungovat. Naštěstí aplikace Microsoft Excel nabízí několik funkcí, které vám mohou při úpravě vzorce pomoci vyrovnat závorky:
- Pokud máte více než jednu sadu závorek, jsou dvojice závorek vystínovány různými barvami tak, aby se úvodní závorka shodovala se závorkou uzavírací.
- Když zavřete závorku, Excel krátce zvýrazní odpovídající dvojici. Stejný efekt zvýraznění nebo "blikání" se projeví, když se ve vzorci pohybujete pomocí kláves se šipkami.
Další informace naleznete v části Shoda dvojic závorek ve vzorcích aplikace Excel.
Odlišné zacházení s textem a čísly
Při vytváření logických testů vnořených vzorců IF nezapomeňte, že s textem a čísly je třeba zacházet odlišně - textové hodnoty vždy uzavírejte do dvojitých uvozovek, ale nikdy nedávejte uvozovky kolem čísel:
Vpravo: =IF(B2>249, "Výborný",...)
Špatně: =IF(B2>"249", "Excellent",…)
Logický test druhého vzorce vrátí FALSE, i když je hodnota v B2 větší než 249. Proč? Protože 249 je číslo a "249" je číselný řetězec, což jsou dvě různé věci.
Přidání mezer nebo zalomení řádků pro lepší čitelnost vnořených IF.
Při sestavování vzorce s více vnořenými úrovněmi IF můžete zpřehlednit logiku vzorce tím, že jednotlivé funkce IF oddělíte mezerami nebo zalomením řádků. Excelu na dodatečné mezery ve vzorci nezáleží, takže se nemusíte obávat jejich zkomolení.
Chcete-li přesunout určitou část vzorce na další řádek, stačí kliknout na místo, kam chcete vložit zlom řádku, a stisknout klávesy Alt + Enter . Poté rozbalte panel vzorců podle potřeby a uvidíte, že váš vnořený vzorec IF je mnohem přehlednější.
Alternativy vnořeného IF v aplikaci Excel
Chcete-li obejít omezení sedmi vnořených funkcí IF v aplikaci Excel 2003 a starších verzích a zajistit kompaktnější a rychlejší vzorce, zvažte použití následujících alternativ vnořených funkcí IF aplikace Excel.
- Chcete-li testovat více podmínek a na základě výsledků těchto testů vracet různé hodnoty, můžete místo vnořených IF použít funkci CHOOSE.
- Sestavte referenční tabulku a použijte VLOOKUP s přibližnou shodou, jak je uvedeno v tomto příkladu: VLOOKUP místo vnořeného IF v Excelu.
- Použijte IF s logickými funkcemi OR / AND, jak je ukázáno v těchto příkladech.
- Použijte vzorec pole, jak je uvedeno v tomto příkladu.
- Kombinujte více příkazů IF pomocí funkce CONCATENATE nebo operátoru concatenate (&). Příklad vzorce naleznete zde.
- Pro zkušené uživatele aplikace Excel může být nejlepší alternativou k použití více vnořených funkcí IF vytvoření vlastní funkce pracovního listu pomocí VBA.
Takto se v Excelu používá vzorec If s více podmínkami. Děkuji vám za přečtení a doufám, že se příští týden uvidíme na našem blogu.
Cvičebnice ke stažení
Vnořené příkazy If Excel (.xlsx soubor)