Obsah
Výukový program vysvětluje podstatu logických funkcí aplikace Excel AND, OR, XOR a NOT a uvádí příklady vzorců, které demonstrují jejich běžné a vynalézavé použití.
Minulý týden jsme pronikli do tajů logických operátorů aplikace Excel, které se používají k porovnávání dat v různých buňkách. Dnes se dozvíte, jak rozšířit použití logických operátorů a sestavit složitější testy pro provádění složitějších výpočtů. Pomohou vám při tom logické funkce aplikace Excel, jako jsou AND, OR, XOR a NOT.
Logické funkce aplikace Excel - přehled
Microsoft Excel nabízí 4 logické funkce pro práci s logickými hodnotami. Jedná se o funkce AND, OR, XOR a NOT. Tyto funkce použijete, pokud chcete ve vzorci provést více než jedno porovnání nebo testovat více podmínek místo jedné. Stejně jako logické operátory vracejí logické funkce Excelu po vyhodnocení svých argumentů buď hodnotu TRUE, nebo FALSE.
Následující tabulka obsahuje stručný přehled funkcí jednotlivých logických funkcí, který vám pomůže vybrat správný vzorec pro konkrétní úlohu.
Funkce | Popis | Příklad vzorce | Popis vzorce |
A | Vrací hodnotu TRUE, pokud se všechny argumenty vyhodnotí jako TRUE. | =AND(A2>=10, B2<5) | Vzorec vrací hodnotu TRUE, pokud je hodnota v buňce A2 větší nebo rovna 10 a hodnota v buňce B2 je menší než 5, jinak vrací hodnotu FALSE. |
NEBO | Vrací hodnotu TRUE, pokud je některý argument vyhodnocen jako TRUE. | =OR(A2>=10, B2<5) | Vzorec vrací hodnotu TRUE, pokud je A2 větší nebo rovno 10 nebo B2 menší než 5, nebo jsou splněny obě podmínky. Pokud není splněna ani jedna z podmínek, vzorec vrací hodnotu FALSE. |
XOR | Vrací logickou kombinaci Exclusive Or všech argumentů. | =XOR(A2>=10, B2<5) | Vzorec vrací hodnotu TRUE, pokud je A2 větší nebo rovno 10 nebo B2 menší než 5. Pokud není splněna žádná z podmínek nebo jsou splněny obě podmínky, vzorec vrací hodnotu FALSE. |
NE | Vrátí obrácenou logickou hodnotu svého argumentu, tj. pokud je argument FALSE, vrátí TRUE a naopak. | =NOT(A2>=10) | Vzorec vrací hodnotu FALSE, pokud je hodnota v buňce A1 větší nebo rovna 10; v opačném případě vrací hodnotu TRUE. |
Kromě čtyř výše uvedených logických funkcí nabízí Microsoft Excel 3 "podmíněné" funkce - IF, IFERROR a IFNA.
Logické funkce aplikace Excel - fakta a čísla
- V argumentech logických funkcí můžete použít odkazy na buňky, číselné a textové hodnoty, logické hodnoty, operátory porovnávání a další funkce aplikace Excel. Všechny argumenty se však musí vyhodnotit jako logické hodnoty TRUE nebo FALSE nebo odkazy či pole obsahující logické hodnoty.
- Pokud argument logické funkce obsahuje libovolný prázdné buňky , jsou takové hodnoty ignorovány. Pokud jsou všechny argumenty prázdné buňky, vzorec vrátí chybu #VALUE!.
- Pokud argument logické funkce obsahuje čísla, pak se nula vyhodnotí jako FALSE a všechna ostatní čísla včetně záporných čísel se vyhodnotí jako TRUE. Například pokud buňky A1:A5 obsahují čísla, vzorec =AND(A1:A5) vrátí TRUE, pokud žádná z buněk neobsahuje 0, jinak FALSE.
- Logická funkce vrací chybu #VALUE!, pokud žádný z argumentů není logickou hodnotou.
- Logická funkce vrátí chybu #NAME?, pokud jste špatně napsali název funkce nebo jste se pokusili funkci použít ve starší verzi aplikace Excel, která ji nepodporuje. Například funkci XOR lze použít pouze v aplikaci Excel 2016 a 2013.
- V aplikaci Excel 2007 a vyšších verzích můžete do logické funkce uvést až 255 argumentů, pokud celková délka vzorce nepřesáhne 8 192 znaků. V aplikaci Excel 2003 a nižších verzích můžete uvést až 30 argumentů a celková délka vzorce nesmí přesáhnout 1 024 znaků.
Použití funkce AND v aplikaci Excel
Funkce AND je nejoblíbenějším členem rodiny logických funkcí. Hodí se, když je třeba otestovat několik podmínek a ujistit se, že jsou splněny všechny. Technicky vzato funkce AND testuje zadané podmínky a vrací TRUE, pokud jsou všechny podmínky vyhodnoceny jako TRUE, v opačném případě FALSE.
Syntaxe funkce AND aplikace Excel je následující:
AND(logical1, [logical2], ...)Kde logical je podmínka, kterou chcete testovat a která se může vyhodnotit jako TRUE nebo FALSE. První podmínka (logical1) je povinná, další podmínky jsou nepovinné.
A nyní se podívejme na několik příkladů vzorců, které ukazují, jak používat funkce AND ve vzorcích aplikace Excel.
Vzorec | Popis |
=AND(A2="Banány", B2>C2) | Vrací TRUE, pokud A2 obsahuje "Bananas" a B2 je větší než C2, jinak FALSE. |
=AND(B2>20, B2=C2) | Vrací TRUE, pokud je B2 větší než 20 a B2 je rovno C2, jinak FALSE. |
=AND(A2="Banány", B2>=30, B2>C2) | Vrací TRUE, pokud A2 obsahuje "Bananas", B2 je větší nebo rovno 30 a B2 je větší než C2, jinak FALSE. |
Funkce AND aplikace Excel - běžné použití
Sama o sobě není funkce AND v aplikaci Excel příliš zajímavá a její užitečnost je omezená. V kombinaci s dalšími funkcemi aplikace Excel však může funkce AND výrazně rozšířit možnosti vašich pracovních listů.
Jedno z nejčastějších použití funkce AND v aplikaci Excel se nachází v argumentu logical_test funkce IF, který slouží k testování několika podmínek namísto jedné. Například můžete do funkce IF vnořit kteroukoli z výše uvedených funkcí AND a získat podobný výsledek:
=IF(AND(A2="Banány", B2>C2), "Dobrý", "Špatný")
Další příklady vzorců IF / AND naleznete v jeho výukovém kurzu: Funkce IF aplikace Excel s více podmínkami AND.
Vzorec aplikace Excel pro podmínku BETWEEN
Pokud potřebujete v aplikaci Excel vytvořit vzorec mezi, který vybere všechny hodnoty mezi zadanými dvěma hodnotami, je běžným postupem použití funkce IF s AND v logickém testu.
Například máte 3 hodnoty ve sloupcích A, B a C a chcete zjistit, zda hodnota ve sloupci A spadá mezi hodnoty B a C. K vytvoření takového vzorce stačí funkce IF s vnořeným AND a několik operátorů porovnání:
Vzorec pro kontrolu, zda je X mezi Y a Z včetně:
=IF(AND(A2>=B2,A2<=C2),"Yes", "No")
Vzorec pro kontrolu, zda je X mezi Y a Z, nikoli včetně:
=IF(AND(A2>B2, A2
Jak ukazuje výše uvedený obrázek, vzorec funguje bezchybně pro všechny typy dat - čísla, data i textové hodnoty. Při porovnávání textových hodnot je vzorec kontroluje znak po znaku v abecedním pořadí. Jablka v ne mezi Meruňka a Banány protože druhé "p" ve slově Jablka je před písmenem "r" ve slově Meruňka . Další podrobnosti naleznete v části Použití operátorů porovnávání aplikace Excel s textovými hodnotami.
Jak vidíte, vzorec IF /AND je jednoduchý, rychlý a téměř univerzální. Říkám "téměř", protože nepokrývá jediný scénář. Z výše uvedeného vzorce vyplývá, že hodnota ve sloupci B je menší než ve sloupci C, tj. sloupec B vždy obsahuje dolní mezní hodnotu a C horní mezní hodnotu. To je důvod, proč vzorec vrací " Ne " pro řádek 6, kde A6 má 12, B6 - 15 a C6 - 3, stejně jako pro řádek 8, kde A8 má 24. listopadu, B8 má 26. prosince a C8 má 21. října.
Co když ale chcete, aby vzorec mezi fungoval správně bez ohledu na to, kde se nachází dolní a horní hranice hodnot? V takovém případě použijte funkci Excel MEDIAN, která vrací medián zadaných čísel (tj. číslo uprostřed množiny čísel).
Pokud tedy v logickém testu funkce IF nahradíte AND za MEDIAN, vzorec bude vypadat takto:
=IF(A2=MEDIAN(A2:C2), "Ano", "Ne")
A dostanete následující výsledky:
Jak vidíte, funkce MEDIAN funguje perfektně pro čísla a data, ale pro textové hodnoty vrací chybu #NUM! Bohužel nikdo není dokonalý : )
Pokud chcete mít dokonalý vzorec Mezi, který bude fungovat jak pro textové hodnoty, tak pro čísla a data, budete muset sestavit složitější logický text pomocí funkcí AND / OR, například takto:
=IF(OR(AND(A2>B2, A2
Použití funkce OR v aplikaci Excel
Stejně jako AND je i funkce OR v aplikaci Excel základní logickou funkcí, která slouží k porovnání dvou hodnot nebo příkazů. Rozdíl je v tom, že funkce OR vrací hodnotu TRUE, pokud je alespoň jeden z argumentů vyhodnocen jako TRUE, a vrací hodnotu FALSE, pokud jsou všechny argumenty FALSE. Funkce OR je k dispozici ve všech verzích aplikace Excel 2016 - 2000.
Syntaxe funkce OR v aplikaci Excel je velmi podobná funkci AND:
OR(logical1, [logical2], ...)Kde logická je něco, co chcete testovat a co může být buď TRUE, nebo FALSE. První logická je povinná, další podmínky (v moderních verzích Excelu až 255) jsou nepovinné.
A nyní si napíšeme několik vzorců, abyste si mohli udělat představu o tom, jak funkce OR v aplikaci Excel funguje.
Vzorec | Popis |
=OR(A2="Bananas", A2="Oranges") | Vrací TRUE, pokud A2 obsahuje "Banány" nebo "Pomeranče", jinak FALSE. |
=OR(B2>=40, C2>=20) | Vrací TRUE, pokud je B2 větší nebo rovno 40 nebo C2 větší nebo rovno 20, jinak FALSE. |
=OR(B2=" ",) | Vrací hodnotu TRUE, pokud je B2 nebo C2 prázdný nebo oba, jinak FALSE. |
Stejně jako funkce AND v Excelu se hojně používá i funkce OR, která rozšiřuje užitečnost dalších funkcí Excelu, které provádějí logické testy, např. funkce IF. Zde je jen několik příkladů:
Funkce IF s vnořeným OR
=IF(OR(B2>30, C2>20), "Dobrý", "Špatný")
Vzorec vrací " Dobrý " pokud je číslo v buňce B3 větší než 30 nebo číslo v buňce C2 větší než 20, " Špatný " v opačném případě.
Funkce AND / OR aplikace Excel v jednom vzorci
Nic vám samozřejmě nebrání použít obě funkce, AND & OR, v jednom vzorci, pokud to vaše obchodní logika vyžaduje. Takových vzorců může být nekonečně mnoho variant, které se omezují na následující 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))
Pokud byste například chtěli zjistit, jaké zásilky banánů a pomerančů jsou vyprodané, tj. číslo "Skladem" (sloupec B) se rovná číslu "Prodáno" (sloupec C), následující vzorec OR/AND vám to rychle ukáže:
=OR(AND(A2="banány", B2=C2), AND(A2="pomeranče", B2=C2))
Funkce NEBO v podmíněném formátování aplikace Excel
=NEBO($B2="", $C2="")
Pravidlo s výše uvedeným vzorcem OR zvýrazní řádky, které obsahují prázdnou buňku buď ve sloupci B, nebo C, nebo v obou.
Další informace o vzorcích podmíněného formátování naleznete v následujících článcích:
- Vzorce podmíněného formátování aplikace Excel
- Změna barvy řádku na základě hodnoty buňky
- Změna barvy buňky na základě hodnoty jiné buňky
- Jak zvýraznit každý druhý řádek v aplikaci Excel
Použití funkce XOR v aplikaci Excel
V aplikaci Excel 2013 společnost Microsoft zavedla funkci XOR, což je logická funkce, která je schopna Exkluzivní NEBO funkce. Tento pojem je určitě známý těm z vás, kteří mají nějaké znalosti jakéhokoli programovacího jazyka nebo informatiky obecně. Pro ty, kteří je nemají, může být pojem "Exclusive Or" zpočátku trochu obtížně pochopitelný, ale snad jim pomůže níže uvedené vysvětlení ilustrované příklady vzorců.
Syntaxe funkce XOR je totožná s funkcí OR :
XOR(logical1, [logical2],...)První logický příkaz (Logical 1) je povinný, další logické hodnoty jsou nepovinné. V jednom vzorci můžete testovat až 254 podmínek, přičemž se může jednat o logické hodnoty, pole nebo odkazy, které se vyhodnotí jako TRUE nebo FALSE.
V nejjednodušší verzi obsahuje vzorec XOR pouze 2 logické příkazy a návraty:
- TRUE, pokud je některý z argumentů vyhodnocen jako TRUE.
- FALSE, pokud jsou oba argumenty TRUE nebo žádný z nich není TRUE.
To by mohlo být srozumitelnější na příkladech vzorců:
Vzorec | Výsledek | Popis |
=XOR(1>0, 2<1) | TRUE | Vrací TRUE, protože 1. argument je TRUE a 2. argument je FALSE. |
=XOR(1<0, 2<1) | FALSE | Vrátí FALSE, protože oba argumenty jsou FALSE. |
=XOR(1>0, 2>1) | FALSE | Vrátí hodnotu FALSE, protože oba argumenty jsou TRUE. |
Po přidání dalších logických příkazů je výsledkem funkce XOR v aplikaci Excel:
- TRUE, pokud se lichý počet argumentů vyhodnotí jako TRUE;
- FALSE, pokud je celkový počet příkazů TRUE sudý nebo pokud jsou všechny příkazy FALSE.
Níže uvedený snímek obrazovky to ilustruje:
Pokud si nejste jisti, jak lze funkci XOR aplikace Excel použít v reálném scénáři, zvažte následující příklad. Předpokládejme, že máte tabulku soutěžících a jejich výsledků pro první 2 hry. Chcete zjistit, který z platících bude hrát 3. hru na základě následujících podmínek:
- Soutěžící, kteří vyhráli hru 1 a hru 2, postupují do dalšího kola automaticky a nemusí hrát hru 3.
- Soutěžící, kteří prohráli obě první hry, jsou vyřazeni a nehrají ani třetí hru.
- Soutěžící, kteří vyhráli hru 1 nebo hru 2, se utkají ve hře 3, aby se určilo, kdo postoupí do dalšího kola a kdo ne.
Jednoduchý vzorec XOR funguje přesně tak, jak chceme:
=XOR(B2="Vyhráno", C2="Vyhráno")
A pokud tuto funkci XOR vložíte do logického testu vzorce IF, získáte ještě rozumnější výsledky:
=IF(XOR(B2="Vyhrál", C2="Vyhrál"), "Ano", "Ne")
Použití funkce NOT v aplikaci Excel
Funkce NOT je jednou z nejjednodušších funkcí aplikace Excel z hlediska syntaxe:
NOT(logické)Funkci NOT v Excelu použijete k obrácení hodnoty jejího argumentu. Jinými slovy, pokud se logická hodnota vyhodnotí jako FALSE, funkce NOT vrátí TRUE a naopak. Například oba níže uvedené vzorce vrátí FALSE:
=NOT(TRUE)
=NOT(2*2=4)
Proč by měl člověk chtít získat tak směšné výsledky? V některých případech vás může více zajímat, kdy určitá podmínka není splněna, než kdy splněna je. Například při prohlížení seznamu oblečení můžete chtít vyloučit nějakou barvu, která se k vám nehodí. Nemám příliš v oblibě černou barvu, a tak pokračuji podle tohoto vzorce:
=NOT(C2="černá")
Jako obvykle existuje v aplikaci Microsoft Excel více způsobů, jak něco udělat, a stejného výsledku můžete dosáhnout pomocí operátoru Není rovno: =C2 "černá".
Pokud chcete v jednom vzorci testovat více podmínek, můžete použít NOT ve spojení s funkcí AND nebo OR. Pokud byste například chtěli vyloučit černou a bílou barvu, vzorec by vypadal takto:
=NOT(OR(C2="black", C2="white"))
A pokud byste raději neměli černý kabát, zatímco černé sako nebo kožich na zádech přicházejí v úvahu, měli byste v kombinaci s excelovskou funkcí AND použít NOT:
=NOT(AND(C2="black", B2="coat"))
Dalším častým použitím funkce NOT v aplikaci Excel je obrácení chování některé jiné funkce. Můžete například zkombinovat funkce NOT a ISBLANK a vytvořit vzorec ISNOTBLANK, který v aplikaci Microsoft Excel chybí.
Jak víte, vzorec =ISBLANK(A2) vrací hodnotu TRUE, pokud je buňka A2 prázdná. Funkce NOT může tento výsledek změnit na FALSE: =NOT(ISBLANK(A2)).
A pak můžete udělat další krok a vytvořit vnořený příkaz IF s funkcemi NOT / ISBLANK pro skutečnou úlohu:
=IF(NOT(ISBLANK(C2)), C2*0.15, "Žádný bonus :(")
Přeloženo do češtiny, vzorec říká Excelu následující: Pokud buňka C2 není prázdná, vynásobte číslo v buňce C2 číslem 0,15, čímž získáte 15% bonus pro každého prodejce, který uskutečnil nějaký prodej navíc. Pokud je buňka C2 prázdná, zobrazí se text "Žádný bonus :(".
V podstatě tak můžete používat logické funkce v aplikaci Excel. Tyto příklady samozřejmě pouze poškrábaly povrch možností funkcí AND, OR, XOR a NOT. Po znalosti základů můžete nyní rozšířit své znalosti řešením skutečných úloh a psaním inteligentních propracovaných vzorců pro své pracovní listy.