Funkcia IF je jednou z najobľúbenejších funkcií v Exceli. Umožňuje vykonávanie logických porovnaní medzi hodnotou a tým, čo očakávate. V najjednoduchšej podobe funkcia IF znamená:
-
AK (niečo má hodnotu True (pravda), potom niečo urob, inak urob niečo iné)
Preto príkaz IF môže mať dva výsledky. Prvým výsledkom je, či vaše porovnanie má hodnotu True, a druhým výsledkom je, či vaše porovnanie má hodnotu False.
Ak chcete prejsť priamo na prácu s viacerými príkazmi IF, pozrite si tému: Pokročilé funkcie IF – práca s vnorenými vzorcami a ako sa vyhnúť nástrahám.
Technické podrobnosti
Používanie funkcie IF, jednej z logických funkcií na vrátenie jednej hodnoty, ak je podmienka pravdivá a druhej hodnoty, ak je nepravdivá.
Syntax
IF(logický_test; hodnota_ak_pravda; [hodnota_ak_nepravda])
Príklad:
-
=IF(A2>B2;"Prekročený rozpočet";"OK")
-
=IF(A2=B2;B4-A4;"")
Názov argumentu |
Popis |
logický_test (povinné) |
Predstavuje podmienku, ktorá sa má testovať. |
hodnota_ak_pravda (povinné) |
Predstavuje hodnotu, ktorá sa má vrátiť, ak sa argument logický_test vyhodnotí ako TRUE. |
hodnota_ak_nepravda (voliteľné) |
Predstavuje hodnotu, ktorá sa má vrátiť, ak sa argument logický_test vyhodnotí ako FALSE. |
Jednoduché príklady na funkciu IF

-
=IF(C2="Áno";1;2)
V uvedenom príklade bunka D2 znamená: AK (C2 = Áno, potom vráť hodnotu 1, inak vráť hodnotu 2)

-
=IF(C2=1;"Áno";"Nie")
V tomto príklade vzorec v bunke D2 znamená: AK (C2 = 1, potom vráť text Áno, inak vráť text Nie)
Ako vidíte, funkciu IF možno použiť na text aj na hodnoty. Môže sa použiť aj na vyhodnotenie chýb. Nie ste obmedzení len na to, aby ste kontrolovali, či sa jedna vec rovná druhej, a získali jeden výsledok. Môžete použiť aj matematické operátory a vykonávať ďalšie výpočty podľa svojich kritérií. Môžete tiež vnárať viaceré funkcie IF do seba s cieľom vykonať viacero porovnaní.
Poznámka: Ak sa chystáte vo vzorcoch používať text, musíte ho vložiť do úvodzoviek (napr. “Text”). Jedinou výnimkou je používanie hodnoty TRUE alebo FALSE, ktorým Excel automaticky rozumie.
Ako začať
Najlepším spôsobom, ako začať písať príkaz IF, je premyslieť si, čo sa snažíte dosiahnuť. Aké porovnania sa pokúšate vykonať? Písanie príkazu IF môže často byť rovnako jednoduché ako logické myslenie: Čo sa stane, ak je táto podmienka splnená, a čo sa stane, ak nie je? Vždy sa budete chcieť uistiť, že váš postup je logický, inak vzorec nebude robiť to, čo si myslíte, že by mal robiť. Toto je obzvlášť dôležité pri vytváraní zložitých (vnorených) funkcií IF.
Ďalšie príklady na funkciu IF

-
=IF(C2>B2;"Prekročený rozpočet";"V rámci rozpočtu")
V uvedenom príklade funkcia IF v bunke D2 znamená AK (C2 je väčšie než B2, potom vráť text "Prekročený rozpočet", inak vráť text "V rámci rozpočtu")

-
=IF(C2>B2;C2-B2,0)
Na obrázku vyššie namiesto vrátenia výsledku vo forme textu vrátime matematický výpočet. Takže vzorec v bunke E2 znamená AK (Skutočné je väčšie než Rozpočet, potom odčítaj čiastku rozpočtu od skutočnej čiastky, inak vráť nič).

-
=IF(E7=”Áno”;F5*0,0825;0)
V tomto príklade vzorec v bunke F7 znamená AK (E7 = "Áno", potom vypočítaj celkovú čiastku F5 * 8,25%, inak daň z predaja nie je splatná, takže vráť hodnotu 0)
Najvhodnejšie postupy – konštanty
V poslednom príklade vidíte, že text "Áno", ako aj sadzba dane z predaja (0,0825) je zadaná priamo do vzorca. Vo všeobecnosti nie je vhodné zadávať explicitné hodnoty konštánt (hodnoty, ktoré bude potrebné z času na čas zmeniť) priamo do vzorcov, keďže môže byť ťažké ich v budúcnosti nájsť a zmeniť. Omnoho lepšie je vložiť konštanty do vlastných buniek, kde ich môžete ľahko nájsť a zmeniť. V tomto prípade je to v poriadku, pretože je to len jedna funkcia IF a sadzba dane z predaja sa len zriedka mení. Aj v prípade, že sa to stane, bude ľahké ju zmeniť vo vzorci.
Operátory výpočtov
Ďalšie informácie o rôznych operátoroch výpočtov, ktoré môžete použiť vo vzorcoch, (< menší, > väčší, = rovná sa, <> nerovná sa atď.) nájdete v téme Výpočtové operátory a priorita v Exceli.
Používanie príkazu IF na kontrolu, či je bunka prázdna
Niekedy je potrebné skontrolovať, či je bunka prázdna, zvyčajne pretože nechcete, aby vzorec zobrazoval výsledok bez vstupu.

V tomto prípade používame príkaz IF s funkciou ISBLANK:
-
=IF(ISBLANK(D2);"Prázdne";"Iné než prázdne")
Tento vzorec hovorí AK(D2 je prázdna, potom vráť hodnotu "Prázdne", ináč vráť hodnotu "Iné než prázdne"). Rovnako jednoducho môžete použiť vlastný vzorec aj pre podmienku "Iné než prázdne". V nasledujúcom príklade použijeme znaky "" namiesto funkcie ISBLANK. Znaky "" v podstate znamenajú "nič".

-
= IF(D3="";"Prázdne";"Iné než prázdne")
Tento vzorec hovorí AK (D3 nie je nič, potom vráť "Prázdne", inak vráť "Iné než prázdne"). Tu je príklad veľmi bežného spôsobu použitia znakov "" na zabránenie situácie, aby vzorec robil výpočet, ak je závislá bunka prázdna:
-
=IF(D3="";"";TvojVzorec())
AK (D3 nie je nič, potom vráť nič, inak vráť tvoj vzorec).
Príklad vnorenej funkcie IF
Zatiaľ čo jednoduchá funkcia IF má len dva výsledky (True alebo False), vnorené funkcie IF môžu mať od 3 do 64 výsledkov.

-
=IF(D2=1;"ÁNO";IF(D2=2;"Nie";"Možno"))
Na obrázku vyššie vzorec v bunke E2 znamená: Ak (D2 sa rovná 1, potom vráť "ÁNO", inak, ak (D2 sa rovná 2, potom vráť "Nie", inak vráť "Možno")). Všimnite si, že na konci vzorca sú dve pravé zátvorky. Sú potrebné na dokončenie oboch funkcií IF, a ak sa pokúsite zadať vzorec bez oboch pravých zátvoriek, Excel sa pokúsi vzorec za vás opraviť.
Upozornenie
Hoci Excel vám umožní vnoriť až 64 rôznych funkcií IF, vôbec sa neodporúča tak urobiť. Prečo?
-
Viacero príkazov IF vyžaduje dobre si premyslieť, ako ich správne zostaviť a pamätať pritom na to, aby ich logika robila správne výpočty prostredníctvom každej podmienky až do konca. Ak ste nevnorili svoje funkcie IF na 100 % presne, potom vzorec možno bude fungovať na 75 %, ale vráti neočakávané výsledky v 25 % prípadov. Žiaľ, šanca, že zachytíte tých 25 %, je malá.
-
Spravovať viacnásobné príkazy IF môže byť veľmi ťažké, najmä keď sa k nim vrátite neskôr a pokúšate sa zistiť, čo ste sa snažili urobiť, alebo, čo je ešte horšie, čo sa iní snažili urobiť.
-
Viac príkazov IF vyžaduje viac ľavých a pravých zátvoriek (), v ktorých môže byť komplikovaná orientácia v závislosti od toho, aký zložitý vzorec vytvárate.
Riešenie bežných problémov
Problém |
Kde sa stala chyba |
0 (nula) v bunke |
Nebol zadaný žiadny argument pre argumenty hodnota_ak_pravda alebo hodnota_ak_nepravda. Ak chcete, aby sa zobrazila správna vrátená hodnota, pridajte k obom argumentom text argumentu alebo k argumentu pridajte hodnotu TRUE alebo FALSE. |
#NÁZOV? v bunke |
Zvyčajne to znamená, že vzorec je nesprávne napísaný. |
Potrebujete ďalšiu pomoc?
Vždy sa môžete opýtať odborníka v komunite technikov pre Excel, získať podporu v rámci komunity lokality Answers alebo navrhnúť novú funkciu či vylepšenie na lokalite Excel User Voice.
Pozrite tiež
Funkcia IFS (Office 365, Exceli 2016 a novšie verzie)
Pokročilé funkcie IF – práca s vnorenými vzorcami a ako sa vyhnúť nástrahám
Školiace videá: Pokročilé funkcie IF
Funkcia COUNTIF spočíta počet hodnôt na základe jedného kritéria
Funkcia COUNTIF spočíta počet hodnôt na základe viacerých kritérií
Funkcia SUMIF spočíta hodnoty na základe jedného kritéria
Funkcia SUMIFS spočíta hodnoty na základe viacerých kritérií
Zabránenie vzniku nefunkčných vzorcov
Zisťovanie chýb vo vzorcoch pomocou kontroly chýb