Комбинируем логические функции для проверки нескольких условий в Excel

Иван Корнев·21.05.2024·4 мин

Чтобы проверить два условия одновременно в одной ячейке Excel, нужно вложить функции И() или ИЛИ() внутрь функции ЕСЛИ(). Используйте =ЕСЛИ(И(условие1; условие2); "Результат если да"; "Результат если нет"), когда должны выполниться оба требования, и =ЕСЛИ(ИЛИ(...)), если достаточно выполнения хотя бы одного из них. Это позволяет избежать создания лишних вспомогательных столбцов и делает таблицы компактнее.

Синтаксис: связка ЕСЛИ и И для строгой проверки

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

Базовая структура формулы:

=ЕСЛИ(И(условие_1; условие_2); "Значение при успехе"; "Значение при неудаче")

Практический пример: начисление бонуса

Представим таблицу продаж. Менеджер получает бонус только если выполнены два критерия:

  1. Выручка больше 100 000 руб. (ячейка A2).
  2. Отсутствие просрочки платежа (ячейка B2 равна 0 или меньше).

Формула будет выглядеть так:

=ЕСЛИ(И(A2>100000; B2<=0); "Бонус 10%"; "Без бонуса")
Выручка (A2)Просрочка дней (B2)Логика проверкиРезультат
120 000-2120к > 100к (Истина) И -2 <= 0 (Истина)Бонус 10%
120 0005120к > 100к (Истина) И 5 <= 0 (Ложь)Без бонуса
80 000-280к > 100к (Ложь) И -2 <= 0 (Истина)Без бонуса

Вы можете добавить до 255 условий внутрь функции И. Например, для премиального клиента добавьте третье условие: И(A2>100000; B2<=0; C2="VIP").

Использование функции ИЛИ: достаточно одного совпадения

Функция ИЛИ() работает по противоположному принципу: она возвращает ИСТИНА, если выполняется хотя бы одно из условий. Это полезно для выделения срочных задач, рисков или исключений.

Структура формулы:

=ЕСЛИ(ИЛИ(условие_1; условие_2); "Действие"; "Бездействие")

Пример: маркировка срочных задач

Нужно пометить задачу как "Срочно!", если:

  1. Статус задачи — "В работе" (ячейка C2).
  2. ИЛИ дата дедлайна наступила сегодня (ячейка D2).

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

=ЕСЛИ(ИЛИ(C2="В работе"; D2=СЕГОДНЯ()); "Срочно!"; "В план")
Статус (C2)Дедлайн (D2)ПроверкаИтог
В работе25.05.2024Статус верен (Истина)Срочно!
Готово21.05.2024Дедлайн сегодня (Истина)Срочно!
Готово25.05.2024Оба условия ложныВ план

Сложная логика: вложенные условия для трех исходов

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

Сценарий: Оценка риска проекта по бюджету (E2) и уровню угроз (F2, шкала 1–10).

  • Критический риск: Бюджет мал (<50к) И угрозы высоки (>7).
  • Повышенный риск: Выполнено только одно из этих условий.
  • Низкий риск: Нет ни одного опасного условия.

Формула:

=ЕСЛИ(И(E2<50000; F2>7); "Критический"; 
   ЕСЛИ(ИЛИ(E2<50000; F2>7); "Повышенный"; "Низкий"))

Логика работы:

  1. Сначала проверяется строгое условие И. Если оно верно — вывод "Критический".
  2. Если нет, запускается второе ЕСЛИ с проверкой ИЛИ. Если верно хоть что-то — "Повышенный".
  3. В противном случае — "Низкий".

Частые ошибки и способы их устранения

При работе со сложными формулами пользователи часто сталкиваются с стандартными ошибками Excel.

Ошибка #ИМЯ? Чаще всего возникает из-за использования английских названий функций (AND, OR, IF) в русской версии Excel или опечаток. Убедитесь, что вы пишете И, ИЛИ, ЕСЛИ. Также проверьте наличие закрывающих скобок в конце формулы.

Основные проблемы:

  1. Ошибка #ЗНАЧ! Возникает при сравнении несовместимых типов данных (например, текст с числом без кавычек). Решение: Текстовые значения в условиях всегда берите в кавычки: "В работе", а не В работе.

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

  3. Проблемы с копированием формул При протягивании формулы вниз ссылки смещаются. Если одно из условий должно ссылаться на фиксированную ячейку (например, пороговое значение в ячейке Z1), используйте знак доллара. Пример: $Z$1 вместо Z1. Формула: =ЕСЛИ(A2>$Z$1; "ОК"; "Мало").

Продвинутые приемы работы с условиями

Для повышения эффективности таблиц используйте следующие подходы:

  • Работа с датами. Функция СЕГОДНЯ() динамически обновляется. Для проверки периода используйте операторы: И(A2>=ДАТА(2024;1;1); A2<=ДАТА(2024;12;31)).
  • Умные таблицы. Если ваши данные оформлены как "Таблица" (Ctrl+T), используйте имена столбцов вместо адресов ячеек. Это делает формулу читаемой: =ЕСЛИ(И([@Выручка]>100000; [@Статус]="Оплачено"); "Бонус"; "").
  • Чистота данных. Перед применением логических функций убедитесь, что в числовых столбцах нет скрытых пробелов или текстовых символов, которые могут превратить число в текст и сломать сравнение >100.