Функция ИЛИ() в MS EXCEL

Функция ИЛИ(), английский вариант OR(), проверяет на истинность условия и возвращает ИСТИНА если хотя бы одно условие истинно или ЛОЖЬ если все условия ложны.

Синтаксис функции

ИЛИ(логическое_значение1; [логическое_значение2]; ...)

логическое_значение1   — любое значение или выражение, принимающее значения ИСТИНА или ЛОЖЬ.
=ИЛИ(A1>100;A2>100)
Т.е. если хотя бы в одной ячейке (в A1 или A2) содержится значение больше 100, то формула вернет ИСТИНА, а если в обоих ячейках значения <=100, то - ЛОЖЬ.

Другими словами, формула =ИЛИ(ЛОЖЬ;ЛОЖЬ) вернет ЛОЖЬ,
а формулы =ИЛИ(ИСТИНА;ЛОЖЬ) или =ИЛИ(ЛОЖЬ;ИСТИНА) или =И(ИСТИНА;ИСТИНА) или =И(ЛОЖЬ;ЛОЖЬ;ИСТИНА) вернут ИСТИНА.

Функция воспринимает от 1 до 255 проверяемых условий. Понятно, что 1 значение использовать бессмысленно, для этого есть функция ЕСЛИ(). Чаще всего функцией ИЛИ() на истинность проверяется 2-5 условий.

Совместное использование с функцией ЕСЛИ()

Сама по себе функция ИЛИ() имеет ограниченное использование, т.к. она может вернуть только значения ИСТИНА или ЛОЖЬ, чаще всего ее используют вместе с функцией ЕСЛИ():
=ЕСЛИ(ИЛИ(A1>100;A2>100);"Бюджет превышен";"В рамках бюджета")

Т.е. если хотя бы в одной ячейке (в A1 или A2) содержится значение больше 100, то выводится Бюджет превышен, если в обоих ячейках значения <=100, то В рамках бюджета.

Сравнение с функцией И()

Функция И() также может вернуть только значения ИСТИНА или ЛОЖЬ, но, в отличие от ИЛИ(), она возвращает ИСТИНА, только если все ее условия истинны. Чтобы сравнить эти функции составим, так называемую таблицу истинности для И() и ИЛИ().

Эквивалентность функции ИЛИ() операции сложения +

В математических вычислениях EXCEL интерпретирует значение ЛОЖЬ как 0, а ИСТИНА как 1. В этом легко убедиться записав формулы =ИСТИНА+0 и =ЛОЖЬ+0

Следствием этого является возможность альтернативной записи формулы =ИЛИ(A1>100;A2>100) в виде =(A1>100)+(A2>100)
Значение второй формулы будет =0 (ЛОЖЬ), только если оба аргумента ложны, т.е. равны 0. Только сложение 2-х нулей даст 0 (ЛОЖЬ), что совпадает с определением функции ИЛИ().

Эквивалентность функции ИЛИ() операции сложения + часто используется в формулах с Условием ИЛИ, например, для того чтобы сложить только те значения, которые равны 5 ИЛИ равны 10:
=СУММПРОИЗВ((A1:A10=5)+(A1:A10=10)*(A1:A10))

Проверка множества однотипных условий

Предположим, что необходимо сравнить некое контрольное значение (в ячейке B6) с тестовыми значениями из диапазона A6:A9. Если контрольное значение совпадает хотя бы с одним из тестовых, то формула должна вернуть ИСТИНА. Можно, конечно записать формулу
=ИЛИ(A6=B6;A7=B6;A8=B6;A9=B6)
но существует более компактная формула, правда которую нужно ввести как формулу массива (см. файл примера):
=ИЛИ(B6=A6:A9)
(для ввода формулы в ячейку вместо ENTER нужно нажать CTRL+SHIFT+ENTER)

Вместо диапазона с тестовыми значениями можно также использовать константу массива:
=ИЛИ(A18:A21>{1:2:3:4})

В случае, если требуется организовать попарное сравнение списков, то можно записать следующую формулу:
=ИЛИ(A18:A21>=B18:B21)

Если хотя бы одно значение из Списка 1 больше или равно (>=) соответствующего значения из Списка 2, то формула вернет ИСТИНА.

Связанные статьи

Похожие задачи
Прочитайте другие статьи, решающие похожие задачи в MS Excel. Это позволит Вам решать широкий класс подобных задач.
Средняя: 4.2 (5 оценок)