Логические функции в Excel: AND, OR, XOR и NOT

  • Поделись Этим
Michael Brown

В учебнике объясняется суть логических функций Excel AND, OR, XOR и NOT и приводятся примеры формул, демонстрирующие их обычное и изобретательное применение.

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

    Логические функции Excel - обзор

    Microsoft Excel предоставляет 4 логические функции для работы с логическими значениями. Это функции AND, OR, XOR и NOT. Вы используете эти функции, когда хотите провести более одного сравнения в формуле или проверить несколько условий вместо одного. Как и логические операторы, логические функции Excel возвращают либо TRUE, либо FALSE при оценке своих аргументов.

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

    Функция Описание Пример формулы Описание формулы
    И Возвращает TRUE, если все аргументы имеют значение TRUE. =AND(A2>=10, B2<5) Формула возвращает TRUE, если значение в ячейке A2 больше или равно 10, а значение в B2 меньше 5, FALSE в противном случае.
    ИЛИ Возвращает TRUE, если любой аргумент оценивается как TRUE. =OR(A2>=10, B2<5) Формула возвращает TRUE, если A2 больше или равно 10 или B2 меньше 5, или выполняются оба условия. Если ни одно из условий не выполняется, формула возвращает FALSE.
    XOR Возвращает логическое исключающее "или" всех аргументов. =XOR(A2>=10, B2<5) Формула возвращает TRUE, если либо A2 больше или равно 10, либо B2 меньше 5. Если ни одно из условий не выполнено или оба условия выполнены, формула возвращает FALSE.
    НЕ Возвращает обратное логическое значение своего аргумента. Т.е. если аргумент FALSE, то возвращается TRUE и наоборот. =NOT(A2>=10) Формула возвращает FALSE, если значение в ячейке A1 больше или равно 10; TRUE в противном случае.

    В дополнение к четырем логическим функциям, описанным выше, Microsoft Excel предоставляет 3 "условные" функции - IF, IFERROR и IFNA.

    Логические функции Excel - факты и цифры

    1. В качестве аргументов логических функций можно использовать ссылки на ячейки, числовые и текстовые значения, булевы значения, операторы сравнения и другие функции Excel. Однако все аргументы должны оцениваться в булевы значения TRUE или FALSE, либо ссылки или массивы, содержащие логические значения.
    2. Если аргумент логической функции содержит какой-либо пустые ячейки Если все аргументы - пустые ячейки, формула возвращает ошибку #VALUE!
    3. Если аргумент логической функции содержит числа, то ноль оценивается как FALSE, а все остальные числа, включая отрицательные, оцениваются как TRUE. Например, если ячейки A1:A5 содержат числа, то формула =AND(A1:A5) вернет TRUE, если ни одна из ячеек не содержит 0, и FALSE в противном случае.
    4. Логическая функция возвращает ошибку #VALUE!, если ни один из аргументов не является логическим значением.
    5. Логическая функция возвращает ошибку #NAME?, если вы неправильно написали имя функции или пытались использовать функцию в более ранней версии Excel, которая ее не поддерживает. Например, функцию XOR можно использовать только в Excel 2016 и 2013.
    6. В Excel 2007 и выше вы можете включить в логическую функцию до 255 аргументов, при условии, что общая длина формулы не превышает 8 192 символов. В Excel 2003 и ниже вы можете ввести до 30 аргументов, а общая длина вашей формулы не должна превышать 1 024 символов.

    Использование функции AND в Excel

    Функция AND - самый популярный представитель семейства логических функций. Она может пригодиться, когда нужно проверить несколько условий и убедиться, что все они выполнены. Технически функция AND проверяет указанные вами условия и возвращает TRUE, если все условия оцениваются как TRUE, и FALSE в противном случае.

    Синтаксис функции AND в Excel следующий:

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

    Где logical - это условие, которое вы хотите проверить и которое может быть оценено как TRUE или FALSE. Первое условие (logical1) является обязательным, последующие условия необязательны.

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

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

    Функция AND в Excel - общие случаи использования

    Сама по себе функция Excel AND не очень интересна и имеет узкую полезность. Но в сочетании с другими функциями Excel AND может значительно расширить возможности ваших рабочих листов.

    Одно из самых распространенных применений функции И в Excel - это использование в аргументе logical_test функции ЕСЛИ для проверки нескольких условий вместо одного. Например, вы можете вложить любую из функций И внутри функции ЕСЛИ и получить результат, подобный этому:

    =IF(AND(A2="Бананы", B2>C2), "Хорошо", "Плохо")

    Другие примеры формул IF / AND смотрите в учебнике: Функция Excel IF с несколькими условиями AND.

    Формула Excel для условия BETWEEN

    Если вам нужно создать формулу "между" в 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 с текстовыми значениями.

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

    Но что если вы хотите, чтобы ваша формула между работала правильно независимо от того, где находятся нижняя и верхняя границы? В этом случае используйте функцию Excel MEDIAN, которая возвращает медиану заданных чисел (т.е. число в середине набора чисел).

    Так, если заменить AND в логическом тесте функции IF на MEDIAN, формула будет выглядеть следующим образом:

    =IF(A2=MEDIAN(A2:C2), "Да", "Нет")

    И вы получите следующие результаты:

    Как видите, функция MEDIAN отлично работает для чисел и дат, но возвращает ошибку #NUM! для текстовых значений. Увы, никто не совершенен : )

    Если вам нужна идеальная формула Between, которая работает как для текстовых значений, так и для чисел и дат, то вам придется построить более сложный логический текст с использованием функций AND / OR, например, так:

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

    Использование функции ИЛИ в Excel

    Как и AND, функция ИЛИ в Excel является базовой логической функцией, которая используется для сравнения двух значений или утверждений. Разница в том, что функция ИЛИ возвращает TRUE, если хотя бы один из аргументов оценивается как TRUE, и возвращает FALSE, если все аргументы являются FALSE. Функция ИЛИ доступна во всех версиях Excel 2016 - 2000.

    Синтаксис функции ИЛИ в Excel очень похож на И:

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

    Где логическое - это то, что вы хотите проверить, которое может быть либо ИСТИНОЙ, либо ЛОЖЬЮ. Первое логическое условие обязательно, дополнительные условия (до 255 в современных версиях Excel) необязательны.

    А теперь давайте запишем для вас несколько формул, чтобы вы почувствовали, как работает функция OR в 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(OR(B2>30, C2>20), "Хорошо", "Плохо")

    Формула возвращает " Хорошо " если число в ячейке B3 больше 30 или число в ячейке C2 больше 20, " Плохой " в противном случае.

    Функции И / ИЛИ в Excel в одной формуле

    Естественно, ничто не мешает вам использовать обе функции, AND & OR, в одной формуле, если этого требует ваша бизнес-логика. Вариаций таких формул может быть бесконечное множество, которые сводятся к следующим основным шаблонам:

    =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 может быстро показать вам это:

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

    Функция ИЛИ в условном форматировании Excel

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

    Правило с приведенной выше формулой ИЛИ выделяет строки, которые содержат пустую ячейку либо в столбце B или C, либо в обоих.

    Для получения дополнительной информации о формулах условного форматирования см. следующие статьи:

    • Формулы условного форматирования Excel
    • Изменение цвета строки на основе значения ячейки
    • Изменение цвета ячейки на основе значения другой ячейки
    • Как выделить каждую вторую строку в Excel

    Использование функции XOR в Excel

    В Excel 2013 компания Microsoft ввела функцию XOR, которая представляет собой логическую функцию. Эксклюзивный ИЛИ Этот термин, безусловно, знаком тем из вас, кто хоть немного знаком с языком программирования или информатикой в целом. Для тех, кто не знаком, концепция "Исключающее Или" может быть немного сложной для понимания, но, надеюсь, приведенное ниже объяснение, проиллюстрированное примерами формул, поможет вам.

    Синтаксис функции XOR идентичен синтаксису OR :

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

    Первый логический оператор (Логический 1) является обязательным, дополнительные логические значения необязательны. В одной формуле можно проверить до 254 условий, и это могут быть логические значения, массивы или ссылки, которые оцениваются как TRUE или FALSE.

    В самом простом варианте формула XOR содержит всего 2 логических оператора и возврат:

    • TRUE, если любой из аргументов оценивается как TRUE.
    • FALSE, если оба аргумента TRUE или ни один из них не TRUE.

    Это может быть легче понять из примеров формул:

    Формула Результат Описание
    =XOR(1>0, 2<1) TRUE Возвращает TRUE, так как 1-й аргумент равен TRUE, а 2-й аргумент равен FALSE.
    =XOR(1<0, 2<1) FALSE Возвращает FALSE, так как оба аргумента являются FALSE.
    =XOR(1>0, 2>1) FALSE Возвращает FALSE, так как оба аргумента TRUE.

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

    • TRUE, если нечетное число аргументов оценивается как TRUE;
    • FALSE, если общее количество утверждений TRUE четное, или если все утверждения FALSE.

    Приведенный ниже скриншот иллюстрирует этот момент:

    Если вы не уверены, как функция XOR в Excel может быть применена к реальному сценарию, рассмотрите следующий пример. Предположим, у вас есть таблица участников и их результаты первых двух игр. Вы хотите узнать, кто из плательщиков будет играть в третьей игре, исходя из следующих условий:

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

    Простая формула XOR работает именно так, как мы хотим:

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

    А если вы вложите эту функцию XOR в логический тест формулы IF, то получите еще более разумные результаты:

    =IF(XOR(B2="Выиграл", C2="Выиграл"), "Да", "Нет")

    Использование функции НЕ в Excel

    Функция NOT - одна из самых простых функций Excel с точки зрения синтаксиса:

    НЕ(логический)

    Функция NOT используется в Excel для обратного значения аргумента. Другими словами, если логическая оценка равна FALSE, функция NOT возвращает TRUE и наоборот. Например, обе приведенные ниже формулы возвращают FALSE:

    =NOT(TRUE)

    =NOT(2*2=4)

    Зачем получать такие нелепые результаты? В некоторых случаях вам может быть интереснее знать, когда определенное условие не выполняется, чем когда оно выполняется. Например, просматривая список нарядов, вы можете захотеть исключить какой-то цвет, который вам не подходит. Я не особенно люблю черный цвет, поэтому я продолжаю эту формулу:

    =NOT(C2="черный")

    Как обычно, в Microsoft Excel существует более одного способа сделать что-то, и вы можете добиться того же результата, используя оператор Not equal to: =C2 "black".

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

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

    И если вы предпочитаете не иметь черное пальто, хотя можно рассмотреть вариант с черной курткой или шубой на спине, следует использовать NOT в сочетании с функцией Excel AND:

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

    Еще одним распространенным использованием функции NOT в Excel является обратное поведение какой-либо другой функции. Например, вы можете объединить функции NOT и ISBLANK, чтобы создать формулу ISNOTBLANK, которой нет в Microsoft Excel.

    Как вы знаете, формула =ISBLANK(A2) возвращает TRUE, если ячейка A2 пуста. Функция NOT может изменить этот результат на FALSE: =NOT(ISBLANK(A2)).

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

    =IF(NOT(ISBLANK(C2)), C2*0.15, "Премии нет :(")

    Если ячейка C2 не пуста, умножьте число в C2 на 0,15, что дает 15% бонус каждому продавцу, совершившему дополнительные продажи. Если C2 пуста, появится текст "No bonus :(".

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

    Майкл Браун — увлеченный технологический энтузиаст, стремящийся упростить сложные процессы с помощью программных инструментов. Имея более чем десятилетний опыт работы в технологической отрасли, он отточил свои навыки в Microsoft Excel и Outlook, а также в Google Sheets и Docs. Блог Майкла посвящен тому, чтобы делиться своими знаниями и опытом с другими, предоставляя простые советы и учебные пособия для повышения производительности и эффективности. Являетесь ли вы опытным профессионалом или новичком, в блоге Майкла вы найдете ценную информацию и практические советы, которые помогут вам максимально эффективно использовать эти важные программные инструменты.