Obsah
Tento návod ukazuje, ako používať funkciu IF spolu s funkciou AND v programe Excel na kontrolu viacerých podmienok v jednom vzorci.
Niektoré veci na svete sú konečné. Iné sú nekonečné a funkcia IF sa zdá byť jednou z takýchto vecí. Na našom blogu máme už niekoľko návodov na funkciu IF v Exceli a stále každý deň objavujeme nové možnosti jej využitia. Dnes sa pozrieme na to, ako môžete použiť IF spolu s funkciou AND na vyhodnotenie dvoch alebo viacerých podmienok súčasne.
Príkaz IF AND v programe Excel
Aby ste mohli zostaviť príkaz IF AND, musíte samozrejme spojiť funkcie IF a AND do jedného vzorca. Tu je uvedený postup:
IF(AND( podmienka1 , podmienka2 ,...), value_if_true, value_if_false)Preložené do jednoduchej angličtiny znie vzorec takto: AK je podmienka 1 pravdivá A podmienka 2 pravdivá, urobte jednu vec, inak urobte niečo iné.
Ako príklad uveďme vzorec, ktorý skontroluje, či je B2 "doručené" a C2 nie je prázdne, a v závislosti od výsledku vykoná jednu z nasledujúcich činností:
- Ak sú obe podmienky TRUE, označte objednávku ako "Uzavretá".
- Ak je niektorá z podmienok FALSE alebo sú obe FALSE, potom sa vráti prázdny reťazec ("").
=IF(AND(B2="dodané", C2"), "Uzavreté", "")
Na obrázku nižšie je zobrazená funkcia IF AND v programe Excel:
Ak chcete vrátiť nejakú hodnotu v prípade, že logický test vyhodnotí hodnotu FALSE, zadajte túto hodnotu do príkazu value_if_false argument. Napríklad:
=IF(AND(B2="dodané", C2"), "Zatvorené", "Otvorené")
Upravený vzorec zobrazí výsledok "Uzavreté", ak je v stĺpci B hodnota "doručené" a v stĺpci C je akýkoľvek dátum (nie prázdny). Vo všetkých ostatných prípadoch vráti hodnotu "Otvorené":
Poznámka: Pri používaní vzorca IF AND v programe Excel na vyhodnotenie textových podmienok majte na pamäti, že malé a veľké písmená sa považujú za rovnaký znak. Ak hľadáte vzorec IF AND, ktorý rozlišuje malé a veľké písmená, zabaľte jeden alebo viac argumentov AND do funkcie EXACT, ako je to urobené v prepojenom príklade.
Teraz, keď už poznáte syntax príkazu IF AND programu Excel, vám ukážem, aké úlohy dokáže vyriešiť.
Excel IF: väčší ako AND menší ako
V predchádzajúcom príklade sme testovali dve podmienky v dvoch rôznych bunkách. Niekedy však môžete potrebovať vykonať dva alebo viac testov na tej istej bunke. Typickým príkladom je kontrola, či je hodnota bunky medzi dvoma číslami Funkcia IF AND v programe Excel to dokáže tiež.
Povedzme, že v stĺpci B máte nejaké čísla predaja a požaduje sa, aby ste označili sumy väčšie ako 50 USD, ale menšie ako 100 USD. Ak to chcete urobiť, vložte tento vzorec do stĺpca C2 a potom ho skopírujte nadol:
=IF(AND(B2>50, B2<100), "x", "")
Ak potrebujete zahrnúť hraničné hodnoty (50 a 100), použite menšia alebo rovná (<=) a väčšia alebo rovná (>=) operátor:
=IF(AND(B2>=50, B2<=100), "x", "")
Ak chcete spracovať niektoré ďalšie hraničné hodnoty bez zmeny vzorca, zadajte minimálne a maximálne čísla do dvoch samostatných buniek a vo vzorci sa na tieto bunky odvolajte. Aby vzorec správne fungoval vo všetkých riadkoch, nezabudnite použiť absolútne odkazy na hraničné bunky (v našom prípade $F$1 a $F$2):
=IF(AND(B2>=$F$1, B2<=$F$2), "x", "")
Pomocou podobného vzorca môžete skontrolovať, či dátum padá v rámci určeného rozsahu .
Označme napríklad dátumy od 10. septembra 2018 do 30. septembra 2018 vrátane. Malou prekážkou je, že dátumy nemožno do logických testov zadávať priamo. Aby Excel dátumom rozumel, treba ich uzavrieť do funkcie DATEVALUE, napríklad takto:
=IF(AND(B2>=DATEVALUE("9/10/2018"), B2<=DATEVALUE("9/30/2018")), "x", "")
Alebo jednoducho zadajte Z adresy a Na dátumy v dvoch bunkách (v tomto príklade $F$1 a $F$2) a "vytiahnite" ich z týchto buniek pomocou už známeho vzorca IF AND:
=IF(AND(B2>=$F$1, B2<=$F$2), "x", "")
Ďalšie informácie nájdete v príkaze IF programu Excel medzi dvoma číslami alebo dátumami.
Ak je to a to, potom niečo vypočítajte
Okrem vrátenia preddefinovaných hodnôt môže funkcia IF AND programu Excel vykonávať aj rôzne výpočty v závislosti od toho, či sú zadané podmienky TRUE alebo FALSE.
Na demonštráciu tohto prístupu vypočítame bonus vo výške 5 % za "uzavreté" predaje, ktorých suma je vyššia alebo rovná 100 USD.
Za predpokladu, že suma je v stĺpci B a stav objednávky v stĺpci C, vzorec vyzerá takto:
=IF(AND(B2>=100, C2="zatvorené"), B2*10%, 0)
Podľa uvedeného vzorca sa zvyšným príkazom priradí nula ( value_if_false = 0). Ak ste ochotní poskytnúť malý stimulačný bonus, napríklad 3 %, na objednávky, ktoré nespĺňajú podmienky, zahrňte príslušnú rovnicu do value_if_false argument:
=IF(AND(B2>=100, C2="zatvorené"), B2*10%, B2*3%)
Viacnásobné príkazy IF AND v programe Excel
Ako ste si mohli všimnúť, vo všetkých uvedených príkladoch sme hodnotili iba dve kritériá. Nič vám však nebráni v tom, aby ste do svojich vzorcov IF AND zahrnuli tri a viac testov, pokiaľ spĺňajú tieto všeobecné obmedzenia programu Excel:
- V programe Excel 2007 a vyšších verziách je možné vo vzorci použiť až 255 argumentov, pričom celková dĺžka vzorca nesmie presiahnuť 8 192 znakov.
- V programe Excel 2003 a nižších verziách nie je povolených viac ako 30 argumentov, pričom celková dĺžka nesmie presiahnuť 1 024 znakov.
Ako príklad viacnásobných podmienok AND uveďte tieto:
- Suma (B2) by mala byť vyššia alebo rovná 100 USD
- Stav objednávky (C2) je "Uzavretá"
- Dátum dodania (D2) je v rámci aktuálneho mesiaca
Teraz potrebujeme príkaz IF AND na identifikáciu príkazov, pre ktoré sú všetky 3 podmienky TRUE. A tu je:
=IF(AND(B2>=100, C2="Zatvorené", MONTH(D2)=MONTH(TODAY())), "x", "")
Vzhľadom na to, že "aktuálnym mesiacom" v čase písania bol október, vzorec poskytuje nasledujúce výsledky:
Vnorené príkazy IF AND
Pri práci s veľkými pracovnými hárkami je pravdepodobné, že budete musieť skontrolovať niekoľko sád rôznych kritérií AND naraz. Na tento účel použijete klasický vnorený vzorec IF programu Excel a rozšírite jeho logické testy o príkazy AND, ako je to v tomto prípade:
IF(AND(...), výstup1 , IF(AND(...), výstup2 , IF(AND(...), výstup3 , výstup4 )))Aby ste získali všeobecnú predstavu, pozrite si nasledujúci príklad.
Predpokladajme, že chcete hodnotiť svoje služby na základe nákladov na prepravu a odhadovaného času dodania (ETD):
- Vynikajúce : náklady na zásielku do 20 USD a ETD do 3 dní
- Chudobný : náklady na zásielku nad 30 USD a ETD nad 5 dní
- Priemer : čokoľvek medzi tým
Ak to chcete urobiť, napíšte dva jednotlivé príkazy IF AND:
IF(AND(B2<20, C2<3), "Excellent", ...)
IF(AND(B2>30, C2>5), "Poor", ...)
...a vložiť jeden do druhého:
=IF(AND(B2>30, C2>5), "slabý", IF(AND(B2<20, C2<3), "výborný", "priemerný")
Výsledok bude vyzerať podobne:
Ďalšie príklady vzorcov nájdete v časti Excel vnorené príkazy IF AND.
Funkcia IF AND v programe Excel s rozlišovaním veľkých a malých písmen
Ako bolo spomenuté na začiatku tohto návodu, vzorce IF AND v programe Excel nerozlišujú medzi veľkými a malými písmenami, pretože funkcia AND vo svojej podstate nerozlišuje veľkosť písmen.
Ak pracujete s rozlišovanie veľkých a malých písmen a chcete vyhodnotiť podmienky AND s prihliadnutím na prípad textu, vykonajte každý jednotlivý logický test vo vnútri funkcie EXACT a vnorte tieto funkcie do príkazu AND:
IF(AND(EXACT( bunka ," podmienka1 "), EXACT( bunka ," podmienka2 ")), value_if_true, value_if_false)V tomto príklade označíme objednávky konkrétneho zákazníka (napr. spoločnosť s názvom Kyberpriestor ) s čiastkou presahujúcou určitý počet, napríklad 100 USD.
Ako vidíte na nasledujúcom obrázku, niektoré názvy spoločností v stĺpci B vyzerajú rovnako ako výpis písmen, a napriek tomu ide o rôzne spoločnosti, preto musíme názvy skontrolovať presne Sumy v stĺpci C sú čísla a vykonáme pre ne bežný test "väčšie ako":
=IF(AND(EXACT(B2, "Cyberspace"), C2>100), "x", "")
Aby bol vzorec flexibilnejší, môžete zadať meno cieľového zákazníka a sumu do dvoch samostatných buniek a odkazovať na tieto bunky. Len nezabudnite odkazy na bunky uzamknúť znakom $ (v našom prípade $G$1 a $G$2), aby sa nezmenili pri kopírovaní vzorca do iných riadkov:
=IF(AND(EXACT(B2, $G$1), C2>$G$2), "x", "")
Teraz môžete do odkazovaných buniek zadať ľubovoľný názov a sumu a vzorec označí príslušné objednávky v tabuľke:
Vzorec IF ALEBO AND v programe Excel
Vo vzorcoch IF programu Excel nie ste obmedzení na použitie len jednej logickej funkcie. Ak chcete skontrolovať rôzne kombinácie viacerých podmienok, môžete ľubovoľne kombinovať funkcie IF, AND, OR a ďalšie funkcie na vykonanie požadovaných logických testov. Tu je príklad vzorca IF AND OR, ktorý testuje niekoľko podmienok OR v rámci AND. A teraz vám ukážem, ako môžete vykonať dva alebo viac testov AND v rámci ORfunkcie.
Predpokladajme, že chcete označiť objednávky dvoch zákazníkov sumou vyššou ako určité číslo, napríklad 100 USD.
V jazyku Excel sú naše podmienky vyjadrené takto:
OR(AND( Zákazník1 , Suma >100), AND( Zákazník2 , Suma >100)
Za predpokladu, že názvy zákazníkov sú v stĺpci B, sumy v stĺpci C, 2 cieľové názvy sú v G1 a G2 a cieľová suma je v G3, použijete tento vzorec na označenie príslušných objednávok symbolom "x":
=IF(OR(AND(B2=$G$1, C2>$G$3), AND(B2=$G$2, C2>$G$3)), "x", "")
Rovnaké výsledky sa dajú dosiahnuť aj pomocou kompaktnejšej syntaxe:
=IF(AND(OR(B2=$G$1,B2= $G$2), C2>$G$3), "x", "")
Nie ste si istí, či úplne rozumiete logike vzorca? Viac informácií nájdete v článku Excel IF s viacerými podmienkami AND/OR.
Takto sa v programe Excel používajú funkcie IF a AND. Ďakujeme za prečítanie a uvidíme sa na budúci týždeň!
Cvičný zošit
IF A Excel - príklady vzorcov (.xlsx súbor)