Funkcia Excel IF s viacerými podmienkami

  • Zdieľajte To
Michael Brown

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)

    Michael Brown je nadšený technologický nadšenec s vášňou pre zjednodušovanie zložitých procesov pomocou softvérových nástrojov. S viac ako desaťročnými skúsenosťami v technologickom priemysle si zdokonalil svoje zručnosti v programoch Microsoft Excel a Outlook, ako aj Tabuľky Google a Dokumenty. Michaelov blog je venovaný zdieľaniu svojich vedomostí a odborných znalostí s ostatnými a poskytuje jednoduché tipy a návody na zlepšenie produktivity a efektivity. Či už ste skúsený profesionál alebo začiatočník, Michaelov blog ponúka cenné poznatky a praktické rady, ako z týchto základných softvérových nástrojov vyťažiť maximum.