Funkcia IF v programe Excel: príklady vzorcov pre text, čísla, dátumy, prázdne miesta

  • Zdieľajte To
Michael Brown

V tomto článku sa dozviete, ako zostaviť príkaz IF programu Excel pre rôzne typy hodnôt a ako vytvoriť viacero príkazov IF.

IF je jednou z najobľúbenejších a najužitočnejších funkcií v programe Excel. Vo všeobecnosti sa príkaz IF používa na testovanie podmienky a na vrátenie jednej hodnoty, ak je podmienka splnená, a inej hodnoty, ak podmienka splnená nie je.

V tomto návode sa zoznámime so syntaxou a bežným použitím funkcie IF programu Excel a potom sa bližšie pozrieme na príklady vzorcov, ktoré, dúfajme, budú užitočné pre začiatočníkov aj skúsených používateľov.

    Funkcia IF v programe Excel

    IF je jedna z logických funkcií, ktorá vyhodnocuje určitú podmienku a vracia jednu hodnotu, ak je podmienka TRUE, a druhú hodnotu, ak je podmienka FALSE.

    Syntax funkcie IF je nasledujúca:

    IF(logical_test, [value_if_true], [value_if_false])

    Ako vidíte, IF prijíma celkovo 3 argumenty, ale iba prvý z nich je povinný, ostatné dva sú nepovinné.

    Logický_test (povinné) - testovaná podmienka. Môže byť vyhodnotená ako TRUE alebo FALSE.

    Value_if_true (nepovinné) - hodnota, ktorá sa má vrátiť, keď je logický test vyhodnotený ako TRUE, t. j. podmienka je splnená. value_if_false musí byť definovaný argument.

    Value_if_false (nepovinné) - hodnota, ktorá sa má vrátiť, ak logický test vyhodnotí ako FALSE, t. j. podmienka nie je splnená. value_if_true musí byť nastavený argument.

    Základný vzorec IF v programe Excel

    Vytvorenie jednoduchého Ak potom v programe Excel, musíte urobiť toto:

    • Pre logical_test , napíšte výraz, ktorý vráti buď TRUE alebo FALSE. Na tento účel by ste zvyčajne použili jeden z logických operátorov.
    • Pre value_if_true , určte, čo sa má vrátiť, keď sa logický test vyhodnotí ako TRUE.
    • Pre value_if_false , určte, čo sa má vrátiť, keď sa logický test vyhodnotí ako FALSE. Hoci je tento argument nepovinný, odporúčame ho vždy nakonfigurovať, aby sa predišlo neočakávaným výsledkom. Podrobné vysvetlenie nájdete v časti Excel IF: veci, ktoré treba vedieť.

    Ako príklad napíšeme veľmi jednoduchý vzorec IF, ktorý skontroluje hodnotu v bunke A2 a vráti "Good", ak je hodnota väčšia ako 80, v opačnom prípade "Bad":

    =IF(B2>80, "Dobrý", "Zlý")

    Tento vzorec prechádza do C2 a potom sa kopíruje až do C7:

    V prípade, že chcete vrátiť hodnotu len vtedy, keď je splnená podmienka (alebo nie je splnená), inak nič, potom použite prázdny reťazec ("") pre argument "undefined". Napríklad:

    =IF(B2>80, "Good", "")

    Tento vzorec vráti hodnotu "Good", ak je hodnota v A2 väčšia ako 80, v opačnom prípade je bunka prázdna:

    Vzorec Excel If then: čo treba vedieť

    Hoci sú posledné dva parametre funkcie IF nepovinné, váš vzorec môže priniesť neočakávané výsledky, ak nepoznáte základnú logiku.

    Ak sa vynechá value_if_true

    Ak je vynechaný 2. argument vzorca IF programu Excel (t. j. za logickým testom sú dve po sebe idúce čiarky), po splnení podmienky dostanete nulu (0), čo vo väčšine prípadov nemá zmysel. Tu je príklad takéhoto vzorca:

    =IF(B2>80, , "Zlý")

    Ak chcete namiesto toho vrátiť prázdnu bunku, zadajte ako druhý parameter prázdny reťazec (""), napríklad takto:

    =IF(B2>80, "", "Zlý")

    Nasledujúca snímka obrazovky ukazuje tento rozdiel:

    Ak je vynechaná hodnota_if_false

    Vynechanie tretieho parametra IF spôsobí, že keď sa logický test vyhodnotí ako FALSE, budú nasledovné výsledky.

    Ak je za zátvorkou value_if_true , funkcia IF vráti logickú hodnotu FALSE. Celkom nečakané, však? Tu je príklad takéhoto vzorca:

    =IF(B2>80, "Good")

    Zadanie čiarky za value_if_true prinúti Excel vrátiť 0, čo tiež nemá veľký zmysel:

    =IF(B2>80, "Good",)

    Najrozumnejším prístupom je použitie reťazca s nulovou dĺžkou ("") na získanie prázdnej bunky, keď nie je splnená podmienka:

    =IF(B2>80, "Good", "")

    Tip. Ak chcete vrátiť logickú hodnotu, keď je zadaná podmienka splnená alebo nie, zadajte TRUE pre value_if_true a FALSE pre value_if_false Aby výsledky boli logické hodnoty, ktoré dokážu rozpoznať iné funkcie programu Excel, neuzatvárajte TRUE a FALSE do dvojitých úvodzoviek, pretože sa tým zmenia na normálne textové hodnoty.

    Používanie funkcie IF v programe Excel - príklady vzorcov

    Teraz, keď ste sa zoznámili so syntaxou funkcie IF, pozrime sa na niekoľko príkladov vzorcov a naučme sa používať Ak potom výroky v reálnych scenároch.

    Funkcia Excel IF s číslami

    Ak chcete zostaviť príkaz IF pre čísla, použite logické operátory, ako napríklad:

    • Rovná sa (=)
    • Nie je rovné ()
    • Väčšie ako (>)
    • Väčšie alebo rovné (>=)
    • Menej ako (<)
    • Menšie alebo rovné (<=)

    Vyššie ste už videli príklad takéhoto vzorca, ktorý kontroluje, či je číslo väčšie ako dané číslo.

    A tu je vzorec, ktorý kontroluje, či bunka obsahuje záporné číslo :

    =IF(B2<0, "Invalid", "")

    Pre záporné čísla (ktoré sú menšie ako 0) vzorec vráti "Invalid"; pre nuly a kladné čísla - prázdnu bunku.

    Funkcia Excel IF s textom

    Bežne sa pre textové hodnoty píše príkaz IF s použitím operátora "rovná sa" alebo "nerovná sa".

    Napríklad nasledujúci vzorec kontroluje Stav dodávky v B2, aby sa určilo, či je potrebné prijať opatrenie alebo nie:

    =IF(B2="dodané", "Nie", "Áno")

    Preložené do jednoduchej angličtiny, vzorec hovorí: vráťte "Nie", ak sa B2 rovná "doručené", "Áno" v opačnom prípade.

    Iný spôsob, ako dosiahnuť rovnaký výsledok, je použiť operátor "not equal to" a vymeniť value_if_true a value_if_false hodnoty:

    =IF(C2 "doručené", "Áno", "Nie")

    Poznámky:

    • Pri používaní textových hodnôt pre parametre IF ich nezabudnite vždy uzavrieť do dvojité úvodzovky .
    • Podobne ako väčšina ostatných funkcií programu Excel, IF v predvolenom nastavení nerozlišuje veľké a malé písmená Vo vyššie uvedenom príklade sa nerozlišuje medzi slovami "doručené", "doručené" a "Doručené".

    Príkaz IF s rozlišovaním veľkých a malých písmen pre textové hodnoty

    Ak chcete veľké a malé písmená považovať za rôzne znaky, použite funkciu IF v kombinácii s funkciou EXACT, ktorá rozlišuje malé a veľké písmená.

    Ak chcete napríklad vrátiť "Nie" len vtedy, keď B2 obsahuje "DELIVERED" (veľké písmeno), použite tento vzorec:

    =IF(EXACT(B2, "Doručené"), "Nie", "Áno")

    Ak bunka obsahuje čiastočný text

    V situácii, keď chcete podmienku založiť na čiastočná zhoda namiesto presnej zhody, okamžite vám napadne riešenie, ktoré spočíva v použití zástupných znakov v logickom teste. Tento jednoduchý a zrejmý prístup však nebude fungovať. Mnohé funkcie akceptujú zástupné znaky, ale IF medzi ne bohužiaľ nepatrí.

    Fungujúcim riešením je použitie IF v kombinácii s ISNUMBER a SEARCH (nerozlišuje veľké a malé písmená) alebo FIND (rozlišuje veľké a malé písmená).

    Napríklad v prípade, že sa vyžaduje akcia "Nie" pre položky "Dodané" aj "Na dodanie", bude fungovať nasledujúci vzorec:

    =IF(ISNUMBER(SEARCH("deliv", B2)), "Nie", "Áno")

    Viac informácií nájdete na:

    • Príkaz IF programu Excel pre čiastočnú zhodu textu
    • Ak bunka obsahuje potom

    Príkaz IF programu Excel s dátumami

    Na prvý pohľad sa môže zdať, že vzorce IF pre dátumy sú podobné príkazom IF pre číselné a textové hodnoty. Žiaľ, nie je to tak. Na rozdiel od mnohých iných funkcií funkcia IF nerozoznáva dátumy v logických testoch a interpretuje ich ako obyčajné textové reťazce. Inými slovami, nemôžete zadať dátum v tvare "1/1/2020" alebo ">1/1/2020". Aby funkcia IF rozpoznala dátum, musíte ho zabaliť dofunkciu DATEVALUE.

    Napríklad takto môžete skontrolovať, či je daný dátum väčší ako iný dátum:

    =IF(B2>DATEVALUE("7/18/2022"), "Coming soon", "Completed")

    Tento vzorec vyhodnotí dátumy v stĺpci B a vráti "Coming soon", ak je hra naplánovaná na 18. júla 2022 alebo neskôr, a "Completed" pre predchádzajúci dátum.

    Samozrejme, nič vám nebráni zadať cieľový dátum do preddefinovanej bunky (napríklad E2) a odkazovať na túto bunku. Len nezabudnite adresu bunky uzamknúť znakom $, aby išlo o absolútny odkaz. Napríklad:

    =IF(B2>$E$2, "Coming soon", "Completed")

    Porovnanie dátumu s aktuálny dátum , použite funkciu TODAY(). Napríklad:

    =IF(B2>TODAY(), "Coming soon", "Completed")

    Príkaz IF programu Excel pre prázdne a nevyplnené políčka

    Ak chcete nejakým spôsobom označiť svoje údaje na základe toho, či sú určité bunky prázdne alebo nie, môžete:

    • Použite funkciu IF spolu s funkciou ISBLANK alebo
    • Použite logické výrazy (rovná sa prázdnemu) alebo "" (nerovná sa prázdnemu).

    V nasledujúcej tabuľke je vysvetlený rozdiel medzi týmito dvoma prístupmi na príkladoch vzorcov.

    Logický test Popis Príklad vzorca
    Prázdne bunky =""

    Vyhodnotí sa ako TRUE, ak je bunka vizuálne prázdna, aj keď obsahuje reťazec nulovej dĺžky .

    V opačnom prípade sa vyhodnotí ako FALSE.

    =IF(A1="", 0, 1)

    Vráti 0, ak je A1 vizuálne prázdny. V opačnom prípade vráti 1.

    Ak A1 obsahuje prázdny reťazec (""), vzorec vráti 0. ISBLANK()

    Vyhodnotí sa ako TRUE, ak bunka obsahuje absolútne nič - žiadne vzorce, žiadne medzery, žiadne prázdne reťazce.

    V opačnom prípade sa vyhodnotí ako FALSE.

    =IF(ISBLANK(A1), 0, 1)

    Vracia 0, ak je A1 úplne prázdny, 1 v opačnom prípade.

    Ak A1 obsahuje prázdny reťazec (""), vzorec vráti 1. Neslepé bunky "" Vyhodnotí sa ako TRUE, ak bunka obsahuje nejaké údaje. V opačnom prípade sa vyhodnotí ako FALSE.

    Bunky s reťazce s nulovou dĺžkou sa považujú za prázdne stránky . =IF(A1"", 1, 0)

    Vracia 1, ak A1 nie je prázdne; inak 0.

    Ak A1 obsahuje prázdny reťazec, vzorec vráti 0. ISBLANK()=FALSE Vyhodnotí sa ako TRUE, ak bunka nie je prázdna. V opačnom prípade sa vyhodnotí ako FALSE.

    Bunky s reťazce s nulovou dĺžkou sa považujú za nevyplnené . =IF(ISBLANK(A1)=FALSE, 0, 1)

    Funguje rovnako ako vyššie uvedený vzorec, ale vráti 1, ak A1 obsahuje prázdny reťazec.

    A teraz si ukážeme prázdne a neprázdne príkazy IF v akcii. Predpokladajme, že v stĺpci B máte dátum len vtedy, ak už bola odohraná hra. Na označenie odohraných hier použite jeden z týchto vzorcov:

    =IF(B2="", "", "Dokončené")

    =IF(ISBLANK(B2), "", "Dokončené")

    =IF($B2"", "Dokončené", "")

    =IF(ISBLANK($B2)=FALSE, "Dokončené", "")

    V prípade, že testované bunky nemajú reťazce nulovej dĺžky, všetky vzorce vrátia presne rovnaké výsledky:

    Kontrola, či sú dve bunky rovnaké

    Ak chcete vytvoriť vzorec, ktorý kontroluje, či sa dve bunky zhodujú, porovnajte bunky pomocou znamienka rovnosti (=) v logickom teste IF. Napríklad:

    =IF(B2=C2, "Rovnaké skóre", "")

    Ak chcete skontrolovať, či dve bunky obsahujú rovnaký text vrátane veľkosti písmen, nastavte vzorec IF tak, aby rozlišoval veľkosť písmen pomocou funkcie EXACT.

    Napríklad na porovnanie hesiel v A2 a B2 a vrátenie "Zhoda", ak sú tieto dva reťazce úplne rovnaké, "Nezhoda" v opačnom prípade je vzorec:

    =IF(EXACT(A2, B2), "Zhoda", "Nezhoda")

    IF potom vzorec na spustenie iného vzorca

    Vo všetkých predchádzajúcich príkladoch príkaz IF programu Excel vracal hodnoty. Môže však tiež vykonať určitý výpočet alebo vykonať iný vzorec, keď je splnená alebo nesplnená určitá podmienka. Na tento účel vložte do príkazu IF inú funkciu alebo aritmetický výraz value_if_true a/alebo value_if_false argumenty.

    Ak je napríklad B2 väčšia ako 80, vynásobíme ju 7 %, v opačnom prípade 3 %:

    =IF(B2>80, B2*7%, B2*3%)

    Viacnásobné príkazy IF v programe Excel

    V podstate existujú dva spôsoby zápisu viacerých príkazov IF v programe Excel:

    • Vkladanie viacerých funkcií IF do seba
    • Použitie funkcie AND alebo OR v logickom teste

    Vnorený príkaz IF

    Vnorené funkcie IF umožňujú umiestniť viacero príkazov IF do tej istej bunky, t. j. testovať viacero podmienok v rámci jedného vzorca a vrátiť rôzne hodnoty v závislosti od výsledkov týchto testov.

    Predpokladajme, že vaším cieľom je prideliť rôzne bonusy na základe skóre:

    • Viac ako 90 - 10%
    • 90 až 81 - 7%
    • 80 až 70 - 5%
    • Menej ako 70 - 3%

    Na splnenie úlohy napíšete 3 samostatné funkcie IF a vnoríte ich jednu do druhej takto:

    =IF(B2>90, 10%, IF(B2>=81, 7%, IF(B2>=70, 5%, 3%))

    Ďalšie príklady vzorcov nájdete na:

    • Vnorený vzorec IF programu Excel
    • Vnorená funkcia IF: príklady, osvedčené postupy a alternatívy

    Príkaz IF programu Excel s viacerými podmienkami

    Ak chcete vyhodnotiť niekoľko podmienok pomocou logiky AND alebo OR, vložte do logického testu príslušnú funkciu:

    • AND - vráti TRUE, ak všetky sú splnené podmienky.
    • OR - vráti TRUE, ak akékoľvek je splnená niektorá z podmienok.

    Napríklad, ak chcete vrátiť "vyhovel", ak sú obidve skóre v B2 a C2 vyššie ako 80, vzorec je:

    =IF(AND(B2>80, C2>80), "vyhovel", "nevyhovel")

    Ak chcete získať "vyhovel", ak je niektorý z výsledkov vyšší ako 80, vzorec je nasledovný:

    =IF(OR(B2>80, C2>80), "vyhovel", "nevyhovel")

    Podrobné informácie nájdete na stránke:

    • Vzorec IF AND v programe Excel
    • Excel IF OR funkcia s príkladmi vzorcov

    Ak je chyba v programe Excel

    Od Excelu 2007 máme k dispozícii špeciálnu funkciu s názvom IFERROR, ktorá kontroluje vzorce na prítomnosť chýb. V Exceli 2013 a vyšších verziách je k dispozícii aj funkcia IFNA na spracovanie chýb #N/A.

    A predsa môžu nastať okolnosti, keď je použitie funkcie IF spolu s ISERROR alebo ISNA lepším riešením. V podstate je IF ISERROR vzorec, ktorý sa používa vtedy, keď chcete vrátiť niečo, ak je chyba, a niečo iné, ak chyba nie je. Funkcia IFERROR to nedokáže, pretože vždy vráti výsledok hlavného vzorca, ak nejde o chybu.

    Ak chcete napríklad porovnať každé skóre v stĺpci B s tromi najlepšími skóre v E2:E4 a vrátiť "Áno", ak sa nájde zhoda, a "Nie" v opačnom prípade, zadajte tento vzorec do C2 a potom ho skopírujte nadol cez C7:

    =IF(ISERROR(MATCH(B2, $E$2:$E$4, 0)), "Nie", "Áno" )

    Viac informácií nájdete v časti Vzorec IF ISERROR v programe Excel.

    Dúfam, že vám naše príklady pomohli pochopiť základy IF Excelu. Ďakujem vám za prečítanie a dúfam, že sa na našom blogu uvidíme budúci týždeň!

    Cvičný zošit

    Príkaz IF programu Excel - príklady vzorcov (.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.