Obsah
V tomto návode sa vysvetľuje, ako používať viacnásobné IF v programe Excel, a uvádza sa niekoľko príkladov vnorených vzorcov If pre najbežnejšie úlohy.
Ak by sa vás niekto opýtal, akú funkciu Excelu používate najčastejšie, aká by bola vaša odpoveď? Vo väčšine prípadov je to funkcia IF aplikácie Excel. Bežný vzorec If, ktorý testuje jednu podmienku, je veľmi jednoduchý a ľahko sa píše. Ale čo ak vaše údaje vyžadujú zložitejšie logické testy s viacerými podmienkami? V takom prípade môžete do jedného vzorca zahrnúť niekoľko funkcií IF a tieto viacnásobné Ifvýpisy sa nazývajú Vnorené IF programu Excel Najväčšou výhodou vnoreného príkazu If je, že umožňuje kontrolovať viac ako jednu podmienku a v závislosti od výsledkov týchto kontrol vracať rôzne hodnoty, a to všetko v jednom vzorci.
Microsoft Excel má limity na úrovne vnorených IF V programe Excel 2003 a nižších verziách bolo povolených maximálne 7 úrovní. V programe Excel 2007 a vyšších verziách môžete do jedného vzorca vložiť až 64 funkcií IF.
Ďalej v tomto návode nájdete niekoľko príkladov vnorených príkazov If programu Excel spolu s podrobným vysvetlením ich syntaxe a logiky.
Príklad 1. Klasický vnorený vzorec IF
Tu je typický príklad aplikácie Excel If s viacerými podmienkami. Predpokladajme, že máte zoznam študentov v stĺpci A a ich výsledky skúšok v stĺpci B a chcete klasifikovať výsledky pomocou nasledujúcich podmienok:
- Vynikajúce: viac ako 249
- Dobrá: od 249 do 200 vrátane
- Uspokojivé: od 199 do 150 vrátane
- Chudobný: menej ako 150
A teraz napíšeme vnorenú funkciu IF na základe vyššie uvedených kritérií. Považuje sa za dobrú prax začať najdôležitejšou podmienkou a udržiavať funkcie čo najjednoduchšie. Náš vnorený vzorec IF v programe Excel vyzerá takto:
=IF(B2>249, "Výborný", IF(B2>=200, "Dobrý", IF(B2>150, "Uspokojivý", "Slabý"))
A funguje presne tak, ako má:
Pochopenie logiky vnorených IF programu Excel
Počul som, že niektorí ľudia hovoria, že ich Excel multiple If privádza do šialenstva :) Skúste sa na to pozrieť z iného uhla:
Vzorec vlastne hovorí programu Excel, aby vyhodnotil logical_test prvej funkcie IF a ak je podmienka splnená, vráti hodnotu zadanú v value_if_true Ak nie je splnená podmienka 1. príkazu funkcie If, potom sa otestuje 2. príkaz If atď.
IF( skontrolovať, či B2>=249, ak true - vrátiť "Vynikajúce", alebo inakIF( skontrolovať, či B2>=200, ak true - vrátiť "Dobrý", alebo inak
IF( skontrolovať, či B2>150, ak true - vrátiť "Uspokojivé", ak false -
vrátiť "Poor")))
Príklad 2. Viacnásobné If s aritmetickými výpočtami
Tu je ďalšia typická úloha: jednotková cena sa mení v závislosti od zadaného množstva a vaším cieľom je napísať vzorec, ktorý vypočíta celkovú cenu pre ľubovoľné množstvo položiek zadaných do konkrétnej bunky. Inými slovami, váš vzorec musí kontrolovať viacero podmienok a vykonávať rôzne výpočty v závislosti od toho, do akého množstvového rozsahu zadané množstvo spadá:
Jednotka Množstvo | Cena za jednotku |
1 až 10 | $20 |
11 až 19 | $18 |
20 až 49 | $16 |
50 až 100 | $13 |
Viac ako 101 | $12 |
Túto úlohu možno vykonať aj pomocou viacerých funkcií IF. Logika je rovnaká ako v uvedenom príklade, rozdiel je len v tom, že zadané množstvo vynásobíte hodnotou vrátenou vnorenými funkciami IF (t. j. príslušnou jednotkovou cenou).
Za predpokladu, že používateľ zadá množstvo do bunky B8, vzorec je nasledujúci:
=B8*IF(B8>=101, 12, IF(B8>=50, 13, IF(B8>=20, 16, IF( B8>=11, 18, IF(B8>=1, 20, "")))))
Výsledok bude vyzerať podobne ako tento:
Ako ste pochopili, tento príklad demonštruje len všeobecný prístup a túto vnorenú funkciu If si môžete ľahko prispôsobiť v závislosti od konkrétnej úlohy.
Napríklad namiesto toho, aby ste vo vzorci "natvrdo" zakódovali ceny, môžete sa odvolať na bunky obsahujúce tieto hodnoty (bunky B2 až B6). To umožní používateľom upravovať zdrojové údaje bez toho, aby museli aktualizovať vzorec:
=B8*IF(B8>=101,B6, IF(B8>=50, B5, IF(B8>=20, B4, IF( B8>=11, B3, IF(B8>=1, B2, "")))))
Alebo môžete zahrnúť ďalšiu funkciu IF, ktorá stanoví hornú, dolnú alebo obe hranice rozsahu množstva. Ak je množstvo mimo rozsahu, vzorec zobrazí správu "mimo rozsahu". Napríklad:
=IF(OR(B8>200,B8=101,12, IF(B8>=50, 13, IF(B8>=20, 16, IF( B8>=11, 18, IF(B8>=1, 20, ""))))))
Vyššie opísané vnorené vzorce IF fungujú vo všetkých verziách aplikácie Excel. V aplikáciách Excel 365 a Excel 2021 môžete na rovnaký účel použiť aj funkciu IFS.
Pokročilí používatelia programu Excel, ktorí poznajú vzorce polí, môžu použiť tento vzorec, ktorý v podstate robí to isté, čo vyššie uvedená vnorená funkcia IF. Hoci vzorec polí je oveľa náročnejší na pochopenie, nieto na zápis, má jednu nespornú výhodu - namiesto odkazovania na každú podmienku osobitne zadáte rozsah buniek obsahujúcich vaše podmienky.vzorec je flexibilnejší, a ak používatelia zmenia niektorú z existujúcich podmienok alebo pridajú novú, stačí vo vzorci aktualizovať len jeden odkaz na rozsah.
Excel vnorené IF - tipy a triky
Ako ste sa práve presvedčili, používanie viacnásobných IF v programe Excel nie je žiadna raketová veda. Nasledujúce tipy vám pomôžu zlepšiť vnorené vzorce IF a predísť častým chybám.
Vnorené limity IF
V aplikáciách Excel 2007 - Excel 365 môžete vnoriť až 64 funkcií IF. V starších verziách aplikácie Excel 2003 a nižších môžete použiť až 7 vnorených funkcií IF. Skutočnosť, že môžete vnoriť veľa funkcií IF do jedného vzorca, však neznamená, že by ste to mali urobiť. Majte na pamäti, že každá ďalšia úroveň sťažuje pochopenie vášho vzorca a odstraňovanie problémov. Ak má váš vzorec príliš veľa vnorených úrovní, môžetechcete optimalizovať pomocou jednej z týchto alternatív.
Záleží na poradí vnorených funkcií IF
Vnorená funkcia IF programu Excel vyhodnocuje logické testy v poradí, v akom sú uvedené vo vzorci, a hneď ako sa jedna z podmienok vyhodnotí ako TRUE, ďalšie podmienky sa netestujú. Inými slovami, vzorec sa zastaví po prvom výsledku TRUE.
Pozrime sa, ako to funguje v praxi. Keď sa B2 rovná 274, vnorený vzorec IF nižšie vyhodnotí prvý logický test (B2>249) a vráti "Excellent", pretože tento logický test je TRUE:
=IF(B2>249, "Výborný", IF(B2>=200, "Dobrý", IF(B2>150, "Uspokojivý", "Slabý"))
Teraz obrátime poradie funkcií IF:
=IF(B2>150, "uspokojivé", IF(B2>200, "dobré", IF(B2>249, "výborné", "slabé"))
Vzorec testuje prvú podmienku, a keďže 274 je väčšie ako 150, výsledok tohto logického testu je tiež TRUE. Následne vzorec vráti hodnotu "vyhovujúci" bez testovania ďalších podmienok.
Vidíte, že zmena poradia funkcií IF mení výsledok:
Vyhodnotenie logiky vzorca
Ak chcete sledovať logický priebeh vnoreného vzorca IF krok za krokom, použite funkciu Vyhodnotiť vzorec, ktorá sa nachádza na Vzorec na karte Audit vzorca Podčiarknutý výraz je práve vyhodnocovaná časť a kliknutím na Vyhodnoťte Tlačidlo zobrazí všetky kroky procesu hodnotenia.
Napríklad vyhodnotenie prvého logického testu vnoreného vzorca IF zobrazeného na obrázku nižšie bude prebiehať takto: B2>249; 274>249; TRUE; Vynikajúce.
Vyváženie zátvoriek vnorených funkcií IF
Jedným z hlavných problémov pri vnorených IF v programe Excel je zladenie dvojíc zátvoriek. Ak sa zátvorky nezhodujú, váš vzorec nebude fungovať. Našťastie program Microsoft Excel poskytuje niekoľko funkcií, ktoré vám môžu pomôcť zladiť zátvorky pri úprave vzorca:
- Ak máte viac ako jednu sadu zátvoriek, dvojice zátvoriek sú odtienené rôznymi farbami tak, aby sa otváracia zátvorka zhodovala so zatváracou.
- Keď zatvoríte zátvorku, Excel na chvíľu zvýrazní zodpovedajúcu dvojicu. Rovnaký efekt zvýraznenia alebo "blikania" sa vytvorí, keď sa vo vzorci pohybujete pomocou klávesov so šípkami.
Ďalšie informácie nájdete v časti Zodpovedajúce dvojice zátvoriek vo vzorcoch programu Excel.
Rozdielne zaobchádzanie s textom a číslami
Pri vytváraní logických testov vnorených vzorcov IF nezabudnite, že s textom a číslami by sa malo zaobchádzať odlišne - textové hodnoty vždy uzatvárajte do dvojitých úvodzoviek, ale nikdy nedávajte úvodzovky okolo čísel:
Vpravo: =IF(B2>249, "Výborný",...)
Nesprávne: =IF(B2>"249", "Excellent",…)
Logický test druhého vzorca vráti hodnotu FALSE, aj keď je hodnota v B2 väčšia ako 249. Prečo? Pretože 249 je číslo a "249" je číselný reťazec, čo sú dve rôzne veci.
Pridanie medzier alebo zalomenia riadkov na uľahčenie čítania vnorených IF
Pri zostavovaní vzorca s viacerými vnorenými úrovňami IF môžete sprehľadniť logiku vzorca tak, že jednotlivé funkcie IF oddelíte medzerami alebo zalomením riadkov. Excelu nezáleží na dodatočných medzerách vo vzorci, takže sa nemusíte obávať jeho zneprehľadnenia.
Ak chcete presunúť určitú časť vzorca na ďalší riadok, stačí kliknúť na miesto, kde chcete vložiť zlom riadku, a stlačiť klávesovú skratku Alt + Enter . Potom rozbaľte panel vzorcov podľa potreby a uvidíte, že váš vnorený vzorec IF sa stal oveľa prehľadnejším.
Alternatívy vnoreného IF v programe Excel
Ak chcete obísť limit siedmich vnorených funkcií IF v programe Excel 2003 a starších verziách a dosiahnuť kompaktnejšie a rýchlejšie vzorce, zvážte použitie nasledujúcich alternatív vnorených funkcií IF programu Excel.
- Ak chcete otestovať viacero podmienok a na základe výsledkov týchto testov vrátiť rôzne hodnoty, môžete namiesto vnorených IF použiť funkciu CHOOSE.
- Vytvorte referenčnú tabuľku a použite VLOOKUP s približnou zhodou, ako je uvedené v tomto príklade: VLOOKUP namiesto vnoreného IF v programe Excel.
- Používajte IF s logickými funkciami OR / AND, ako je ukázané v týchto príkladoch.
- Použite vzorec poľa, ako je znázornené v tomto príklade.
- Kombinujte viacero príkazov IF pomocou funkcie CONCATENATE alebo operátora concatenate (&). Príklad vzorca nájdete tu.
- Pre skúsených používateľov programu Excel môže byť najlepšou alternatívou k používaniu viacerých vnorených funkcií IF vytvorenie vlastnej funkcie pracovného hárka pomocou VBA.
Takto sa používa vzorec If v programe Excel s viacerými podmienkami. Ďakujem vám za prečítanie a dúfam, že sa uvidíme na našom blogu budúci týždeň.
Cvičebnica na stiahnutie
Vnorené príkazy If Excel (.xlsx súbor)