Логічні функції в Excel: AND, OR, XOR і NOT

  • Поділитися Цим
Michael Brown

У посібнику пояснюється сутність логічних функцій Excel І, АБО, XOR та НЕ, а також наводяться приклади формул, що демонструють їх звичайне та винахідницьке використання.

Минулого тижня ми познайомилися з логічними операторами Excel, які використовуються для порівняння даних в різних комірках. Сьогодні ви дізнаєтеся, як розширити використання логічних операторів і побудувати більш складні тести для виконання більш складних обчислень. У цьому вам допоможуть такі логічні функції Excel, як AND, OR, XOR і NOT.

    Логічні функції Excel - огляд

    Для роботи з логічними значеннями в Microsoft Excel передбачено 4 логічні функції: І, АБО, XOR та НЕ. Ці функції використовуються, коли у формулі потрібно виконати більше одного порівняння або перевірити кілька умов замість однієї. Як і логічні оператори, логічні функції Excel повертають значення ІСТИНА або ХИБНІСТЬ при обчисленні їхніх аргументів.

    У наступній таблиці наведено короткий опис того, що робить кожна логічна функція, щоб допомогти вам вибрати правильну формулу для конкретного завдання.

    Функція Опис Приклад формули Формула Опис
    І Повертає значення TRUE, якщо всі аргументи мають значення TRUE. =AND(A2>=10, B2<5) Формула повертає значення ІСТИНА, якщо значення в комірці А2 більше або дорівнює 10, а значення в комірці В2 менше 5, в іншому випадку - ЛОЖЬ.
    АБО Повертає значення TRUE, якщо будь-який аргумент має значення TRUE. =OR(A2>=10, B2<5) Формула повертає значення ІСТИНА, якщо А2 більше або дорівнює 10 або В2 менше 5, або виконуються обидві умови. Якщо жодна з умов не виконується, формула повертає значення ХИБНІСТЬ.
    XOR Повертає логічне виключне або всіх аргументів. =XOR(A2>=10, B2<5) Формула повертає значення ІСТИНА, якщо або А2 більше або дорівнює 10, або В2 менше 5. Якщо жодна з умов не виконується або виконуються обидві умови, формула повертає значення ХИБНІСТЬ.
    НЕ Повертає обернене логічне значення свого аргументу, тобто якщо аргумент FALSE, то повертається TRUE і навпаки. =NOT(A2>=10) Формула повертає значення FALSE, якщо значення в комірці A1 більше або дорівнює 10; TRUE в іншому випадку.

    Крім чотирьох логічних функцій, описаних вище, в Microsoft Excel передбачено 3 "умовні" функції - IF, IFERROR та IFNA.

    Логічні функції Excel - факти і цифри

    1. В аргументах логічних функцій можна використовувати посилання на комірки, числові та текстові значення, логічні значення, оператори порівняння та інші функції Excel. При цьому всі аргументи повинні набувати логічних значень ІСТИНА або ХИБНІСТЬ, або посилання чи масиви, що містять логічні значення.
    2. Якщо аргумент логічної функції містить будь-яку порожні клітинки Якщо всі аргументи є порожніми комірками, формула повертає помилку #VALUE!
    3. Якщо аргумент логічної функції містить числа, то нуль отримує значення ЛОЖЬ, а всі інші числа, включаючи від'ємні, - значення ІСТИНА. Наприклад, якщо в комірках А1:А5 містяться числа, то формула =ИЛИ(А1:А5) поверне значення ІСТИНА, якщо жодна з комірок не містить 0, і ЛОЖЬ у протилежному випадку.
    4. Логічна функція повертає помилку #VALUE!, якщо жоден з аргументів не набуває логічного значення.
    5. Логічна функція повертає помилку #ІМ'Я? якщо ви неправильно написали ім'я функції або спробували використовувати функцію в більш ранній версії Excel, яка її не підтримує. Наприклад, функція XOR може використовуватися тільки в Excel 2016 і 2013.
    6. В Excel 2007 і вище в логічну функцію можна включати до 255 аргументів, за умови, що загальна довжина формули не перевищує 8 192 символів. В Excel 2003 і нижче можна вводити до 30 аргументів, а загальна довжина формули не повинна перевищувати 1 024 символів.

    Використання функції AND в Excel

    Функція І є найпопулярнішим членом сімейства логічних функцій. Вона стає в нагоді, коли потрібно перевірити кілька умов і переконатися, що всі вони виконуються. Технічно функція І перевіряє задані вами умови і повертає значення ІСТИНА, якщо всі умови мають значення ІСТИНА, і значення ХИБНІСТЬ в іншому випадку.

    Синтаксис функції І в Excel наступний:

    AND(logical1, [logical2], ...)

    Де логічна - це умова, яку ви хочете перевірити, і яка може мати значення ІСТИНА або ХИБНІСТЬ. Перша умова (логічна 1) є обов'язковою, наступні умови є необов'язковими.

    А тепер давайте розглянемо кілька прикладів формул, які демонструють, як використовувати функції AND у формулах Excel.

    Формула Опис
    =AND(A2="Банани", B2>C2) Повертає значення TRUE, якщо A2 містить "Банани" і B2 більше ніж C2, FALSE в іншому випадку.
    =AND(B2>20, B2=C2) Повертає значення TRUE, якщо B2 більше 20 і B2 дорівнює C2, FALSE в іншому випадку.
    =AND(A2="Банани", B2>=30, B2>C2) Повертає значення TRUE, якщо A2 містить "Банани", B2 більше або дорівнює 30 і B2 більше ніж C2, FALSE в іншому випадку.

    Функція І в Excel - загальне використання

    Сама по собі функція Excel И не дуже цікава і має вузьке застосування. Але в поєднанні з іншими функціями Excel И може значно розширити можливості ваших робочих аркушів.

    Одне з найпоширеніших застосувань функції І в Excel можна знайти в аргументі логічний_тест функції ЕСЛИ для перевірки декількох умов замість однієї. Наприклад, ви можете вкласти будь-яку з функцій І, наведених вище, всередину функції ЕСЛИ і отримати результат, подібний до цього:

    =IF(AND(A2="Банани", B2>C2), "Добре", "Погано")

    Щоб отримати більше прикладів формул IF / AND, перегляньте його підручник: Функція Excel IF з декількома умовами AND.

    Формула Excel для умови МІЖ

    Якщо вам потрібно створити проміжну формулу в Excel, яка вибирає всі значення між заданими двома значеннями, загальним підходом є використання функції ЯКЩО з І в логічному тесті.

    Наприклад, у вас є 3 значення в стовпчиках A, B і C, і ви хочете дізнатися, чи потрапляє значення в стовпчику A між значеннями B і C. Для створення такої формули достатньо функції IF з вкладеним AND і парою операторів порівняння:

    Формула для перевірки, чи знаходиться X між Y та Z включно:

    =IF(AND(A2>=B2,A2<=C2),"Yes", "No")

    Формула для перевірки, чи знаходиться X між Y та Z не включно:

    =IF(AND(A2>B2, A2

    Як показано на скріншоті вище, формула відмінно працює для всіх типів даних - чисел, дат і текстових значень. При порівнянні текстових значень формула перевіряє їх посимвольно в алфавітному порядку. Наприклад, вона стверджує, що Яблука в, а не між Абрикосовий і Банани тому що друге "р" у слові Яблука стоїть перед "r" в Абрикосовий Для більш детальної інформації див. розділ Використання операторів порівняння Excel з текстовими значеннями.

    Як бачите, формула ЯКЩО/І проста, швидка і майже універсальна. Я кажу "майже", тому що вона не охоплює один сценарій. Вищенаведена формула має на увазі, що значення в стовпці B менше, ніж в стовпці C, тобто стовпець B завжди містить значення нижньої межі, а C - значення верхньої межі. Саме з цієї причини формула повертає " Ні " для рядка 6, де A6 має 12, B6 - 15 та C6 - 3, а також для рядка 8, де A8 - 24 листопада, B8 - 26 грудня та C8 - 21 жовтня.

    Але що робити, якщо ви хочете, щоб ваша формула "проміжок" працювала коректно незалежно від того, де знаходяться нижня і верхня межі? У цьому випадку скористайтеся функцією СРЗНАЧ, яка повертає медіану заданих чисел (тобто число, що знаходиться посередині набору чисел).

    Отже, якщо в логічному тесті функції ЕСЛИ замінити І на СЕРЕДНЄ, то формула матиме вигляд:

    =IF(A2=MEDIAN(A2:C2), "Так", "Ні")

    І ви отримаєте наступні результати:

    Як бачите, функція СРЗНАЧ прекрасно працює для чисел і дат, але повертає помилку #NUM! для текстових значень. На жаль, ніхто не ідеальний : )

    Якщо ви хочете отримати ідеальну формулу "Між", яка працює як для текстових значень, так і для чисел і дат, то вам доведеться побудувати більш складний логічний текст з використанням функцій І / АБО, як це показано нижче:

    =IF(OR(AND(A2>B2, A2

    Використання функції АБО в Excel

    Як і І, функція АБО в Excel є базовою логічною функцією, яка використовується для порівняння двох значень або тверджень. Різниця полягає в тому, що функція АБО повертає значення ІСТИНА, якщо хоча б один з аргументів має значення ІСТИНА, і повертає значення ХИБНІСТЬ, якщо всі аргументи мають значення ХИБНІСТЬ. Функція АБО доступна у всіх версіях Excel 2016 - 2000.

    Синтаксис функції Excel АБО дуже схожий на І:

    АБО(логічне1, [логічне2], ...)

    Де логічне - це те, що ви хочете перевірити, що може бути або ІСТИНА, або ХИБНІСТЬ. Перше логічне є обов'язковим, додаткові умови (до 255 в сучасних версіях Excel) є необов'язковими.

    А тепер давайте запишемо кілька формул, щоб ви відчули, як працює функція "АБО" в Excel.

    Формула Опис
    =OR(A2="Bananas", A2="Oranges") Повертає TRUE, якщо A2 містить "Банани" або "Апельсини", FALSE в іншому випадку.
    =OR(B2>=40, C2>=20) Повертає значення TRUE, якщо B2 більше або дорівнює 40 або C2 більше або дорівнює 20, FALSE в іншому випадку.
    =OR(B2=" ",) Повертає значення TRUE, якщо B2 або C2 порожні або обидва, FALSE в іншому випадку.

    Так само, як і функція Excel AND, OR широко використовується для розширення корисності інших функцій Excel, які виконують логічні перевірки, наприклад, функції IF. Ось лише кілька прикладів:

    Функція IF з вкладеним АБО

    =IF(OR(B2>30, C2>20), "Добре", "Погано")

    Формула повертає " Добре. "якщо число в комірці B3 більше 30 або число в комірці C2 більше 20," Погано "інакше.

    Функції І / АБО Excel в одній формулі

    Природно, ніщо не заважає вам використовувати обидві функції, І та АБО, в одній формулі, якщо цього вимагає ваша бізнес-логіка. Варіацій таких формул може бути нескінченна безліч, які зводяться до наступних основних закономірностей:

    =AND(OR(Cond1, Cond2), Cond3)

    =AND(OR(Cond1, Cond2), OR(Cond3, Cond4)

    =OR(AND(Cond1, Cond2), Cond3)

    =OR(AND(Cond1,Cond2), AND(Cond3,Cond4))

    Наприклад, якщо ви хочете знати, які партії бананів та апельсинів розпродані, тобто кількість "На складі" (стовпчик B) дорівнює кількості "Продано" (стовпчик C), наступна формула АБО/АБО може швидко показати вам це:

    =OR(AND(A2="банани", B2=C2), AND(A2="апельсини", B2=C2))

    Функція АБО в умовному форматуванні Excel

    =OR($B2="", $C2="")

    Правило з наведеною вище формулою АБО виділяє рядки, які містять порожню комірку або в стовпчику B, або в стовпчику C, або в обох стовпчиках.

    Детальніше про формули умовного форматування читайте в наступних статтях:

    • Формули умовного форматування Excel
    • Зміна кольору рядка на основі значення комірки
    • Зміна кольору комірки на основі значення іншої комірки
    • Як виділити кожен другий рядок в Excel

    Використання функції XOR в Excel

    В Excel 2013 компанія Microsoft представила функцію XOR, яка являє собою логічне Ексклюзивне АБО Цей термін, безумовно, знайомий тим з вас, хто має певні знання з будь-якої мови програмування або інформатики в цілому. Для тих, хто не знає, концепція "виключного або" може бути трохи складною для розуміння, але, сподіваємось, наведені нижче пояснення, проілюстровані прикладами формул, допоможуть вам.

    Синтаксис функції XOR ідентичний синтаксису операції АБО :

    XOR(logical1, [logical2],...)

    Перше логічне твердження (Логічна 1) є обов'язковим, додаткові логічні значення є необов'язковими. Ви можете перевірити до 254 умов в одній формулі, і це можуть бути логічні значення, масиви або посилання, які оцінюються як ІСТИНА або ХИБНІСТЬ.

    У найпростішому варіанті формула XOR містить всього 2 логічних оператори і повернення:

    • TRUE, якщо будь-який з аргументів має значення TRUE.
    • FALSE, якщо обидва аргументи є ІСТИНА або жоден з них не є ІСТИНА.

    Це може бути легше зрозуміти з прикладів формул:

    Формула Результат Опис
    =XOR(1>0, 2<1) ПРАВДА Повертає значення TRUE, оскільки 1-й аргумент є TRUE, а 2-й аргумент є FALSE.
    =XOR(1<0, 2<1) НЕПРАВДА Повертає значення FALSE, оскільки обидва аргументи є FALSE.
    =XOR(1>0, 2>1) НЕПРАВДА Повертає значення FALSE, оскільки обидва аргументи мають значення TRUE.

    При додаванні більшої кількості логічних операторів в Excel використовується функція XOR:

    • TRUE, якщо непарна кількість аргументів має значення TRUE;
    • FALSE, якщо загальна кількість ІСТИННИХ тверджень парна, або якщо всі твердження є ХИБНИМИ.

    Скріншот нижче ілюструє цю тезу:

    Якщо ви не впевнені, як функція Excel XOR може бути застосована до реального сценарію, розглянемо наступний приклад. Припустимо, у вас є таблиця учасників і їх результати за перші 2 гри. Ви хочете дізнатися, хто з платників буде грати в 3-й грі, виходячи з наступних умов:

    • Учасники, які перемогли у 1 та 2 іграх, автоматично переходять до наступного туру і не повинні грати 3 гру.
    • Учасники, які програли обидві перші гри, вилітають і не грають у 3-й грі.
    • Учасники, які виграли Гру 1 або Гру 2, грають Гру 3, щоб визначити, хто проходить до наступного раунду, а хто ні.

    Проста формула XOR працює саме так, як ми хочемо:

    =XOR(B2="Виграв", C2="Виграв")

    А якщо вкласти цю функцію XOR в логічний тест формули IF, то отримаємо ще більш осмислені результати:

    =IF(XOR(B2="Виграв", C2="Виграв"), "Так", "Ні")

    Використання функції NOT в Excel

    Функція NOT є однією з найпростіших функцій Excel з точки зору синтаксису:

    NOT(логічне)

    Функція NOT в Excel використовується для зміни значення аргументу на протилежне. Іншими словами, якщо логічна оцінка має значення БРЕХНЯ, функція NOT повертає значення ІСТИНА, і навпаки. Наприклад, обидві наведені нижче формули повертають значення БРЕХНЯ:

    =NOT(TRUE)

    =NOT(2*2=4)

    Навіщо отримувати такі смішні результати? У деяких випадках вам може бути цікавіше знати, коли певна умова не виконується, ніж коли виконується. Наприклад, переглядаючи список одягу, ви можете захотіти виключити якийсь колір, який вам не підходить. Я не дуже люблю чорний колір, тому я продовжую цю формулу:

    =NOT(C2="black")

    Як завжди, в Microsoft Excel існує не один спосіб зробити щось, і можна досягти одного і того ж результату, використовуючи оператор Не дорівнює: =C2 "black".

    Якщо ви хочете перевірити кілька умов в одній формулі, ви можете використовувати NOT в сполученнях з функцією AND або OR. Наприклад, якщо ви хочете виключити чорний і білий кольори, формула буде виглядати так:

    =NOT(OR(C2="black", C2="white"))

    І якщо ви не бажаєте мати чорне пальто, а чорну куртку або шубу на спині можна розглядати, то слід використовувати НЕ в поєднанні з функцією Excel AND:

    =NOT(AND(C2="black", B2="coat"))

    Іншим поширеним застосуванням функції NOT в Excel є зворотна поведінка деякої іншої функції. Наприклад, ви можете об'єднати функції NOT і ISBLANK, щоб створити формулу ISNOTBLANK, якої не вистачає Microsoft Excel.

    Як відомо, формула =ISBLANK(A2) повертає значення ІСТИНА, якщо комірка A2 пуста. Функція NOT може змінити цей результат на ЛОЖЬ: =NOT(ISBLANK(A2))

    А потім можна зробити крок далі і створити вкладений оператор IF з функціями NOT / ISBLANK для реальної задачі:

    =IF(NOT(ISBLANK(C2)), C2*0.15, "Без бонусу :(")

    У перекладі на просту англійську мову формула говорить Excel, що потрібно зробити наступне. Якщо комірка С2 не порожня, помножити число в С2 на 0,15, що дасть 15% бонус кожному продавцю, який здійснив додаткові продажі. Якщо С2 порожня, з'являється текст "No bonus :(".

    По суті, це і є використання логічних функцій в Excel. Звичайно, ці приклади лише поверхнево торкнулися можливостей AND, OR, XOR і NOT. Знаючи основи, тепер ви можете розширити свої знання, вирішуючи реальні завдання і пишучи розумні складні формули для своїх робочих аркушів.

    Майкл Браун — відданий ентузіаст технологій із пристрастю до спрощення складних процесів за допомогою програмних засобів. Маючи понад десятирічний досвід роботи в технологічній індустрії, він відточив свої навички роботи з Microsoft Excel і Outlook, а також із Google Таблицями та Документами. Блог Майкла присвячений тому, щоб поділитися своїми знаннями та досвідом з іншими, надаючи прості поради та навчальні посібники для підвищення продуктивності та ефективності. Незалежно від того, чи є ви досвідченим професіоналом чи початківцем, блог Майкла пропонує цінну інформацію та практичні поради щодо отримання максимальної користі від цих основних програмних інструментів.