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

Если при работе с данными в Microsoft Excel вам нужно автоматически проверять значения ячеек и возвращать разные результаты (например, "Прибыль" или "Убыток", "Сдан" или "Не сдан"), то без функций с условиями не обойтись. Наиболее частая ошибка новичков — попытка вручную прописывать результаты для каждой строки вместо использования формулы =ЕСЛИ(). Это не только занимает часы времени, но и приводит к ошибкам при обновлении данных. Правильный подход: один раз настроить логическую проверку, и Excel будет автоматически обновлять результаты при изменении исходных значений.

В этой статье разберём 5 способов постановки условий — от базовой функции ЕСЛИ до вложенных проверок и массивов. Все примеры приведены для Excel 2019–2023 и Microsoft 365, но подойдут и для более ранних версий (начиная с Excel 2010). Особое внимание уделим типичным ошибкам, из-за которых формулы возвращают #ЗНАЧ! или #ДЕЛ/0!, и покажем, как их избежать.

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

Функция =ЕСЛИ(условие; значение_если_истина; значение_если_ложь) — основа всех логических проверок в Excel. Она работает по принципу "если условие выполняется, вернуть одно значение, иначе — другое". Например, чтобы проверить, сдал ли студент экзамен (при пороге 60 баллов), формула будет такой:

=ЕСЛИ(B2>=60; "Сдан"; "Не сдан")

Где B2 — ячейка с баллами студента. Если значение в B2 ≥ 60, формула вернёт "Сдан", иначе — "Не сдан". Важно: текстовые результаты всегда берутся в кавычки, а математические операции (например, B2*1.2) — нет.

  • 📌 Пример 1: Проверка положительного/отрицательного числа: =ЕСЛИ(A1>0; "Положительное"; "Отрицательное").
  • 📌 Пример 2: Выделение просроченных задач: =ЕСЛИ(СЕГОДНЯ()>D2; "Просрочено"; "В срок"), где D2 — дата дедлайна.
  • 📌 Пример 3: Расчёт бонуса: =ЕСЛИ(C2>10000; C2*0.1; 0) (10% от суммы, если продажи > 10 000).
⚠️ Внимание: Если в ячейке с условием стоит текст вместо числа (например, "100" вместо 100), Excel вернёт ошибку #ЗНАЧ!. Проверьте формат данных через Главная → Формат → Формат ячеек.

2. Функция ЕСЛИ с несколькими условиями (вложенные ЕСЛИ)

Когда нужно проверить более одного критерия (например, присвоить оценку "Отлично", "Хорошо" или "Удовлетворительно" по баллам), используют вложенные функции ЕСЛИ. Синтаксис усложняется, но принцип остаётся тем же: каждое новое условие вкладывается в предыдущее как аргумент значение_если_ложь.

Формула для оценки по баллам (80+ = "Отлично", 60–79 = "Хорошо", ниже 60 = "Удовлетворительно"):

=ЕСЛИ(B2>=80; "Отлично"; ЕСЛИ(B2>=60; "Хорошо"; "Удовлетворительно"))
  • 🔢 Ограничение: В Excel 2016 и ранее можно вложить до 64 условий, в Excel 365 — до 255. Превышение лимита приведёт к ошибке.
  • 📊 Альтернатива: Для сложных проверок лучше использовать ВПР, ИНДЕКС-ПОИСКПОЗ или ЕСЛИМН (в новых версиях).
📊 Какую функцию вы чаще используете для условий?
ЕСЛИ
ЕСЛИМН
ВПР
Другую
Баллы Формула Результат
92 =ЕСЛИ(A2>=80; "Отлично"; ЕСЛИ(A2>=60; "Хорошо"; "Удовлетворительно")) Отлично
75 =ЕСЛИ(A3>=80; "Отлично"; ЕСЛИ(A3>=60; "Хорошо"; "Удовлетворительно")) Хорошо
50 =ЕСЛИ(A4>=80; "Отлично"; ЕСЛИ(A4>=60; "Хорошо"; "Удовлетворительно")) Удовлетворительно

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

В Excel 365 и Excel 2019 появилась функция =ЕСЛИМН(), которая упрощает работу с несколькими условиями. Она позволяет задать несколько пар "условие-результат" без вложенности. Синтаксис:

=ЕСЛИМН(

[условие1; значение1; условие2; значение2; ...];

[значение_если_нет_совпадений]

)

Пример для оценки баллов (аналог вложенного ЕСЛИ, но короче):

=ЕСЛИМН(

B2>=80; "Отлично";

B2>=60; "Хорошо";

B2>=40; "Удовлетворительно";

"Неудовлетворительно"

)

  • Плюсы: Код читабельнее, меньше ошибок при редактировании.
  • Минусы: Не работает в Excel 2016 и ранее.

4. Логические операторы И, ИЛИ, НЕ в условиях

Для проверки составных условий (например, "балл ≥ 60 и посещаемость ≥ 80%") используют функции И(), ИЛИ(), НЕ(). Они возвращают ИСТИНА или ЛОЖЬ, которые затем обрабатывает ЕСЛИ.

  • 🔗 Функция И(): Все условия должны выполняться. Пример: =ЕСЛИ(И(B2>=60; C2>=0.8); "Сертификат выдан"; "Отказано").
  • 🔀 Функция ИЛИ(): Достаточно одного условия. Пример: =ЕСЛИ(ИЛИ(D2="Да"; E2="Да"); "Есть скидка"; "Без скидки").
  • Функция НЕ(): Инвертирует условие. Пример: =ЕСЛИ(НЕ(F2=""); "Данные есть"; "Пусто").

Типичная ошибка — забыть про И() или ИЛИ() и писать условия через запятую: =ЕСЛИ(B2>50, C2<100) — это неправильно. Excel воспримет C2<100 как отдельный аргумент, а не часть условия.

1. Все критерии для И() заключены в одну функцию

2. Между условиями стоит точка с запятой (;)

3. Функция И()/ИЛИ() вложена в ЕСЛИ как первый аргумент

4. Текстовые результаты взяты в кавычки-->

5. Условное форматирование: визуальные условия

Если нужно не только выводить текстовые результаты, но и подсвечивать ячейки при выполнении условий (например, красным цветом просроченные задачи), используйте Условное форматирование. Алгоритм:

  1. Выделите диапазон ячеек (например, D2:D100).
  2. Перейдите на вкладку Главная → Условное форматирование → Создать правило.
  3. Выберите "Использовать формулу для определения форматируемых ячеек".
  4. Введите формулу условия (например, =D2<СЕГОДНЯ() для просроченных дат).
  5. Задайте формат (цвет текста, заливку) и нажмите ОК.

Критичный нюанс: В формуле условного форматирования не используйте знака $ перед номером строки (например, =D2..., а не =$D$2...), иначе правило применится только к первой ячейке диапазона.

⚠️ Внимание: Условное форматирование не меняет значения ячеек — только их внешний вид. Чтобы одновременно и подсвечивать данные, и выводить текстовые результаты, комбинируйте его с функцией ЕСЛИ.

6. Продвинутые условия: массивы и функции ИНДЕКС-ПОИСКПОЗ

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

  • 📈 Формулы массива: Вводятся через Ctrl+Shift+Enter (в старых версиях). Пример: =МАКС(ЕСЛИ(A2:A10="Да"; B2:B10)) — находит максимум в столбце B только для строк, где в A стоит "Да".
  • 🔍 ИНДЕКС-ПОИСКПОЗ: Альтернатива ВПР для поиска по нескольким условиям. Пример: =ИНДЕКС(D2:D10; ПОИСКПОЗ(1; (A2:A10="Красный")*(B2:B10="Большой"); 0)).

Эти методы требуют опыта, но позволяют обрабатывать тысячи строк без вложенных ЕСЛИ. Для упрощения можно использовать Power Query (вкладка Данные → Получение данных), который визуально строит сложные условия.

Пример формулы массива для подсчёта уникальных значений

=СУММ(--(ЧАСТОТА(ЕСЛИ(A2:A100<>""; СТРОКА(A2:A100)-1); СТРОКА(A2:A100)-1)>0))

Эта формула возвращает количество уникальных непустых значений в диапазоне A2:A100. Вводится через Ctrl+Shift+Enter в Excel 2016 и ранее.

FAQ: Частые вопросы по условиям в Excel

🔹 Почему функция ЕСЛИ возвращает #ИМЯ?

Ошибка #ИМЯ! означает, что Excel не распознаёт имя функции. Причины:

  • Опечатка в названии (например, =ЕСЛИИ вместо =ЕСЛИ).
  • Использование английской версии =IF в русскоязычном Excel (или наоборот).
  • Пробелы или невидимые символы в формуле (например, скопировано из веб-страницы).

Решение: Удалите формулу и введите её заново вручную.

🔹 Как проверить ячейку на пустоту?

Используйте =ЕСЛИ(A1=""; "Пусто"; "Есть данные"). Альтернатива — функция =ЕПУСТО(A1), но она не срабатывает на ячейки с формулами, возвращающими пустую строку ("").

🔹 Можно ли в ЕСЛИ использовать больше 7 условий?

Да, но:

  • В Excel 2016 и ранее лимит — 64 вложенных функции.
  • В Excel 365 лимит увеличен до 255, но формула становится нечитаемой.
  • Лучше заменить на ЕСЛИМН (если версия поддерживает) или ВПР/ИНДЕКС-ПОИСКПОЗ.
🔹 Как сделать условие по цвету ячейки?

Excel не может напрямую проверять цвет ячейки в формулах. Обходные пути:

  • Используйте Условное форматирование для визуальной подсветки.
  • Добавьте вспомогательный столбец с формулой, которая определяет критерии для цвета (например, =ЕСЛИ(A1>100; 1; 0)), и форматируйте по этому столбцу.
  • В Excel 365 можно использовать ЛЯМБДА с ПОЛУЧИТЬ.ЯЧЕЙКУ (продвинутый метод).
🔹 Почему условное форматирование не применяется ко всем строкам?

Частая ошибка — фиксированная ссылка на ячейку в правиле. Например, если в формуле указано =$A$1="Да", правило будет проверять только A1. Исправьте на =$A1="Да" (без фиксации строки), чтобы правило применялось ко всему диапазону.