В Microsoft Excel функция «ИЛИ» (англ. OR) — это один из ключевых инструментов для работы с логическими выражениями. Она позволяет проверять несколько условий одновременно и возвращает ИСТИНА, если хотя бы одно из них выполняется. Без этой функции невозможно построить сложные фильтры, автоматизировать расчёты или создать динамические отчёты. Но как именно её поставить в таблицу, если вы никогда раньше не работали с логикой в Excel?
Многие пользователи путают ИЛИ с функцией И (AND), которая, напротив, требует выполнения всех условий. Или пытаются вручную перечислять условия через запятую, что приводит к ошибкам. В этой статье мы разберём не только базовый синтаксис, но и скрытые возможности функции, которые экономят часы работы: например, как использовать ИЛИ внутри ЕСЛИ или комбинировать её с другими функциями для обработки больших массивов данных.
Что такое функция «ИЛИ» и зачем она нужна
Функция ИЛИ относится к категории логических и проверяет, выполняется ли хотя бы одно из перечисленных условий. Результат её работы — всегда ИСТИНА (TRUE) или ЛОЖЬ (FALSE). Например, если вы хотите найти в таблице сотрудников тех, кто работает в Москве или в Санкт-Петербурге, ИЛИ поможет сделать это в одну формулу.
Где применяется функция:
- 📊 Фильтрация данных: отбор строк по нескольким критериям (например, товары с ценой < 1000 или остатком на складе > 50).
- 📈 Условное форматирование: выделение ячеек, если они соответствуют одному из условий (например, красным цветом — просроченные заказы или отменённые).
- 🤖 Автоматизация отчётов: создание динамических формул, которые реагируют на изменения в нескольких столбцах.
- 🔍 Поиск ошибок: проверка данных на соответствие хотя бы одному из допустимых значений.
Без ИЛИ пришлось бы писать громоздкие конструкции с вложенными ЕСЛИ или обрабатывать данные в несколько этапов. Например, вместо:
=ЕСЛИ(А1="Да";"Подходит";ЕСЛИ(А1="Одобрено";"Подходит";"Не подходит"))
можно использовать:
=ЕСЛИ(ИЛИ(А1="Да";А1="Одобрено");"Подходит";"Не подходит")
Синтаксис функции «ИЛИ»: как правильно писать
Базовый синтаксис функции:
ИЛИ(логическое_значение1; [логическое_значение2];...)
Где:
- 📌
логическое_значение1— обязательный аргумент (условие, которое проверяется). - 📌
[логическое_значение2]— необязательные дополнительные условия (можно указать до 255 аргументов).
Каждое логическое_значение может быть:
- 🔢 Выражением:
A1>100,B2="Да". - 📋 Ссылкой на ячейку, содержащую
ИСТИНА/ЛОЖЬ. - 🔄 Другой функцией, возвращающей логическое значение (например,
ЕПУСТО(A1)).
Примеры корректного использования:
| Формула | Описание | Результат |
|---|---|---|
=ИЛИ(А1>10; А1<5) |
Проверяет, находится ли значение в A1 вне диапазона 5–10. |
ИСТИНА, если A1=3 или A1=15. |
=ИЛИ(B2="Да"; B2="Одобрено"; B2="Готово") |
Проверяет, содержит ли ячейка B2 одно из трёх значений. |
ИСТИНА, если B2="Готово". |
=ИЛИ(ЕПУСТО(C1); C1=0) |
Проверяет, пустая ли ячейка C1 или равна нулю. |
ИСТИНА, если C1 пуста. |
Как вставить «ИЛИ» в Excel: пошаговая инструкция
Добавить функцию ИЛИ можно тремя способами: вручную, через мастер функций или с помощью горячих клавиш. Разберём каждый вариант.
Способ 1: Ручной ввод
Если вы знаете синтаксис, проще всего ввести формулу в ячейку:
- Выделите ячейку, где должен появиться результат.
- Введите знак
=и начните писатьИЛИ((илиOR(для английской версии). - Перечислите условия через точку с запятой (
;), например:=ИЛИ(A1>100; B1="Да"). - Закройте скобку и нажмите
Enter.
Способ 2: Мастер функций
Для новичков удобнее использовать встроенный мастер:
- Выделите целевую ячейку и нажмите кнопку
fx(слева от строки формул). - В категории «Логические» выберите
ИЛИ(илиOR). - Введите условия в поля
Логическое_значение1,Логическое_значение2и т. д. - Нажмите
ОК.
Способ 3: Горячие клавиши
Для ускорения работы:
- 🔹 Нажмите
Shift + F3, чтобы открыть мастер функций. - 🔹 Или используйте
Alt + M + L(в английской версии Excel), чтобы сразу выбрать категорию логических функций.
Убедитесь, что все условия разделены точкой с запятой (;)
Закрыты все открытые скобки
Ссылки на ячейки не содержат ошибок (например, #ЗНАЧ!)
Формула возвращает ожидаемый результат (ИСТИНА/ЛОЖЬ)-->
Примеры использования «ИЛИ» в реальных задачах
Разберём практические кейсы, где функция ИЛИ незаменима.
Пример 1: Фильтрация данных
Допустим, у вас есть таблица с заказами, и нужно выделить строки, где статус «Отменён» или «Возврат». Формула для условного форматирования:
=ИЛИ($D2="Отменён"; $D2="Возврат")
Где $D2 — столбец со статусами. Примените эту формулу ко всему диапазону данных, и Excel автоматически выделит нужные строки.
Пример 2: Комбинирование с «ЕСЛИ»
Часто ИЛИ используется внутри ЕСЛИ для сложных проверок. Например, чтобы присвоить бонус клиентам из Москвы или тем, кто сделал заказ на сумму > 5000:
=ЕСЛИ(ИЛИ(B2="Москва"; C2>5000);"Бонус 10%";"Бонус 5%")
Пример 3: Проверка нескольких условий в одной ячейке
Если нужно убедиться, что ячейка содержит одно из допустимых значений (например, «Да», «Нет» или «Неизвестно»), используйте:
=ИЛИ(A1="Да"; A1="Нет"; A1="Неизвестно")
Эта формула вернёт ИСТИНА, если в A1 одно из перечисленных значений, и ЛОЖЬ — если нет.
Что делать, если условий больше 255?
Если вам нужно проверить более 255 условий (максимум для одной функции ИЛИ), разбейте их на группы. Например:
=ИЛИ(ИЛИ(условие1;условие2;...;условие255); ИЛИ(условие256;условие257;...))
Либо используйте массивы или функцию СУММПРОИЗВ для сложных проверок.
Типичные ошибки и как их избежать
Даже опытные пользователи иногда допускают ошибки при работе с ИЛИ. Вот самые распространённые:
⚠️ Внимание: Если в формуле используется текст (например,"Да"), убедитесь, что регистр совпадает с данными в ячейке. ФункцияИЛИчувствительна к регистру:"да"≠"Да".
Ошибка #1: Пропущенные скобки
Забытая скобка — самая частая причина ошибки #ИМЯ?. Например:
=ИЛИ(A1>10; B1<5 // ← отсутствует закрывающая скобка
Excel не поймёт, где заканчивается формула. Всегда проверяйте баланс скобок!
Ошибка #2: Неправильные разделители
В русскоязычной версии Excel аргументы разделяются точкой с запятой (;), а не запятой (,). Если вы скопируете формулу из англоязычного источника, замените запятые на точки с запятой:
=OR(A1>10, B1<5) // → ОШИБКА
=ИЛИ(A1>10; B1<5) // → ПРАВИЛЬНО
Ошибка #3: Ссылки на пустые ячейки
Если в условии используется пустая ячейка (например, =ИЛИ(A1>10; B1), где B1 пуста), Excel воспримет её как 0 (ноль). Это может исказить результат. Чтобы избежать проблемы, явно проверяйте пустые значения:
=ИЛИ(A1>10; НЕ(ЕПУСТО(B1)))
Ошибка #4: Логические ловушки
Помните, что ИЛИ возвращает ИСТИНА, если хотя бы одно условие истинно. Иногда это приводит к неожиданным результатам. Например:
=ИЛИ(A1>100; A1<0) // Вернёт ИСТИНА, если A1=-5 или A1=200
Если вам нужно, чтобы выполнялись все условия, используйте И (AND).
Секреты и продвинутые приёмы
Функция ИЛИ кажется простой, но у неё есть скрытые возможности, которые знают немногие.
Приём 1: Использование с массивами
Вы можете проверять условия для целого диапазона ячеек без перечисления каждой. Например, чтобы найти любое значение >100 в диапазоне A1:A10:
=ИЛИ(A1:A10>100)
Введите эту формулу как формулу массива (в новых версиях Excel она работает автоматически, в старых — нажмите Ctrl + Shift + Enter).
Приём 2: Комбинирование с «ЕСЛИОШИБКА»
Если одно из условий может вызвать ошибку (например, деление на ноль), оберните ИЛИ в ЕСЛИОШИБКА:
=ЕСЛИОШИБКА(ИЛИ(A1/B1>2; B1=0); ЛОЖЬ)
Эта формула вернёт ЛОЖЬ, если B1=0 (чтобы избежать ошибки деления).
Приём 3: Динамические диапазоны
С помощью ИЛИ и ИНДЕКС/ПОИСКПОЗ можно создавать динамические фильтры. Например, чтобы проверить, содержится ли значение из A1 в списке D1:D10:
=ИЛИ(A1=D1:D10)
Эта формула вернёт ИСТИНА, если A1 совпадает хотя бы с одной ячейкой в диапазоне D1:D10.
Приём 4: Логические операции с датами
Функция ИЛИ отлично работает с датами. Например, чтобы проверить, попадает ли дата в A1 в выходные:
=ИЛИ(ДЕНЬНЕД(A1)=7; ДЕНЬНЕД(A1)=1)
Где 7 — воскресенье, 1 — понедельник (в некоторых локалях нумерация может отличаться).
Альтернативы функции «ИЛИ»
В некоторых случаях ИЛИ можно заменить другими функциями или подходами.
Альтернатива 1: Функция «ЕСЛИ» с вложенными условиями
Если условий мало (2–3), иногда проще обойтись без ИЛИ:
=ЕСЛИ(A1="Да";"Подходит"; ЕСЛИ(A1="Одобрено";"Подходит";"Не подходит"))
Но при большом количестве условий такой подход делает формулу громоздкой.
Альтернатива 2: Функция «СУММПРОИЗВ»
Для проверки условий в массивах СУММПРОИЗВ может быть эффективнее:
=--(СУММПРОИЗВ(--(A1:A10>100))>0)
Эта формула вернёт ИСТИНА, если хотя бы одна ячейка в A1:A10 больше 100. Двойной унарный минус (--) преобразует ИСТИНА/ЛОЖЬ в 1/0.
Альтернатива 3: Условное форматирование без формул
Если вам нужно просто выделить ячейки по нескольким критериям, используйте встроенные правила условного форматирования:
- Выделите диапазон.
- Перейдите на вкладку
Главная → Условное форматирование → Создать правило. - Выберите
Форматировать только ячейки, которые содержат. - Задайте несколько правил с оператором «или» (в новых версиях Excel).
Альтернатива 4: Power Query
Для сложной фильтрации больших данных удобнее использовать Power Query (вкладка Данные → Получение данных). Там можно создавать условия с оператором OR в визуальном редакторе без формул.
FAQ: Частые вопросы о функции «ИЛИ»
Можно ли использовать ИЛИ вместе с И в одной формуле?
Да, функции ИЛИ и И можно комбинировать. Например:
=ЕСЛИ(И(ИЛИ(A1>10; A1<0); B1="Да");"Подходит";"Не подходит")
Эта формула проверяет, выполняется ли одновременно два условия: A1 вне диапазона 0–10 и B1 равно «Да».
Как проверить, содержится ли текст в ячейке с помощью ИЛИ?
Используйте функцию ПОИСК или НАЙТИ внутри ИЛИ:
=ИЛИ(НЕ(ЕОШ(ПОИСК("текст1"; A1))); НЕ(ЕОШ(ПОИСК("текст2"; A1))))
Эта формула вернёт ИСТИНА, если в A1 содержится «текст1» или «текст2».
Почему ИЛИ возвращает ошибку #ЗНАЧ!?
Ошибка #ЗНАЧ! возникает, если:
- 🔸 В формуле есть опечатка (например,
ИЛИИвместоИЛИ). - 🔸 Аргумент функции — текст, который Excel не может интерпретировать как логическое значение (например,
=ИЛИ("Привет")). - 🔸 Ссылка на ячейку содержит ошибку (например,
#ДЕЛ/0!).
Проверьте каждый аргумент отдельно, чтобы найти проблему.
Можно ли использовать ИЛИ в Google Таблицах?
Да, в Google Sheets функция OR работает аналогично, но использует запятые как разделители:
=OR(A1>10, B1="Да")
Также в Google Таблицах есть функция REGEXMATCH, которая может заменить ИЛИ для проверки текста по регулярным выражениям.
Как оптимизировать формулы с большим количеством ИЛИ?
Если в формуле десятки условий, она становится медленной. Оптимизируйте её так:
- 🔹 Разбивайте условия на группы и используйте промежуточные вычисления.
- 🔹 Заменяйте
ИЛИнаСУММПРОИЗВдля работы с массивами. - 🔹 Используйте именованные диапазоны для удобства.
- 🔹 Для статических данных создайте справочную таблицу и используйте
ВПРилиПРОСМОТР.