V Exceli vám funkcia IF umožňuje vykonať logické porovnanie medzi hodnotou a tým, čo očakávate, testovaním podmienky a vrátením výsledku, ak má táto podmienka hodnotu True alebo False.
-
=IF(niečo má hodnotu True, potom niečo urobte, inak urobte niečo iné)
Ale čo ak potrebujete otestovať viaceré podmienky, kde musia mať, napríklad, všetky podmienky hodnotu True alebo False (AND), alebo kde len jedna podmienka musí byť True alebo False (OR), prípadne chcete skontrolovať, či podmienka nespĺňa zadané kritériá (NOT)? Všetky 3 funkcie síce možno použiť samostatne, ale oveľa častejšie sa párujú s funkciami IF.
Funkciu IF používajte spolu s funkciami AND, OR a NOT na vyhodnotenie toho, či majú podmienky hodnotu True alebo False.
Syntax
-
IF(AND()) - IF (AND (logická_hodnota1; [logická_hodnota2];...); hodnota_ak_pravda; [hodnota_ak_nepravda]))
-
IF(OR()) - IF (OR (logická_hodnota1; [logická_hodnota2];...); hodnota_ak_pravda; [hodnota_ak_nepravda]))
-
IF(NOT()) - IF (NOT (logická_hodnota1; [logická_hodnota2];...); hodnota_ak_pravda; [hodnota_ak_nepravda]))
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. |
|
Tu nájdete prehľad o tom, ako štruktúrovať jednotlivé funkcie AND, OR a NOT. Keď každú z nich skombinujete s príkazom IF, čítajú sa takto:
-
A – = IF (AND (niečo má hodnotu True, niečo ďalšie má hodnotu True); hodnota, ak má hodnotu True; hodnota, ak má hodnotu False)
-
OR – = IF (OR (niečo má hodnotu True, niečo ďalšie má hodnotu True); hodnota, ak má hodnotu True; hodnota, ak má hodnotu False)
-
NOT – = IF (NOT(niečo má hodnotu True); hodnota, ak má hodnotu True; hodnota, ak má hodnotu False)
Príklady
Nižšie sú uvedené príklady niektorých bežných vnorených príkazov IF(AND()), IF(OR()) a IF(NOT()) v Exceli. Funkcie AND a OR podporujú až do 255 jednotlivých podmienok, no nie je vhodné používať ich veľa, pretože môže byť náročné zostaviť, otestovať a udržiavať komplexné vnorené vzorce. Funkcia NOT sa dá použiť len na jednu podmienku.
Tu uvádzame vzorce vysvetlené podľa svojej logiky:
Vzorec |
Popis |
---|---|
=IF(AND(A2>0;B2<100);TRUE; FALSE) |
Ak je hodnota bunky A2 (25) väčšia ako 0 a (AND) hodnota bunky B2 (75) je menšia ako 100, vráť hodnotu TRUE, inak vráť hodnotu FALSE. V tomto prípade sa splnili obe podmienky, a preto je výsledná hodnota TRUE. |
=IF(AND(A3=“Červená“,B3=“Zelená“);TRUE;FALSE) |
Ak sa hodnota bunky A3 (“Modrá“) rovná “Červená“ a (AND) hodnota bunky B3 sa rovná “Zelená“, vráť hodnotu TRUE, inak vráť hodnotu FALSE. V tomto prípade je pravdivá iba prvá podmienka, preto je výsledná hodnota FALSE. |
=IF(OR(A4>0;B4<50);TRUE; FALSE) |
Ak je hodnota bunky A4 (25) väčšia ako 0 alebo (OR) hodnota bunky B4 (75) je menšia ako 50, vráť hodnotu TRUE, inak vráť hodnotu FALSE. V tomto prípade je pravdivá iba prvá podmienka, ale keďže v prípade funkcie OR stačí, aby jeden argument bol pravdivý, vzorec vráti hodnotu TRUE. |
=IF(OR(A5=“Červená“;B5=“Zelená“);TRUE;FALSE) |
Ak sa hodnota bunky A5 (“Modrá“) rovná “Červená“ alebo (OR) sa hodnota bunky B5 (“Zelená“) rovná “Zelená“, vráť hodnotu TRUE, inak vráť hodnotu FALSE. V tomto prípade je pravdivý druhý argument a preto vzorec vráti hodnotu TRUE. |
=IF(NOT(A6>50);TRUE;FALSE) |
Ak hodnota bunky A6 (25) nie je (NOT) väčšia ako 50, vráť hodnotu TRUE, inak vráť hodnotu FALSE. V tomto prípade 25 nie je väčšie ako 50, preto vzorec vráti hodnotu TRUE. |
=IF(NOT(A7=“Červená“);TRUE;FALSE) |
Ak sa A7 (“Modrá“) nerovná (NOT) “Červená“, vráť hodnotu TRUE, inak vráť hodnotu FALSE. |
Všimnite si, že všetky príklady sú po zadaní jednotlivých podmienok ukončené pravou zátvorkou. Ostatné True alebo False argumenty sú z nich vyňaté a považujú sa za súčasť vonkajšieho príkazu IF. Je možné tiež nastaviť, aby sa namiesto hodnoty TRUE alebo FALSE v príkladoch vracali textové alebo číselné hodnoty.
Príklady použitia funkcie AND, OR a NOT na vyhodnotenie dátumov.
Tu uvádzame vzorce vysvetlené podľa svojej logiky:
Vzorec |
Popis |
---|---|
=IF(A2>B2;TRUE;FALSE) |
Ak je hodnota bunky A2 väčšia ako B2, vráť hodnotu TRUE, inak vráť hodnotu FALSE. V tomto prípade 12.03.2014 je väčšie ako 01.01.2014, preto vzorec vráti hodnotu TRUE. |
=IF(AND(A3>B2;A3<C2);TRUE;FALSE) |
Ak je hodnota bunky A3 väčšia ako B2 a (AND) menšia ako hodnota bunky C2, vráť hodnotu TRUE, inak vráť hodnotu FALSE. V tomto prípade sú pravdivé oba argumenty, preto vzorec vráti hodnotu TRUE. |
=IF(OR(A4>B2;A4<B2+60);TRUE;FALSE) |
Ak je hodnota bunky A4 väčšia ako B2 alebo (OR) je menšia ako hodnota bunky B2 + 60, vráť hodnotu TRUE, inak vráť hodnotu FALSE. V tomto prípade je pravdivý prvý argument, no druhý nie je. Keďže v prípade funkcie OR stačí, aby jeden argument bol pravdivý, vzorec vráti hodnotu TRUE. Ak použijete Sprievodcu vyhodnotením vzorca na karte Vzorec, uvidíte, ako Excel vyhodnotí vzorec. |
=IF(NOT(A5>B2);TRUE;FALSE) |
Ak hodnota bunky A5 nie je (NOT) väčšia ako hodnota bunky B2, vráť hodnotu TRUE, inak vráť hodnotu FALSE. V tomto prípade je hodnota bunky A5 väčšia ako hodnota bunky B2, preto vzorec vráti hodnotu FALSE. |
Používanie funkcií AND, OR a NOT s podmieneným formátovaním v Exceli
V Exceli môžete použiť aj funkcie AND, OR a NOT na nastavenie kritérií podmieneného formátovania pomocou možnosti vzorca. Keď to urobíte, môžete vynechať funkciu IF a funkcie AND, OR a NOT použiť samostatne.
V Exceli kliknite na karte Domov na položku Podmienené formátovanie > nové pravidlo. Potom vyberte možnosť Použiť vzorec na určenie buniek, ktoré sa majú formátovať, zadajte vzorec a použite formát podľa vlastného výberu.
Na príklade dátumov, s ktorými sme pracovali vyššie, si ukážeme, ako by tieto vzorce vyzerali.
Vzorec |
Popis |
---|---|
=A2>B2 |
Ak je hodnota bunky A2 väčšia ako hodnota bunky B2, formátuj bunku, inak nevykonaj žiadnu akciu. |
=AND(A3>B2;A3<C2) |
Ak je hodnota bunky A3 väčšia ako hodnota bunky B2 a (AND) menšia ako hodnota bunky C2, formátuj bunku, inak nevykonaj žiadnu akciu. |
=OR(A4>B2;A4<B2+60) |
Ak je hodnota bunky A4 väčšia ako hodnota bunky B2 alebo (OR) menšia ako hodnota bunky B2 + 60, formátuj bunku, inak nevykonaj žiadnu akciu. |
=NOT(A5>B2) |
Ak hodnota bunky A5 nie je (NOT) väčšia ako hodnota bunky B2, formátuj bunku, inak nevykonaj žiadnu akciu. V tomto prípade je hodnota bunky A5 väčšia ako hodnota bunky B2, preto vzorec vráti hodnotu FALSE. Ak by ste vzorec zmenili na =NOT(B2>A5), vrátil by hodnotu TRUE a bunka by sa naformátovala. |
Poznámka: Bežnou chybou je zadanie vzorca do podmieneného formátovania bez znamienka rovnosti (=). Ak to urobíte, uvidíte, že dialógové okno Podmienené formátovanie pridá do vzorca znamienko rovnosti a úvodzovky - ="OR(A4>B2;A4<B2+60)", takže úvodzovky budete musieť odstrániť skôr, ako vzorec bude reagovať správne.
Potrebujete ďalšiu pomoc?
Pozrite tiež
Vždy sa môžete opýtať odborníka v komunite Excel Tech Community alebo získať podporu v komunitách.
Naučte sa používať vnorené funkcie vo vzorci
Zabránenie vzniku nefunkčných vzorcov