Obsah
Učebnica vysvetľuje podstatu logických funkcií programu Excel AND, OR, XOR a NOT a uvádza príklady vzorcov, ktoré demonštrujú ich bežné a vynaliezavé použitie.
Minulý týždeň sme využili poznatky o logických operátoroch programu Excel, ktoré sa používajú na porovnávanie údajov v rôznych bunkách. Dnes uvidíte, ako rozšíriť použitie logických operátorov a zostaviť zložitejšie testy na vykonávanie zložitejších výpočtov. Pomôžu vám pri tom logické funkcie programu Excel, ako sú AND, OR, XOR a NOT.
Logické funkcie programu Excel - prehľad
Microsoft Excel poskytuje 4 logické funkcie na prácu s logickými hodnotami. Ide o funkcie AND, OR, XOR a NOT. Tieto funkcie použijete, keď chcete vo vzorci vykonať viac ako jedno porovnanie alebo testovať viacero podmienok namiesto jednej. Rovnako ako logické operátory, aj logické funkcie programu Excel vracajú po vyhodnotení svojich argumentov buď TRUE, alebo FALSE.
Nasledujúca tabuľka obsahuje stručné zhrnutie funkcií jednotlivých logických funkcií, ktoré vám pomôže vybrať správny vzorec pre konkrétnu úlohu.
Funkcia | Popis | Príklad vzorca | Popis vzorca |
A | Vráti TRUE, ak sa všetky argumenty vyhodnotia ako TRUE. | =AND(A2>=10, B2<5) | Vzorec vráti TRUE, ak je hodnota v bunke A2 väčšia alebo rovná 10 a hodnota v bunke B2 je menšia ako 5, inak FALSE. |
ALEBO | Vráti TRUE, ak sa niektorý argument vyhodnotí ako TRUE. | =OR(A2>=10, B2<5) | Vzorec vráti TRUE, ak A2 je väčší alebo rovný 10 alebo B2 je menší ako 5, alebo sú splnené obe podmienky. Ak nie je splnená ani jedna z podmienok, vzorec vráti FALSE. |
XOR | Vráti logický Exclusive Or všetkých argumentov. | =XOR(A2>=10, B2<5) | Vzorec vráti TRUE, ak je A2 väčší alebo rovný 10 alebo B2 menší ako 5. Ak nie je splnená ani jedna z podmienok alebo sú splnené obe podmienky, vzorec vráti FALSE. |
NIE | Vráti obrátenú logickú hodnotu svojho argumentu, t. j. ak je argument FALSE, potom vráti TRUE a naopak. | =NOT(A2>=10) | Vzorec vráti hodnotu FALSE, ak je hodnota v bunke A1 väčšia alebo rovná 10; v opačnom prípade TRUE. |
Okrem štyroch vyššie uvedených logických funkcií poskytuje Microsoft Excel 3 "podmienené" funkcie - IF, IFERROR a IFNA.
Logické funkcie programu Excel - fakty a čísla
- V argumentoch logických funkcií môžete použiť odkazy na bunky, číselné a textové hodnoty, logické hodnoty, operátory porovnávania a iné funkcie programu Excel. Všetky argumenty sa však musia vyhodnotiť ako logické hodnoty TRUE alebo FALSE, alebo odkazy či polia obsahujúce logické hodnoty.
- Ak argument logickej funkcie obsahuje akýkoľvek prázdne bunky , takéto hodnoty sa ignorujú. Ak sú všetky argumenty prázdne bunky, vzorec vráti chybu #VALUE!.
- Ak argument logickej funkcie obsahuje čísla, potom sa nula vyhodnotí ako FALSE a všetky ostatné čísla vrátane záporných čísel sa vyhodnotia ako TRUE. Napríklad ak bunky A1:A5 obsahujú čísla, vzorec =AND(A1:A5) vráti TRUE, ak žiadna z buniek neobsahuje 0, inak FALSE.
- Logická funkcia vráti chybu #VALUE!, ak žiadny z argumentov nie je logickou hodnotou.
- Logická funkcia vráti chybu #NAME?, ak ste nesprávne napísali názov funkcie alebo ste sa pokúsili použiť funkciu v staršej verzii programu Excel, ktorá ju nepodporuje. Napríklad funkciu XOR možno použiť len v programe Excel 2016 a 2013.
- V programe Excel 2007 a vyšších verziách môžete do logickej funkcie zahrnúť až 255 argumentov za predpokladu, že celková dĺžka vzorca nepresiahne 8 192 znakov. V programe Excel 2003 a nižších verziách môžete uviesť až 30 argumentov a celková dĺžka vzorca nesmie presiahnuť 1 024 znakov.
Používanie funkcie AND v programe Excel
Funkcia AND je najobľúbenejším členom rodiny logických funkcií. Hodí sa vtedy, keď je potrebné otestovať niekoľko podmienok a uistiť sa, že sú splnené všetky. Technicky funkcia AND testuje zadané podmienky a vracia TRUE, ak sa všetky podmienky vyhodnotia ako TRUE, v opačnom prípade FALSE.
Syntax funkcie AND aplikácie Excel je nasledujúca:
AND(logické1, [logické2], ...)Kde logical je podmienka, ktorú chcete testovať a ktorá sa môže vyhodnotiť ako TRUE alebo FALSE. Prvá podmienka (logical1) je povinná, ďalšie podmienky sú nepovinné.
A teraz sa pozrime na niekoľko príkladov vzorcov, ktoré ukazujú, ako používať funkcie AND vo vzorcoch programu Excel.
Vzorec | Popis |
=AND(A2="Banány", B2>C2) | Vráti TRUE, ak A2 obsahuje "Banány" a B2 je väčší ako C2, inak FALSE. |
=AND(B2>20, B2=C2) | Vráti TRUE, ak je B2 väčší ako 20 a B2 sa rovná C2, inak FALSE. |
=AND(A2="Banány", B2>=30, B2>C2) | Vráti TRUE, ak A2 obsahuje "Banány", B2 je väčší alebo rovný 30 a B2 je väčší ako C2, inak FALSE. |
Funkcia Excel AND - bežné použitie
Samotná funkcia AND programu Excel nie je veľmi zaujímavá a má len obmedzenú použiteľnosť. V kombinácii s inými funkciami programu Excel však môže funkcia AND výrazne rozšíriť možnosti vašich pracovných hárkov.
Jedno z najčastejších použití funkcie AND v programe Excel sa nachádza v argumente logical_test funkcie IF na testovanie viacerých podmienok namiesto jednej. Napríklad môžete vložiť ktorúkoľvek z vyššie uvedených funkcií AND do funkcie IF a získať podobný výsledok:
=IF(AND(A2="Banány", B2>C2), "Dobrý", "Zlý")
Ďalšie príklady vzorcov IF / AND nájdete v jeho návode: Funkcia IF programu Excel s viacerými podmienkami AND.
Vzorec programu Excel pre podmienku BETWEEN
Ak potrebujete v programe Excel vytvoriť vzorec, ktorý vyberie všetky hodnoty medzi dvoma zadanými hodnotami, bežným prístupom je použitie funkcie IF s logickým testom AND.
Napríklad máte 3 hodnoty v stĺpcoch A, B a C a chcete vedieť, či hodnota v stĺpci A spadá medzi hodnoty B a C. Na vytvorenie takéhoto vzorca stačí funkcia IF s vnoreným AND a niekoľko operátorov porovnania:
Vzorec na kontrolu, či sa X nachádza medzi Y a Z vrátane:
=IF(AND(A2>=B2,A2<=C2),"Yes", "No")
Vzorec na kontrolu, či sa X nachádza medzi Y a Z, nie vrátane:
=IF(AND(A2>B2, A2
Ako ukazuje obrázok vyššie, vzorec funguje bezchybne pre všetky typy údajov - čísla, dátumy a textové hodnoty. Pri porovnávaní textových hodnôt ich vzorec kontroluje znak po znaku v abecednom poradí. Jablká v nie medzi Marhuľa a Banány pretože druhé "p" v Jablká je pred písmenom "r" v slove Marhuľa . Viac informácií nájdete v časti Používanie operátorov porovnávania programu Excel s textovými hodnotami.
Ako vidíte, vzorec IF /AND je jednoduchý, rýchly a takmer univerzálny. Hovorím "takmer", pretože nepokrýva jeden scenár. Z uvedeného vzorca vyplýva, že hodnota v stĺpci B je menšia ako v stĺpci C, t. j. stĺpec B vždy obsahuje dolnú hraničnú hodnotu a C hornú hraničnú hodnotu. To je dôvod, prečo vzorec vracia " Nie " pre riadok 6, kde A6 má 12, B6 - 15 a C6 - 3, ako aj pre riadok 8, kde A8 má 24. novembra, B8 má 26. decembra a C8 má 21. októbra.
Ale čo ak chcete, aby váš vzorec medzi fungoval správne bez ohľadu na to, kde sa nachádza dolná a horná hranica hodnôt? V tomto prípade použite funkciu Excel MEDIAN, ktorá vráti medián zadaných čísel (t. j. číslo v strede množiny čísel).
Ak teda v logickom teste funkcie IF nahradíte AND za MEDIAN, vzorec bude vyzerať takto:
=IF(A2=MEDIAN(A2:C2), "Áno", "Nie")
A dostanete nasledujúce výsledky:
Ako vidíte, funkcia MEDIAN funguje perfektne pre čísla a dátumy, ale pre textové hodnoty vracia chybu #NUM! Žiaľ, nikto nie je dokonalý : )
Ak chcete dokonalý vzorec Medzi, ktorý funguje pre textové hodnoty, ako aj pre čísla a dátumy, potom budete musieť vytvoriť zložitejší logický text pomocou funkcií AND / OR, ako je tento:
=IF(OR(AND(A2>B2, A2
Používanie funkcie OR v programe Excel
Rovnako ako AND, aj funkcia OR v programe Excel je základnou logickou funkciou, ktorá sa používa na porovnanie dvoch hodnôt alebo výrokov. Rozdiel je v tom, že funkcia OR vráti TRUE, ak aspoň jeden z argumentov je vyhodnotený ako TRUE, a vráti FALSE, ak sú všetky argumenty FALSE. Funkcia OR je k dispozícii vo všetkých verziách programu Excel 2016 - 2000.
Syntax funkcie OR aplikácie Excel je veľmi podobná funkcii AND:
OR(logical1, [logical2], ...)Kde logická je niečo, čo chcete testovať a čo môže byť buď TRUE alebo FALSE. Prvá logická je povinná, ďalšie podmienky (až 255 v moderných verziách Excelu) sú voliteľné.
A teraz si napíšeme niekoľko vzorcov, aby ste mali predstavu o tom, ako funguje funkcia OR v programe Excel.
Vzorec | Popis |
=OR(A2="Bananas", A2="Oranges") | Vráti TRUE, ak A2 obsahuje "Banány" alebo "Pomaranče", inak FALSE. |
=OR(B2>=40, C2>=20) | Vráti TRUE, ak B2 je väčšia alebo rovná 40 alebo C2 je väčšia alebo rovná 20, inak FALSE. |
=OR(B2=" ",) | Vráti TRUE, ak je B2 alebo C2 prázdny, alebo oba, inak FALSE. |
Rovnako ako funkcia AND programu Excel, aj funkcia OR sa široko používa na rozšírenie užitočnosti iných funkcií programu Excel, ktoré vykonávajú logické testy, napr. funkcie IF. Tu je len niekoľko príkladov:
Funkcia IF s vnoreným OR
=IF(OR(B2>30, C2>20), "Dobrý", "Zlý")
Vzorec vráti " Dobrý " ak je číslo v bunke B3 väčšie ako 30 alebo číslo v bunke C2 väčšie ako 20, " Zlé " v opačnom prípade.
Funkcie Excel AND / OR v jednom vzorci
Prirodzene, nič vám nebráni použiť obe funkcie AND & OR v jednom vzorci, ak si to vyžaduje vaša obchodná logika. Takýchto vzorcov môže byť nekonečné množstvo variácií, ktoré sa obmedzujú na nasledujúce základné vzory:
=AND(OR(Cond1, Cond2), Cond3)
=AND(OR(Cond1, Cond2), OR(Cond3, Cond4)
=OR(AND(Cond1, Cond2), Cond3)
=OR(AND(Cond1,Cond2), AND(Cond3,Cond4))
Ak by ste napríklad chceli zistiť, ktoré zásielky banánov a pomarančov sú vypredané, t. j. číslo "Na sklade" (stĺpec B) sa rovná číslu "Predané" (stĺpec C), nasledujúci vzorec OR/AND vám to rýchlo ukáže:
=OR(AND(A2="banány", B2=C2), AND(A2="pomaranče", B2=C2)
Funkcia OR v podmienenom formátovaní programu Excel
=ALEBO($B2="", $C2="")
Pravidlo s uvedeným vzorcom OR zvýrazní riadky, ktoré obsahujú prázdnu bunku buď v stĺpci B, alebo C, alebo v oboch.
Ďalšie informácie o vzorcoch podmieneného formátovania nájdete v nasledujúcich článkoch:
- Vzorce podmieneného formátovania programu Excel
- Zmena farby riadku na základe hodnoty bunky
- Zmena farby bunky na základe hodnoty inej bunky
- Ako zvýrazniť každý druhý riadok v programe Excel
Používanie funkcie XOR v programe Excel
V programe Excel 2013 spoločnosť Microsoft zaviedla funkciu XOR, ktorá je logickým Exkluzívne ALEBO Funkcia. Tento pojem je určite známy tým z vás, ktorí majú nejaké znalosti akéhokoľvek programovacieho jazyka alebo informatiky všeobecne. Pre tých, ktorí ich nemajú, môže byť pojem "Exclusive Or" spočiatku trochu ťažko pochopiteľný, ale dúfame, že im pomôže nižšie uvedené vysvetlenie ilustrované príkladmi vzorcov.
Syntax funkcie XOR je totožná s funkciou OR :
XOR(logical1, [logical2],...)Prvý logický príkaz (Logical 1) je povinný, ďalšie logické hodnoty sú voliteľné. V jednom vzorci môžete testovať až 254 podmienok, pričom to môžu byť logické hodnoty, polia alebo odkazy, ktoré sa vyhodnotia ako TRUE alebo FALSE.
V najjednoduchšej verzii vzorec XOR obsahuje len 2 logické príkazy a návraty:
- TRUE, ak sa niektorý z argumentov vyhodnotí ako TRUE.
- FALSE, ak sú oba argumenty TRUE alebo ani jeden z nich nie je TRUE.
To by mohlo byť jednoduchšie pochopiť z príkladov vzorcov:
Vzorec | Výsledok | Popis |
=XOR(1>0, 2<1) | TRUE | Vráti TRUE, pretože 1. argument je TRUE a 2. argument je FALSE. |
=XOR(1<0, 2<1) | FALSE | Vráti FALSE, pretože oba argumenty sú FALSE. |
=XOR(1>0, 2>1) | FALSE | Vráti FALSE, pretože oba argumenty sú TRUE. |
Po pridaní viacerých logických príkazov je výsledkom funkcie XOR v programe Excel:
- TRUE, ak sa nepárny počet argumentov vyhodnotí ako TRUE;
- FALSE, ak je celkový počet príkazov TRUE párny alebo ak sú všetky príkazy FALSE.
Nasledujúca snímka obrazovky ilustruje tento bod:
Ak si nie ste istí, ako sa dá funkcia XOR programu Excel použiť v reálnom scenári, zvážte nasledujúci príklad. Predpokladajme, že máte tabuľku súťažiacich a ich výsledky za prvé 2 hry. Chcete vedieť, ktorý z platiacich bude hrať 3. hru na základe nasledujúcich podmienok:
- Súťažiaci, ktorí vyhrali hru 1 a hru 2, postupujú do ďalšieho kola automaticky a nemusia hrať hru 3.
- Súťažiaci, ktorí prehrali obe prvé hry, sú vyradení a nehrajú ani tretiu hru.
- Súťažiaci, ktorí vyhrali hru 1 alebo hru 2, budú hrať hru 3, aby sa určilo, kto postúpi do ďalšieho kola a kto nie.
Jednoduchý vzorec XOR funguje presne tak, ako chceme:
=XOR(B2="Vyhral", C2="Vyhral")
Ak túto funkciu XOR vložíte do logického testu vzorca IF, získate ešte rozumnejšie výsledky:
=IF(XOR(B2="Vyhral", C2="Vyhral"), "Áno", "Nie")
Používanie funkcie NOT v programe Excel
Funkcia NOT je jednou z najjednoduchších funkcií programu Excel z hľadiska syntaxe:
NOT(logické)Funkciu NOT v programe Excel používate na obrátenie hodnoty jej argumentu. Inými slovami, ak sa logická hodnota vyhodnotí ako FALSE, funkcia NOT vráti TRUE a naopak. Napríklad oba nižšie uvedené vzorce vrátia FALSE:
=NOT(TRUE)
=NOT(2*2=4)
Prečo by mal človek chcieť získať takéto smiešne výsledky? V niektorých prípadoch vás môže viac zaujímať, kedy nie je splnená určitá podmienka, ako keď je. Napríklad pri prezeraní zoznamu oblečenia môžete chcieť vylúčiť nejakú farbu, ktorá sa k vám nehodí. Nemám veľmi rád čiernu farbu, takže pokračujem podľa tohto vzorca:
=NOT(C2="čierna")
Ako zvyčajne, v programe Microsoft Excel existuje viac ako jeden spôsob, ako niečo urobiť, a rovnaký výsledok môžete dosiahnuť pomocou operátora Not equal to: =C2 "black".
Ak chcete v jednom vzorci otestovať viacero podmienok, môžete použiť NOT v spojení s funkciou AND alebo OR. Ak by ste napríklad chceli vylúčiť čiernu a bielu farbu, vzorec by vyzeral takto:
=NOT(OR(C2="black", C2="white"))
A ak by ste radšej nemali čierny kabát, zatiaľ čo čierne sako alebo zadný kožuch prichádzajú do úvahy, mali by ste použiť NOT v kombinácii s funkciou AND v programe Excel:
=NOT(AND(C2="black", B2="coat"))
Ďalším častým použitím funkcie NOT v programe Excel je obrátenie správania inej funkcie. Môžete napríklad skombinovať funkcie NOT a ISBLANK a vytvoriť vzorec ISNOTBLANK, ktorý v programe Microsoft Excel chýba.
Ako viete, vzorec =ISBLANK(A2) vráti TRUE, ak je bunka A2 prázdna. Funkcia NOT môže tento výsledok zmeniť na FALSE: =NOT(ISBLANK(A2))
A potom môžete urobiť ďalší krok a vytvoriť vnorený príkaz IF s funkciami NOT / ISBLANK pre skutočnú úlohu:
=IF(NOT(ISBLANK(C2)), C2*0.15, "Žiadny bonus :(")
Preložené do jednoduchej angličtiny, vzorec hovorí programu Excel, aby urobil nasledovné: Ak bunka C2 nie je prázdna, vynásobte číslo v bunke C2 číslom 0,15, čím získate 15 % bonus pre každého predajcu, ktorý uskutočnil akýkoľvek predaj navyše. Ak je bunka C2 prázdna, zobrazí sa text "Žiadny bonus :(".
V podstate takto používate logické funkcie v programe Excel. Samozrejme, tieto príklady len poškriabali povrch schopností funkcií AND, OR, XOR a NOT. Keďže poznáte základy, môžete teraz rozšíriť svoje znalosti riešením skutočných úloh a písaním inteligentných prepracovaných vzorcov pre svoje pracovné hárky.