Obsah
Učebnica ukazuje, ako v programe Excel vytvoriť viacero príkazov IF s logikou AND aj OR. Tiež sa naučíte používať IF spolu s ďalšími funkciami programu Excel.
V prvej časti nášho návodu IF v programe Excel sme sa pozreli na to, ako zostaviť jednoduchý príkaz IF s jednou podmienkou pre text, čísla, dátumy, prázdne a neprázdne miesta. Na výkonnú analýzu údajov však možno budete často potrebovať vyhodnotiť viacero podmienok naraz. Nasledujúce príklady vzorcov vám ukážu najefektívnejšie spôsoby, ako to urobiť.
Ako používať funkciu IF s viacerými podmienkami
V podstate existujú dva typy Vzorec IF s viacerými kritériami na základe logiky AND / OR . Preto by ste v logickom teste vzorca IF mali použiť jednu z týchto funkcií:
- funkcia AND - vráti TRUE, ak všetky podmienky sú splnené; inak FALSE.
- Funkcia OR - vráti TRUE, ak akákoľvek jednotlivá podmienka je splnená; inak FALSE.
Aby sme si to lepšie vysvetlili, preskúmajme niekoľko príkladov vzorcov z reálneho života.
Príkaz IF programu Excel s viacerými podmienkami (logika AND)
Všeobecný vzorec programu Excel IF s dvoma alebo viacerými podmienkami je tento:
IF(AND( podmienka1 , podmienka2 , ...), value_if_true, value_if_false)Preložený do ľudského jazyka vzorec hovorí: Ak je podmienka 1 pravdivá A podmienka 2 pravdivá, vráťte value_if_true ; inak return value_if_false .
Predpokladajme, že máte tabuľku, v ktorej sú uvedené výsledky dvoch testov v stĺpcoch B a C. Aby študent úspešne absolvoval záverečnú skúšku, musí mať oba výsledky vyššie ako 50.
Na logický test použijete nasledujúci príkaz AND: AND(B2>50, C2>50)
Ak sú obe podmienky pravdivé, vzorec vráti "vyhovel"; ak je niektorá z podmienok nepravdivá - "nevyhovel".
=IF(AND(B2>50, B2>50), "vyhovel", "nevyhovel")
Jednoduché, však? Nasledujúci obrázok dokazuje, že náš vzorec IF /AND v programe Excel funguje správne:
Podobným spôsobom môžete použiť funkciu IF aplikácie Excel s viacerými textové podmienky .
Napríklad, ak majú hodnoty B2 aj C2 hodnotu vyššiu ako 50 a v opačnom prípade sú väčšie ako 50, vzorec je nasledovný:
=IF(AND(B2="vyhovel", C2="vyhovel"), "Dobrý!", "Zlý")
Dôležitá poznámka! Funkcia AND kontroluje všetky podmienky Takéto správanie je trochu nezvyčajné, pretože vo väčšine programovacích jazykov sa následné podmienky netestujú, ak niektorý z predchádzajúcich testov vrátil FALSE.
V praxi môže zdanlivo správny príkaz IF viesť k chybe kvôli tomuto špecifiku. Napríklad nasledujúci vzorec by vrátil #DIV/0! (chyba "delenie nulou"), ak sa bunka A2 rovná 0:
=IF(AND(A20, (1/A2)>0.5), "Dobrý", "Zlý")
Aby ste sa tomu vyhli, mali by ste použiť vnorenú funkciu IF:
=IF(A20, IF((1/A2)>0.5, "Dobrý", "Zlý"), "Zlý")
Viac informácií nájdete v časti Vzorec IF AND v programe Excel.
Funkcia Excel IF s viacerými podmienkami (logika OR)
Ak chcete urobiť jednu vec, ak akýkoľvek stav je splnená, v opačnom prípade urobte niečo iné, použite túto kombináciu funkcií IF a OR:
IF(OR( podmienka1 , podmienka2 , ...), value_if_true, value_if_false)Rozdiel oproti vzorcom IF / AND, o ktorých sme hovorili vyššie, spočíva v tom, že Excel vráti TRUE, ak je pravdivá niektorá zo zadaných podmienok.
Ak teda v predchádzajúcom vzorci použijeme OR namiesto AND:
=IF(OR(B2>50, B2>50), "vyhovel", "nevyhovel")
Potom každý, kto má viac ako 50 bodov v niektorej zo skúšok, dostane v stĺpci D hodnotenie "vyhovel". Pri takýchto podmienkach majú naši študenti väčšiu šancu úspešne absolvovať záverečnú skúšku (Yvette má obzvlášť veľkú smolu, keď neuspela len o 1 bod :)
Tip. V prípade, že vytvárate viacnásobný príkaz IF s textom a testovanie hodnoty v jednej bunke pomocou logiky OR (t. j. bunka môže byť "toto" alebo "tamto"), potom môžete vytvoriť kompaktnejší vzorec pomocou konštanty poľa.
Ak chcete napríklad označiť predaj ako "uzavretý", ak je v bunke B2 hodnota "dodané" alebo "zaplatené", vzorec je:
=IF(OR(B2={"dodané", "zaplatené"}), "Uzavreté", "")
Ďalšie príklady vzorcov nájdete vo funkcii IF OR aplikácie Excel.
IF s viacerými príkazmi AND & OR
Ak si vaša úloha vyžaduje vyhodnotenie niekoľkých súborov viacerých podmienok, budete musieť použiť obe funkcie AND & OR naraz.
Predpokladajme, že v našej vzorovej tabuľke máte nasledujúce kritériá na kontrolu výsledkov skúšky:
- Podmienka 1: skúška1>50 a skúška2>50
- Stav 2: skúška1>40 a skúška2>60
Ak je splnená niektorá z týchto podmienok, záverečná skúška sa považuje za úspešne vykonanú.
Na prvý pohľad sa vzorec zdá byť trochu zložitý, ale v skutočnosti nie je! Stačí vyjadriť každú z uvedených podmienok ako príkaz AND a vložiť ich do funkcie OR (keďže nie je potrebné splniť obe podmienky, postačí jedna z nich):
OR(AND(B2>50, C2>50), AND(B2>40, C2>60)
Potom použite funkciu OR pre logický test IF a zadajte požadovaný value_if_true a value_if_false Výsledkom je nasledujúci vzorec IF s viacerými podmienkami AND / OR:
=IF(OR(AND(B2>50, C2>50), AND(B2>40, C2>60), "vyhovel", "nevyhovel")
Nasledujúci obrázok ukazuje, že sme vzorec použili správne:
Prirodzene, nie ste obmedzení na použitie iba dvoch funkcií AND/OR vo vzorcoch IF. Môžete ich použiť toľko, koľko si vyžaduje vaša obchodná logika, za predpokladu, že:
- V programe Excel 2007 a vyšších verziách máte k dispozícii maximálne 255 argumentov a celková dĺžka vzorca IF nepresahuje 8 192 znakov.
- V aplikácii Excel 2003 a nižších verziách nie je k dispozícii viac ako 30 argumentov a celková dĺžka vzorca IF nepresahuje 1 024 znakov.
Vnorený príkaz IF na kontrolu viacerých logických testov
Ak chcete vyhodnotiť viacero logických testov v rámci jedného vzorca, môžete vložiť niekoľko funkcií do seba. Takéto funkcie sa nazývajú vnorené funkcie IF Sú užitočné najmä vtedy, keď chcete vrátiť rôzne hodnoty v závislosti od výsledkov logických testov.
Tu je typický príklad: predpokladajme, že chcete kvalifikovať úspechy študentov ako " Dobrý ", " Uspokojivé " a " Chudobný " na základe nasledujúcich bodov:
- Dobre: 60 alebo viac (>=60)
- Uspokojivé: medzi 40 a 60 (>40 a <60)
- Chudobný: 40 alebo menej (<=40)
Pred napísaním vzorca zvážte poradie funkcií, ktoré sa chystáte vložiť. Excel vyhodnotí logické testy v poradí, v akom sa objavujú vo vzorci. Keď sa podmienka vyhodnotí ako TRUE, ďalšie podmienky sa netestujú, čo znamená, že vzorec sa zastaví po prvom výsledku TRUE.
V našom prípade sú funkcie usporiadané od najväčšej po najmenšiu:
=IF(B2>=60, "Dobrý", IF(B2>40, "Uspokojivý", "Zlý")
Samozrejme, v prípade potreby môžete vložiť viac funkcií (v moderných verziách až 64).
Ďalšie informácie nájdete v časti Ako používať viacnásobné vnorené príkazy IF v programe Excel.
Vzorec poľa IF programu Excel s viacerými podmienkami
Ďalším spôsobom, ako v programe Excel IF otestovať viacero podmienok, je použitie vzorca poľa.
Ak chcete vyhodnotiť podmienky pomocou logiky AND, použite hviezdičku:
IF( podmienka1 ) * ( podmienka2 ) * ..., value_if_true, value_if_false)Ak chcete testovať podmienky pomocou logiky OR, použite znamienko plus:
IF( podmienka1 ) + ( podmienka2 ) + ..., value_if_true, value_if_false)Ak chcete správne dokončiť vzorec poľa, stlačte spoločne klávesy Ctrl + Shift + Enter. V aplikáciách Excel 365 a Excel 2021 to funguje aj ako bežný vzorec vďaka podpore dynamických polí.
Ak chcete napríklad získať "vyhovel", ak sú hodnoty B2 aj C2 väčšie ako 50, vzorec je:
=IF((B2>50) * (C2>50), "vyhovel", "nevyhovel")
V mojom programe Excel 365 funguje bežný vzorec bez problémov (ako vidíte na vyššie uvedených snímkach obrazovky). V programe Excel 2019 a nižších verziách nezabudnite vytvoriť vzorec poľa pomocou klávesovej skratky Ctrl + Shift + Enter.
Ak chcete vyhodnotiť viacero podmienok pomocou logiky OR, vzorec je:
=IF((B2>50) + (C2>50), "vyhovel", "nevyhovel")
Používanie IF spolu s inými funkciami
V tejto časti sa vysvetľuje, ako používať IF v kombinácii s inými funkciami programu Excel a aké výhody vám to prináša.
Príklad 1. Ak je vo VLOOKUP chyba #N/A
Keď VLOOKUP alebo iná vyhľadávacia funkcia nemôže niečo nájsť, vráti chybu #N/A. Aby vaše tabuľky vyzerali krajšie, môžete vrátiť nulu, prázdne miesto alebo konkrétny text, ak je #N/A. Na to použite tento všeobecný vzorec:
IF(ISNA(VLOOKUP(...)), value_if_na , VLOOKUP(...))Napríklad:
Ak #N/A, vráti sa 0:
Ak sa hodnota vyhľadávania v E1 nenájde, vzorec vráti nulu.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), 0, VLOOKUP(E1, A2:B10, 2, FALSE))
Ak #N/A, vráťte prázdne:
Ak sa hodnota vyhľadávania nenájde, vzorec nevráti nič (prázdny reťazec).
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "", VLOOKUP(E1, A2:B10, 2, FALSE))
Ak #N/A, vráťte určitý text:
Ak sa hodnota vyhľadávania nenájde, vzorec vráti konkrétny text.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "Nenájdené", VLOOKUP(E1, A2:B10, 2, FALSE))
Ďalšie príklady vzorcov nájdete v časti VLOOKUP s príkazom IF v programe Excel.
Príklad 2. IF s funkciami SUM, AVERAGE, MIN a MAX
Na sčítanie hodnôt buniek na základe určitých kritérií poskytuje Excel funkcie SUMIF a SUMIFS.
V niektorých situáciách si vaša obchodná logika môže vyžadovať zahrnutie funkcie SUM do logického testu IF. Napríklad na vrátenie rôznych textových označení v závislosti od súčtu hodnôt v B2 a C2 je vzorec:
=IF(SUM(B2:C2)>130, "Dobrý", IF(SUM(B2:C2)>110, "Uspokojivý", "Zlý")
Ak je súčet vyšší ako 130, výsledok je "dobrý"; ak je vyšší ako 110 - "uspokojivý", ak je 110 alebo nižší - "slabý".
Podobným spôsobom môžete funkciu AVERAGE vložiť do logického testu IF a vrátiť rôzne označenia na základe priemerného skóre:
=IF(AVERAGE(B2:C2)>65, "Good", IF(AVERAGE(B2:C2)>55, "Satisfactory", "Poor")
Za predpokladu, že celkové skóre je v stĺpci D, môžete pomocou funkcií MAX a MIN určiť najvyššiu a najnižšiu hodnotu:
=IF(D2=MAX($D$2:$D$10), "Najlepší výsledok", "")
=IF(D2=MAX($D$2:$D$10), "Najlepší výsledok", "")
Ak chcete mať oba štítky v jednom stĺpci, vnorte vyššie uvedené funkcie jednu do druhej:
=IF(D2=MAX($D$2:$D$10), "Najlepší výsledok", IF(D2=MIN($D$2:$D$10), "Najhorší výsledok", "")
Podobne môžete použiť IF spolu s vlastnými funkciami. Môžete ho napríklad skombinovať s funkciou GetCellColor alebo GetCellFontColor a vrátiť rôzne výsledky na základe farby bunky.
Okrem toho Excel poskytuje množstvo funkcií na výpočet údajov na základe podmienok. Podrobné príklady vzorcov nájdete v nasledujúcich návodoch:
- COUNTIF - spočítajte bunky, ktoré spĺňajú podmienku
- COUNTIFS - počítať bunky s viacerými kritériami
- SUMIF - podmienečný súčet buniek
- SUMIFS - súčet buniek s viacerými kritériami
Príklad 3. IF s ISNUMBER, ISTEXT a ISBLANK
Na identifikáciu textu, čísel a prázdnych buniek poskytuje Microsoft Excel špeciálne funkcie ako ISTEXT, ISNUMBER a ISBLANK. Ich umiestnením do logických testov troch vnorených príkazov IF môžete identifikovať všetky rôzne typy údajov naraz:
=IF(ISTEXT(A2), "Text", IF(ISNUMBER(A2), "Číslo", IF(ISBLANK(A2), "Prázdne", "")))
Príklad 4. IF a CONCATENATE
Ak chcete do jednej bunky vypísať výsledok funkcie IF a nejaký text, použite spoločne funkcie CONCATENATE alebo CONCAT (v aplikácii Excel 2016 - 365) a IF. Napríklad:
=CONCATENATE("Predviedli ste ", IF(B1>100, "fantastické!", IF(B1>50, "dobre", "slabé")))
=CONCAT("Predviedli ste ", IF(B1>100, "fantastické!", IF(B1>50, "dobre", "slabé")))
Pri pohľade na nasledujúci obrázok obrazovky vám sotva bude potrebné vysvetľovať, čo tento vzorec robí:
Vzorec IF ISERROR / ISNA v programe Excel
Moderné verzie programu Excel majú špeciálne funkcie na zachytenie chýb a ich nahradenie iným výpočtom alebo preddefinovanou hodnotou - IFERROR (v programe Excel 2007 a novších) a IFNA (v programe Excel 2013 a novších). V starších verziách programu Excel môžete namiesto toho použiť kombinácie IF ISERROR a IF ISNA.
Rozdiel je v tom, že IFERROR a ISERROR spracúvajú všetky možné chyby programu Excel vrátane chýb #VALUE!, #N/A, #NAME?, #REF!, #NUM!, #DIV/0! a #NULL!, zatiaľ čo IFNA a ISNA sa špecializujú výlučne na chyby #N/A.
Ak chcete napríklad nahradiť chybu "delenie nulou" (#DIV/0!) vlastným textom, môžete použiť nasledujúci vzorec:
=IF(ISERROR(A2/B2), "N/A", A2/B2)
A to je všetko, čo vám chcem povedať o používaní funkcie IF v programe Excel. Ďakujem vám za prečítanie a dúfam, že sa na našom blogu uvidíme budúci týždeň!
Cvičebnica na stiahnutie
Excel IF viacero kritérií - príklady (.xlsx súbor)