Как в Excel сделать логическое выражение «ЕСЛИ»: от простых условий до сложных формул

Функция ЕСЛИ (или IF в английской версии) — это основа логических вычислений в Microsoft Excel и Google Таблицах. Без неё невозможно автоматизировать анализ данных, создавать динамические отчёты или строить гибкие модели. Но многие пользователи ограничиваются простейшими конструкциями вроде «если больше 100, то"Да", иначе"Нет"», даже не подозревая, что логические выражения могут решать задачи уровня небольших программ: проверять несколько условий одновременно, обрабатывать ошибки, взаимодействовать с другими функциями.

В этой статье мы разберём не только базовый синтаксис ЕСЛИ, но и покажем, как комбинировать её с И, ИЛИ, НЕ, использовать вложенные условия (до 64 уровней!), а также научимся обходить типичные ошибки. Вы узнаете, почему формула возвращает #ЗНАЧ! вместо ожидаемого результата, как упростить громоздкие конструкции и когда лучше заменить ЕСЛИ на ВПР или ИНДЕКС-ПОИСКПОЗ.

Для новичков мы подготовили пошаговые инструкции с картинками, а для опытных пользователей — продвинутые приёмы, которые экономят часы работы. Например, знали ли вы, что в Excel 365 появилась функция ЕСЛИМН (IFS), которая упрощает работу с несколькими условиями? Или что логические выражения можно использовать для условного форматирования, чтобы ячейки автоматически окрашивались в зависимости от значений?

Приступим к практике — и уже через 10 минут вы сможете писать формулы, которые раньше казались слишком сложными.

1. Базовый синтаксис функции ЕСЛИ: разбираем структуру

Функция ЕСЛИ проверяет условие и возвращает одно значение, если условие истинно (ИСТИНА), и другое — если ложно (ЛОЖЬ). Её синтаксис выглядит так:

=ЕСЛИ(логическое_выражение; значение_если_истина; значение_если_ложь)

Разберём на простом примере. Допустим, у вас есть таблица с оценками студентов, и вам нужно автоматически проставить «Зачёт», если оценка ≥ 60, и «Незачёт» в противном случае. Формула будет такой:

=ЕСЛИ(B2>=60;"Зачёт";"Незачёт")

Где:

  • 📌 B2>=60 — логическое выражение (условие).
  • 📝 "Зачёт" — значение, если условие выполнено.
  • "Незачёт" — значение, если условие не выполнено.

Важно: аргументы разделяются точкой с запятой (;) в русской версии Excel и запятой (,) в английской. Если вы скопируете формулу из интернета и получите ошибку, проверьте разделители!

А теперь попробуйте самостоятельно: что вернёт формула =ЕСЛИ(10>5;"Да";"Нет")? Правильно — "Да", потому что 10 действительно больше 5.

📊 Как часто вы используете функцию ЕСЛИ в Excel?
Ежедневно
Несколько раз в неделю
Редко
Никогда не пробовал

2. Логические операторы: И, ИЛИ, НЕ в паре с ЕСЛИ

Одиночное условие — это только вершина айсберга. Чаще всего требуется проверять несколько критериев одновременно. Для этого в Excel есть три ключевых оператора:

  • 🔗 И (AND) — возвращает ИСТИНА, если все условия истинны.
  • 🔀 ИЛИ (OR) — возвращает ИСТИНА, если хотя бы одно условие истинно.
  • НЕ (NOT) — инвертирует результат (из ИСТИНА делает ЛОЖЬ и наоборот).

Пример с И: допустим, вы выдаёте премию сотрудникам, если их продажи превысили 100 000 ₽ и они проработали больше года. Формула:

=ЕСЛИ(И(B2>100000; C2>12);"Премия 10%";"Премии нет")

А вот как работает ИЛИ: если клиент сделал заказ на сумму > 5 000 ₽ или это его третий заказ, предоставляем скидку:

=ЕСЛИ(ИЛИ(D2>5000; E2>=3);"Скидка 5%";"Без скидки")

Критичный нюанс: операторы И/ИЛИ можно вкладывать друг в друга до 255 уровней, но чем сложнее формула, тем труднее её отлаживать. Если условий больше 3–4, рассмотрите альтернативы вроде ЕСЛИМН или ВПР.

3. Вложенные функции ЕСЛИ: когда условий больше двух

Что делать, если нужно проверить не одно и не два, а, скажем, пять условий? Например, присваивать рейтинг клиентам по сумме покупок:

  • 💎"Platinum" — если > 50 000 ₽,
  • 🥇"Gold" — если > 20 000 ₽,
  • 🥈"Silver" — если > 10 000 ₽,
  • 🥉"Bronze" — если > 5 000 ₽,
  • ❌"Standard" — во всех остальных случаях.

Решение — вложенные функции ЕСЛИ. Каждая новая проверка помещается в аргумент значение_если_ложь предыдущей:

=ЕСЛИ(B2>50000;"Platinum";

ЕСЛИ(B2>20000;"Gold";

ЕСЛИ(B2>10000;"Silver";

ЕСЛИ(B2>5000;"Bronze";"Standard"))))

Обратите внимание на расстановку скобок: их количество должно совпадать с числом открывающих ЕСЛИ. В этом примере 4 открывающие скобки и 4 закрывающие.

⚠️ Внимание: В Excel 2016 и старше максимальное количество вложений — 64 уровня. В более ранних версиях (2003–2013) — только 7! Если вам нужно больше, разбейте логику на несколько столбцов или используйте ВПР/ИНДЕКС-ПОИСКПОЗ.

Чтобы упростить чтение таких формул:

  • 📝 Используйте отступы (как в примере выше).
  • 🔍 Выделяйте цветом пары скобок в редакторе формул.
  • 📊 Для более 5 условий рассмотрите функцию ЕСЛИМН (доступна с Excel 2019).

Сосчитайте количество открывающих и закрывающих скобок|Проверьте условия по порядку (от самого строгого к самому мягкому)|Используйте отступы для визуального разделения уровней|Протестируйте формулу на граничных значениях (например, ровно 20 000 ₽)

-->

4. Типичные ошибки и как их исправить

Даже опытные пользователи сталкиваются с ошибками при работе с ЕСЛИ. Разберём самые распространённые:

Ошибка Причина Решение
#ИМЯ? Опечатка в названии функции (например, ЕСЛИИ вместо ЕСЛИ) Проверьте синтаксис. В русской версии правильно — ЕСЛИ, в английской — IF.
#ЗНАЧ! Пропущен аргумент (например, нет значения для значение_если_ложь) Добавьте недостающий аргумент, даже если это пустая строка "".
#ДЕЛ/0! Деление на ноль в одном из аргументов Используйте ЕЧИСТ или ЕОШИБКА для обработки ошибок.
Формула возвращает ЛОЖЬ вместо ожидаемого текста Забыли кавычки вокруг текста (например, Да вместо "Да") Оберните текстовые значения в двойные кавычки.

Ещё одна частая проблема — неправильная последовательность условий. Например, если в формуле с рейтингом клиентов сначала проверить B2>10000, а затем B2>50000, то клиент с суммой 60 000 ₽ попадёт в категорию "Silver", потому что первое условие (>10000) сработает раньше. Всегда располагайте условия от самого строгого к самому мягкому!

⚠️ Внимание: Если ваша формула содержит ссылки на пустые ячейки, Excel может воспринимать их как 0 в математических операциях и как "" (пустую строку) в текстовых. Чтобы избежать ошибок, используйте ЕПУСТО для явной проверки: =ЕСЛИ(ЕПУСТО(A1);"Пусто";"Заполнено").

5. Продвинутые приёмы: ЕСЛИ + другие функции

Мощь ЕСЛИ раскрывается в комбинации с другими функциями. Вот несколько полезных примеров:

1. Обработка ошибок с ЕОШИБКА

Если данные могут содержать ошибки (например, #ДЕЛ/0!), оберните формулу в ЕОШИБКА:

=ЕСЛИ(ЕОШИБКА(B2/C2);"Ошибка деления"; B2/C2)

2. Поиск по условию с ВПР или ИНДЕКС-ПОИСКПОЗ

Допустим, у вас есть таблица с ценами в зависимости от объёма заказа. Вместо длинной цепочки ЕСЛИ используйте:

=ЕСЛИ(НЕ(ЕОШИБКА(ВПР(B2; ТаблицаЦен; 2; ЛОЖЬ))); ВПР(B2; ТаблицаЦен; 2; ЛОЖЬ);"Цена не найдена")

3. Подсчёт с условием: СЧЁТЕСЛИ и СУММЕСЛИ

Чтобы посчитать количество ячеек, удовлетворяющих условию:

=СЧЁТЕСЛИ(B2:B100;">50000")

Или сумму продаж только для определённого менеджера:

=СУММЕСЛИ(D2:D100;"Иванов"; B2:B100)

4. Условное форматирование

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

  1. Выделите диапазон.
  2. Перейдите в Главная → Условное форматирование → Создать правило.
  3. Выберите Использовать формулу... и введите =A1<0.
  4. Задайте формат (например, красный текст).
Как ускорить работу сложных формул с ЕСЛИ?

Если ваша таблица тормозит из-за множества вложенных ЕСЛИ, попробуйте:

1. Заменить часть логики на ВПР/ИНДЕКС-ПОИСКПОЗ — они работают быстрее.

2. Вынести промежуточные вычисления в отдельные столбцы (да, это займёт больше места, но ускорит пересчёт).

3. Использовать ЕСЛИМН вместо цепочки ЕСЛИExcel 2019+).

4. Отключить автоматический пересчёт формул (Формулы → Параметры вычислений → Вручную), если вы работаете с большими массивами данных.

6. Альтернативы ЕСЛИ: когда стоит использовать другие функции

Хотя ЕСЛИ универсальна, в некоторых случаях лучше выбрать специализированные функции:

  • 🔢 ВЫБОР (CHOOSE) — если нужно вернуть значение из списка по номеру позиции:
    =ВЫБОР(B2;"Январь";"Февраль";"Март")
  • 🔍 ЕСЛИМН (IFS) — для нескольких условий (доступна с Excel 2019):
    =ЕСЛИМН(B2>100;"A"; B2>80;"B"; B2>60;"C"; ИСТИНА;"F")
  • 📊 ПРОСМОТР (LOOKUP) — для поиска значения в одном столбце и возврата соответствующего значения из другого.

Когда не стоит использовать ЕСЛИ:

  • ❌ Для поиска данных по критерию — лучше ВПР или ИНДЕКС-ПОИСКПОЗ.
  • ❌ Для подсчёта/суммирования по условию — есть СЧЁТЕСЛИ, СУММЕСЛИ, СУММЕСЛИМН.
  • ❌ Если условий больше 5–7 — код становится нечитаемым.

7. Практические примеры: задачи из реальной работы

Разберём несколько кейсов, с которыми сталкиваются бухгалтеры, маркетологи и аналитики.

Пример 1. Расчёт бонусов сотрудникам

Условия:

  • 💰 Бонус 20% — если продажи > 200 000 ₽.
  • 💰 Бонус 10% — если продажи от 100 000 ₽ до 200 000 ₽.
  • 💰 Бонус 5% — если продажи от 50 000 ₽ до 100 000 ₽.
  • 💰 Без бонуса — если продажи < 50 000 ₽.

Формула:

=ЕСЛИ(B2>200000; B2*0,2;

ЕСЛИ(B2>=100000; B2*0,1;

ЕСЛИ(B2>=50000; B2*0,05; 0)))

Пример 2. Категоризация клиентов по RFM-анализу

RFM (Recency, Frequency, Monetary) — популярный метод сегментации клиентов. Допустим, нам нужно присвоить категорию по двум критериям:

  • 📅 Recency (сколько дней прошло с последней покупки): < 30 дней —"Активный", иначе"Неактивный".
  • 💎 Monetary (сумма покупок): > 10 000 ₽ —"VIP", иначе"Стандарт".

Формула для ячейки с категорией:

=ЕСЛИ(C2<30;"Активный";"Неактивный") & ЕСЛИ(B2>10000;"VIP";"Стандарт")

Здесь мы использовали оператор & для объединения двух результатов ЕСЛИ в одну строку.

Пример 3. Проверка корректности данных

Допустим, у вас есть столбец с email-адресами, и вы хотите проверить, содержат ли они символ @. Формула:

=ЕСЛИ(НАЙТИ("@"; A2)>0;"Корректный";"Некорректный")

Но учтите: если ячейка пустая, НАЙТИ вернёт ошибку. Поэтому лучше добавить проверку:

=ЕСЛИ(А2="";""; ЕСЛИ(ЕОШИБКА(НАЙТИ("@"; A2));"Некорректный";"Корректный"))

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

Можно ли использовать ЕСЛИ для работы с датами?

Да! Например, чтобы проверить, просрочена ли задача (текущая дата > даты дедлайна), используйте:

=ЕСЛИ(СЕГОДНЯ>B2;"Просрочено";"В срок")

Где B2 — ячейка с датой дедлайна. Функция СЕГОДНЯ всегда возвращает текущую дату.

Как сделать, чтобы ЕСЛИ игнорировала пустые ячейки?

Используйте комбинацию ЕСЛИ + ЕПУСТО:

=ЕСЛИ(ЕПУСТО(A2);""; ЕСЛИ(A2>100;"Большое";"Малое"))

Или сокращённо с ЕЧИСТ (если ячейка пустая или содержит текст):

=ЕСЛИ(ЕЧИСТ(A2);""; ЕСЛИ(A2>100;"Большое";"Малое"))
Почему моя формула с ЕСЛИ работает медленно?

Частые причины:

  • 🐢 Слишком много вложенных ЕСЛИ (больше 10–15 уровней).
  • 🐢 Формула применяется ко всему столбцу (например, B:B вместо B2:B1000).
  • 🐢 Используются летучие функции вроде СЕГОДНЯ или СЛЧИС, которые пересчитываются при каждом изменении листа.

Решения:

  • 🚀 Замените часть логики на ВПР или ИНДЕКС-ПОИСКПОЗ.
  • 🚀 Ограничьте диапазон применения формулы.
  • 🚀 Отключите автоматический пересчёт (Формулы → Вычисления → Вручную).
Как в ЕСЛИ проверить несколько условий без И/ИЛИ?

Можно перемножать или складывать условия напрямую:

  • 🔢 Для И (все условия должны быть истинны): =ЕСЛИ((A2>10)*(B2<5);"Да";"Нет"). В логических выражениях ИСТИНА=1, ЛОЖЬ=0, поэтому умножение даст 1 только если оба условия истинны.
  • 🔢 Для ИЛИ (хотя бы одно условие истинно): =ЕСЛИ((A2>10)+(B2<5)>0;"Да";"Нет").

Но такой подход менее читаемый, поэтому лучше всё же использовать И/ИЛИ.

Можно ли использовать ЕСЛИ в Power Query или Power Pivot?

В Power Query есть свой язык M, где аналогичную логику реализуют через if...then...else:

if [Продажи] > 100000 then"High" else"Low"

В Power Pivot (язык DAX) используется функция IF, но с другим синтаксисом:

=IF([Sales]>100000;"High";"Low")

Обратите внимание: в DAX нет функции ЕСЛИМН, поэтому для нескольких условий приходится вкладывать IF друг в друга.