Как добавить «ИЛИ» в Excel: функции, фильтры и скрытые возможности

Логический оператор «ИЛИ» в Microsoft Excel — это один из самых востребованных инструментов для анализа данных. Он позволяет проверять несколько условий одновременно и возвращает ИСТИНА, если хотя бы одно из них выполняется. Без этого оператора невозможно построить гибкие фильтры, сложные формулы условного форматирования или автоматизировать обработку таблиц с альтернативными критериями.

Многие пользователи ошибочно думают, что «ИЛИ» в Excel работает так же, как в разговорной речи — но на практике его применение имеет нюансы. Например, в формулах он записывается как функция ИЛИ(), а в фильтрах используется иначе. Кроме того, существуют скрытые способы комбинирования «ИЛИ» с другими операторами (И, НЕ), которые открывают новые возможности для анализа данных. В этой статье мы разберём все варианты — от базовых до продвинутых, включая малоизвестные приёмы для Excel 365 и Google Sheets.

Если вы когда-нибудь сталкивались с задачей типа «выделить ячейки, где значение больше 100 ИЛИ содержит слово "срочно"», но не знали, как это реализовать — эта инструкция для вас. Мы покажем не только стандартные методы, но и обходные пути для старых версий Excel, где функции ограничены.

📊 Какую версию Excel вы используете?
Excel 2010 или старше
Excel 2013-2019
Excel 365 (или Excel 2021)
Google Sheets

1. Функция ИЛИ() — базовый синтаксис и примеры

Функция ИЛИ() входит в категорию логических функций и проверяет, выполняется ли хотя бы одно из перечисленных условий. Её синтаксис прост:

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

Где логическое_значение — это любое выражение, которое может быть истинным (ИСТИНА) или ложным (ЛОЖЬ). Например, сравнения (A1>10), ссылки на ячейки с булевыми значениями или даже другие функции (ЕСЛИ(), ЕПУСТО()).

Примеры использования:

  • 📌 =ИЛИ(A1>100; A1<10) — вернёт ИСТИНА, если значение в A1 больше 100 или меньше 10.
  • 📌 =ИЛИ(B2="Да"; B2="Нет") — проверит, содержит ли ячейка B2 одно из двух слов.
  • 📌 =ИЛИ(ЕПУСТО(C3); C3=0) — вернёт ИСТИНА, если ячейка C3 пустая или равна нулю.

Важно: функция ИЛИ() возвращает ЛОЖЬ только в том случае, если все переданные условия ложны. Это ключевое отличие от функции И(), которая требует выполнения всех условий.

2. «ИЛИ» в условном форматировании

Условное форматирование позволяет визуально выделять ячейки, соответствующие заданным критериям. Чтобы применить правило «ИЛИ», нужно использовать формулу в настройках правила. Например, чтобы выделить ячейки в диапазоне A1:A100, где значения больше 50 или содержат текст "приоритет":

  1. Выделите диапазон A1:A100.
  2. Перейдите на вкладку Главная → Условное форматирование → Создать правило.
  3. Выберите тип правила «Использовать формулу для определения форматируемых ячеек».
  4. Введите формулу:
    =ИЛИ(A1>50; НЕ(ЕОШИБКА(НАЙТИ("приоритет"; A1))))
  5. Задайте нужный формат (например, красный фон) и нажмите «OK».

Обратите внимание на функцию НАЙТИ() — она возвращает ошибку, если текст не найден, поэтому мы оборачиваем её в НЕ(ЕОШИБКА()), чтобы получить логическое значение.

Почему не работает формула с ЕСЛИ в условном форматировании?

Функция ЕСЛИ() возвращает значение, а не логический результат (ИСТИНА/ЛОЖЬ). В условном форматировании можно использовать только выражения, которые возвращают ИСТИНА или ЛОЖЬ. Например, вместо =ЕСЛИ(A1>10; 1; 0) нужно писать просто =A1>10.

3. «ИЛИ» в фильтрах и расширенном фильтре

В стандартных фильтрах Excel оператор «ИЛИ» реализуется через меню «Текстовые фильтры» или «Числовые фильтры». Например, чтобы отфильтровать строки, где значение в столбце B равно «Да» или «Подтверждено»:

  1. Выделите заголовок столбца B.
  2. Нажмите на стрелку фильтра и выберите «Текстовые фильтры → Настраиваемый фильтр».
  3. В первом поле выберите «равно», введите «Да».
  4. Во втором поле выберите «или», затем «равно», введите «Подтверждено».

Для расширенного фильтра (например, когда нужно отфильтровать данные по нескольким столбцам с условием «ИЛИ») потребуется создать критериальный диапазон. Например, чтобы выбрать строки, где в столбце A значение «Мск» или в столбце B значение «>1000»:

Критерий 1Критерий 2
AМск
B>1000

Затем перейдите в Данные → Расширенный фильтр и укажите этот диапазон как «Диапазон условий».

4. Комбинация «ИЛИ» с другими функциями

Оператор «ИЛИ» часто используется вместе с ЕСЛИ(), И(), СУММЕСЛИМН() и другими функциями для создания сложных логических конструкций. Рассмотрим несколько практических примеров:

Пример 1: «ЕСЛИ» + «ИЛИ»

Формула возвращает «Принято», если в ячейке A1 значение «Да» или «Одобрено», иначе «Отклонено»:

=ЕСЛИ(ИЛИ(A1="Да"; A1="Одобрено"); "Принято"; "Отклонено")

Пример 2: «И» + «ИЛИ»

Проверяем, выполняются ли одновременно два условия: значение в B1 больше 100 И (значение в C1 равно «Высокий» ИЛИ «Критический»):

=И(B1>100; ИЛИ(C1="Высокий"; C1="Критический"))

Пример 3: «СУММЕСЛИМН» с «ИЛИ»

Функция СУММЕСЛИМН() не поддерживает «ИЛИ» напрямую, но можно обойти это ограничение с помощью вспомогательного столбца или формулы массива (в Excel 365):

=СУММ(ЕСЛИ((A2:A10="Да")+(A2:A10="Нет"); B2:B10; 0))

Эта формула суммирует значения из диапазона B2:B10, если соответствующие ячейки в A2:A10 равны «Да» или «Нет».

Убедитесь, что все скобки закрыты правильно|Проверьте порядок аргументов в функциях|Используйте F9 для отладки частей формулы|Тестируйте формулу на крайних значениях (ноль, пустые ячейки, ошибки)-->

5. «ИЛИ» в Power Query и Power Pivot

В Power Query (инструмент для импорта и преобразования данных) оператор «ИЛИ» реализуется через язык M. Например, чтобы отфильтровать строки, где значение в столбце «Status» равно «Active» или «Pending», используйте:

= Table.SelectRows(Источник, each ([Status] = "Active" or [Status] = "Pending"))

В Power Pivot (модель данных Excel) логика «ИЛИ» применяется в мерах DAX. Например, мера для подсчёта строк, где «Sales» > 1000 или «Region» равно «East»:


CountHighSalesOrEast =

CALCULATE(

COUNTROWS(Таблица),

OR(

Таблица[Sales] > 1000,

Таблица[Region] = "East"

)

)

Обратите внимание: в DAX оператор «ИЛИ» записывается как OR(), а не ИЛИ(), как в обычных формулах Excel.

6. Альтернативы функции ИЛИ()

В некоторых случаях функцию ИЛИ() можно заменить другими подходами, которые работают быстрее или подходят для специфических задач:

1. Оператор «+» для числовых условий

Если условия возвращают 1 (истина) или 0 (ложь), их можно сложить. Например:

=ЕСЛИ((A1>10)+(B1<5)>0; "Да"; "Нет")

Эта формула вернёт «Да», если хотя бы одно из условий истинно.

2. Функция СУММПРОИЗВ()

Полезна для проверки нескольких условий в массиве:

=ЕСЛИ(СУММПРОИЗВ(--(A1:A10>10); --(B1:B10="Да"))>0; "Есть совпадения"; "Нет")

3. Функция ВЫБОР() для текстовых значений

Если нужно проверить принадлежность значения к списку, можно использовать:

=ЕСЛИ(СУММ(--(A1={"Да";"Нет";"Может быть"}))>0; "Допустимое значение"; "Недопустимо")

4. Регулярные выражения (в Excel 365)

С появлением функций ТЕКСТРАЗД() и РЕГВЫРАЖ() в Excel 365 можно использовать регулярные выражения для сложных текстовых проверок. Например, чтобы найти ячейки, содержащие «urgent» или «asap» (независимо от регистра):

=ЕСЛИ(РЕГВЫРАЖ.НАЙТИ(A1; "(?i)urgent|asap"); "Срочно"; "Обычный")
Почему СУММПРОИЗВ() быстрее, чем ИЛИ() в больших массивах?

Функция СУММПРОИЗВ() оптимизирована для работы с массивами и выполняет вычисления в памяти, тогда как ИЛИ() обрабатывает каждый аргумент последовательно. В таблицах с тысячами строк разница в производительности может быть заметна.

7. Распространённые ошибки и как их избежать

При работе с оператором «ИЛИ» пользователи часто сталкиваются с типичными ошибками, которые ведут к некорректным результатам. Вот самые частые из них:

Ошибка 1: Пустые ячейки в условиях

Формула =ИЛИ(A1=10; A1="") вернёт ЛОЖЬ, если A1 пустая, потому что пустая ячейка не равна тексту "". Правильный вариант:

=ИЛИ(A1=10; ЕПУСТО(A1))

Ошибка 2: Неправильный порядок аргументов в «ЕСЛИ»

В формуле =ЕСЛИ(ИЛИ(A1>10; B1<5); "Да"; "Нет") часто путают местами блоки условий и результатов. Помните: сначала условие, затем значение_если_истина, затем значение_если_ложь.

Ошибка 3: Использование «ИЛИ» в массивах без Ctrl+Shift+Enter

В старых версиях Excel формулы массива (например, с ИЛИ() для диапазона) требуют подтверждения клавишами Ctrl+Shift+Enter. В Excel 365 это не нужно, но в Excel 2019 и ниже забывают об этом, и формула работает некорректно.

Ошибка 4: Логические ловушки с «И» и «ИЛИ»

Выражение =И(ИЛИ(A1>10; A1<5); B1="Да") не эквивалентно =ИЛИ(И(A1>10; B1="Да"); И(A1<5; B1="Да")). В первом случае проверяется, что хотя бы одно условие из A1 И B1="Да", а во втором — что либо A1>10 и B1="Да", либо A1<5 и B1="Да".

8. «ИЛИ» в Google Sheets: отличия от Excel

В Google Sheets функция ИЛИ() работает аналогично Excel, но есть несколько нюансов:

  • 📌 В Google Sheets можно использовать до 30 условий в одной функции OR() (англ. версия), тогда как в Excel — до 255.
  • 📌 Для регулярных выражений используется функция REGEXMATCH(), которая возвращает ИСТИНА/ЛОЖЬ и хорошо сочетается с OR():
    =OR(REGEXMATCH(A1; "urgent|asap"))
  • 📌 В условном форматировании Google Sheets поддерживает формулы с OR() так же, как Excel, но синтаксис должен быть на английском.

В Google Sheets нет функции СУММЕСЛИМН(), но её аналог — SUMIFS() — также не поддерживает «ИЛИ». Для обхода ограничения используйте формулу массива с FILTER():

=SUM(FILTER(B2:B10; (A2:A10="Да")+(A2:A10="Нет")))
=QUERY(A2:B10; "SELECT A, B WHERE A = 'Да' OR B > 100")
-->

FAQ: Частые вопросы по оператору «ИЛИ» в Excel

Можно ли использовать «ИЛИ» для проверки диапазона ячеек?

Нет, функция ИЛИ() не работает с диапазонами напрямую. Например, =ИЛИ(A1:A10>10) вернёт ошибку. Чтобы проверить, есть ли в диапазоне хотя бы одно значение >10, используйте:

=МАКС(A1:A10)>10

или (для текстовых значений):

=СЧЁТЕСЛИ(A1:A10; ">10")>0
Как записать «ИЛИ» в формуле массива для старого Excel?

В Excel 2010-2019 для проверки условия «ИЛИ» в массиве нужно использовать конструкцию с двойным отрицанием (--) и подтверждать формулу Ctrl+Shift+Enter. Пример:

{=ЕСЛИ(СУММ(--(ИЛИ(A1:A10>10; B1:B10="Да")))>0; "Есть совпадения"; "Нет")}

В Excel 365 фигурные скобки не нужны — формула работает как динамический массив.

Почему моя формула с «ИЛИ» возвращает #ЗНАЧ!?

Ошибка #ЗНАЧ! обычно возникает, если:

  • 🔹 В формуле переданы аргументы разных типов (например, текст и число без явного сравнения).
  • 🔹 Используется диапазон вместо отдельных ячеек (например, ИЛИ(A1:A5>10)).
  • 🔹 В условном форматировании неверно указана ссылка (например, =ИЛИ(A1>10) вместо =ИЛИ($A1>10) для применения ко всему столбцу).

Проверьте каждый аргумент функции отдельно с помощью F9 (выделение части формулы и нажатие F9 покажет её результат).

Как заменить «ИЛИ» на «И» в готовом файле?

Если в файле много формул с ИЛИ(), и их нужно заменить на И(), используйте поиск и замену (Ctrl+H), но будьте осторожны:

  • 🔹 Заменяйте только в формулах, а не во всём документе (выделите диапазон с формулами).
  • 🔹 Проверьте логику после замены — И() требует выполнения всех условий, а не хотя бы одного.
  • 🔹 Для сложных формул лучше вручную редактировать каждую, чтобы избежать ошибок.
Работает ли «ИЛИ» в сводных таблицах?

В сводных таблицах нельзя напрямую использовать ИЛИ() для фильтрации данных. Однако можно:

  • 🔹 Добавить вычисляемое поле с формулой, содержащей ИЛИ(), а затем фильтровать по нему.
  • 🔹 Использовать сегменты данных (slicers) с несколькими выбранными значениями — это эквивалент «ИЛИ».
  • 🔹 Применить Power Query для предварительной фильтрации данных перед созданием сводной таблицы.