Как в Excel прописать несколько условий ЕСЛИ: от простых до сложных конструкций

Работа с условными операторами в Microsoft Excel — одна из самых востребованных задач при анализе данных. Чаще всего пользователи сталкиваются с необходимостью проверки не одного, а сразу нескольких условий: например, присвоить бонус сотруднику, если он отработал больше 180 часов и выполнил план на 100%, или рассчитать скидку, если клиент сделает заказ на сумму от 5000 рублей или является постоянным покупателем. Стандартная функция ЕСЛИ (IF) в таком случае требует доработки — и здесь начинаются вопросы.

В этой статье мы разберём 5 способов реализации множественных условий в Excel: от классических вложенных ЕСЛИ до комбинаций с функциями И/ИЛИ, а также альтернативных подходов с ВПР, ИНДЕКС-ПОИСКПОЗ и ВЫБОР. Вы узнаете, как избежать ошибок при составлении длинных формул, когда лучше использовать таблицы подстановки вместо логических операторов, и почему в некоторых случаях проще написать ЕСЛИМН (IFS) вместо цепочки из 10 вложенных условий. Все примеры сопровождаются скриншотами и готовыми шаблонами для копирования.

1. Вложенные функции ЕСЛИ: как правильно составить цепочку условий

Самый очевидный способ проверки нескольких условий — вложение функций ЕСЛИ друг в друга. Синтаксис выглядит так:

=ЕСЛИ(условие1; значение_если_истина; ЕСЛИ(условие2; значение_если_истина; значение_если_ложь))

На практике это означает, что если первое условие не выполняется, Excel переходит ко второму, затем к третьему и так далее. Например, для присвоения рейтинга сотрудникам по количеству продаж:

Продажи (шт.)Рейтинг
Меньше 50Низкий
50–100Средний
Больше 100Высокий

Формула будет такой:

=ЕСЛИ(B2>100; "Высокий"; ЕСЛИ(B2>=50; "Средний"; "Низкий"))
⚠️ Внимание: В Excel 2016 и новее максимальное количество вложений — 64 уровня. В старых версиях (2003–2013) лимит — 7 уровней. Превышение приводит к ошибке #ЗНАЧ!.

Чтобы не запутаться в скобках, используйте пошаговое построение:

  1. Напишите первое условие с двумя исходами (истина/ложь).
  2. Вместо значения для "ложь" вставьте новую функцию ЕСЛИ.
  3. Повторяйте шаг 2, пока не переберёте все условия.

Скобки сбалансированы (открывающих = закрывающим)

Каждое условие проверяет уникальный диапазон значений

Последнее значение — для случая, когда ни одно условие не выполнено

Формула не превышает лимит вложений для вашей версии Excel-->

2. Комбинация ЕСЛИ с функциями И/ИЛИ: когда одно условие недостаточно

Если вам нужно проверить несколько условий одновременно (например, "если продажи > 100 и регион = 'Москва'"), используйте функцию И (AND). Для проверки хотя бы одного из условий (например, "если продажи > 100 или клиент — VIP") подойдёт ИЛИ (OR).

Синтаксис:

=ЕСЛИ(И(условие1; условие2); значение_истина; значение_ложь)

=ЕСЛИ(ИЛИ(условие1; условие2); значение_истина; значение_ложь)

Пример: назначить премию 20%, если сотрудник отработал больше 200 часов и его продажи превышают 150 000 рублей:

=ЕСЛИ(И(B2>200; C2>150000); "20%"; "10%")

Альтернатива для случаев, когда достаточно выполнения хотя бы одного условия (например, скидка 15% для пенсионеров или держателей дисконтных карт):

=ЕСЛИ(ИЛИ(D2="Пенсионер"; E2="Да"); "15%"; "5%")
=ЕСЛИ(И(ИЛИ(A2="Москва"; A2="СПб"); B2>100000); "Да"; "Нет")

Здесь проверяется, что город — Москва или Санкт-Петербург, и одновременно сумма заказа превышает 100 000 рублей.-->

3. Функция ЕСЛИМН (IFS): современная замена вложенным ЕСЛИ

В Excel 2019 и Microsoft 365 появилась функция ЕСЛИМН (IFS), которая упрощает работу с несколькими условиями. Её преимущества:

  • 📌 Нет ограничения на количество условий (в отличие от вложенных ЕСЛИ).
  • 📌 Читабельный синтаксис: условия перечисляются последовательно, без множества скобок.
  • 📌 Автоматическая проверка порядка: если ни одно условие не выполнено, возвращается ошибка #Н/Д (её можно обработать через ЕЧИСТОТА).

Синтаксис:

=ЕСЛИМН(условие1; значение1; [условие2; значение2]; ...)

Пример: присвоение категории товара по цене:

=ЕСЛИМН(B2<1000; "Бюджетный"; B2<5000; "Средний"; B2>=5000; "Премиум")
⚠️ Внимание: В ЕСЛИМН условия проверяются по порядку. Если первое условие истинно, остальные игнорируются. Поэтому важно расположить их от самых строгих к самым широким. Например, сначала проверяйте "больше 1000", а затем "больше 500".
Что делать, если у вас Excel 2016 или старше?

В версиях до 2019 функции ЕСЛИМН нет. Альтернативы:

1. Используйте классические вложенные ЕСЛИ (до 7 уровней).

2. Разбейте логику на несколько столбцов с промежуточными вычислениями.

3. Примените функцию ВЫБОР (CHOOSE) для простых случаев с числовыми критериями.

4. Альтернативные подходы: ВПР, ИНДЕКС-ПОИСКПОЗ и ВЫБОР

Если у вас много условий (например, 10+ категорий), вложенные ЕСЛИ становятся громоздкими. В таких случаях эффективнее использовать:

ФункцияКогда применятьПример
ВПР (VLOOKUP)Для сопоставления значения с таблицей подстановки=ВПР(A2; Диапазон_таблицы; 2; ЛОЖЬ)
ИНДЕКС-ПОИСКПОЗ (INDEX-MATCH)Для гибкого поиска по нескольким критериям=ИНДЕКС(Диапазон_значений; ПОИСКПОЗ(A2; Диапазон_критериев; 0))
ВЫБОР (CHOOSE)Для выбора из фиксированного списка по числовому индексу=ВЫБОР(ПОИСКПОЗ(A2; {10;20;30}); "Мало"; "Средне"; "Много")

Пример с ВПР: вместо 5 вложенных ЕСЛИ для определения скидки по сумме заказа создаём таблицу:

Сумма от (₽)Сумма до (₽)Скидка (%)
050000
5000100005
100002000010

Формула:

=ВПР(B2; $E$2:$G$4; 3; ИСТИНА)

Критическая ошибка: при использовании ВПР с параметром ИСТИНА (approximate match) диапазон критериев должен быть отсортирован по возрастанию. В противном случае результат будет неверным.

5. Ошибки при работе с несколькими условиями и как их избежать

Даже опытные пользователи Excel допускают ошибки при составлении сложных условий. Вот самые распространённые:

  • 🔴 Несбалансированные скобки: каждая открывающая скобка ( должна иметь закрывающую ). Проверяйте парность с помощью подсветки в строке формул.
  • 🔴 Перекрывающиеся условия: если первое условие B2>100, а второе — B2>50, второе никогда не сработает. Располагайте условия от самых жёстких к самым мягким.
  • 🔴 Использование текста без кавычек: Excel воспринимает Да как имя диапазона, а не как строку. Все текстовые значения оборачивайте в " ".
  • 🔴 Ссылки на ячейки без фиксации: если вы копируете формулу вниз, ссылки на критерии (например, $A$1) должны быть абсолютными.

Пример ошибочной формулы:

=ЕСЛИ(A2>100; "Высокий"; ЕСЛИ(A2>50; "Средний"; Низкий))

Ошибки здесь:

  1. Низкий без кавычек → "Низкий".
  2. Условие A2>50 никогда не выполнится, если A2>100 уже истинно.

Вложенные ЕСЛИ

ЕСЛИМН (IFS)

Комбинация ЕСЛИ с И/ИЛИ

Таблицы подстановки (ВПР, ИНДЕКС-ПОИСКПОЗ)-->

6. Продвинутые техники: массивы и пользовательские функции

Для очень сложной логики (например, динамического анализа данных с 20+ критериями) стандартные функции могут не подойти. Рассмотрим два продвинутых подхода:

1. Формулы массива (вводится через Ctrl+Shift+Enter в старых версиях Excel):

=ЕСЛИ(МАКС((A2:A10="Да")*(B2:B10>1000)); "Есть совпадения"; "Нет")

Эта формула проверяет, есть ли в диапазоне A2:A10 значение "Да" и одновременно в B2:B10 число больше 1000.

2. Пользовательские функции на VBA:

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

Function МНОГОУСЛОВИЕ(значение As Variant, параметры As Range) As Variant

' Логика функции

End Function

⚠️ Внимание: Формулы массива и VBA-код не работают в Excel Online и мобильных версиях приложения. Используйте их только для десктопных версий.

FAQ: Ответы на частые вопросы

Можно ли в Excel проверить более 7 условий в одной формуле?

Да, но с оговорками:

  • В Excel 2016 и новее лимит — 64 уровня вложенности.
  • В Excel 2003–2013 — 7 уровней. Чтобы обойти ограничение, разбейте логику на несколько столбцов или используйте ВПР/ИНДЕКС-ПОИСКПОЗ.
Почему моя формула с ЕСЛИ возвращает #ИМЯ?

Ошибка #ИМЯ! (#NAME?) возникает по трём причинам:

  1. Опечатка в названии функции (например, ЕСЛИИ вместо ЕСЛИ).
  2. Использование запятых (,) вместо точек с запятой (;) в русской версии Excel (или наоборот в английской).
  3. Отсутствие кавычек у текстовых значений (например, =ЕСЛИ(A1=Да;...) вместо =ЕСЛИ(A1="Да";...)).
Как сделать, чтобы формула игнорировала пустые ячейки?

Оберните условие в функцию ЕПУСТО (ISBLANK):

=ЕСЛИ(И(НЕ(ЕПУСТО(A2)); A2>100); "Да"; "Нет")

Или используйте ЕСЛИОШИБКА для обработки ошибок:

=ЕСЛИОШИБКА(ЕСЛИ(A2>100; "Да"; "Нет"); "")
Чем отличается ЕСЛИМН от обычного ЕСЛИ?

ЕСЛИМН (IFS) — это "плоская" версия вложенных ЕСЛИ. Основные отличия:

КритерийЕСЛИЕСЛИМН
ЧитаемостьСложно читать при 3+ условияхЛинейная структура, легко редактировать
Ограничение вложений7 уровней (в старых версиях)Нет ограничений
Обработка "иначе"Явное указание последнего значенияВозвращает #Н/Д, если ни одно условие не выполнено
Можно ли использовать ЕСЛИ для изменения цвета ячейки?

Нет, функция ЕСЛИ работает только с значениями, но не с оформлением. Для изменения цвета используйте:

  • Условное форматирование: Главная → Условное форматирование → Создать правило → Использовать формулу.
  • Формулу вида =A1>100 для применения заданного формата.