Как правильно составить условие в Excel: 5 работающих способов с примерами

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

Многие пользователи ошибочно думают, что условия в Excel — это прерогатива программистов. На деле даже простейшая формула =ЕСЛИ(A1>100; "Высокий"; "Низкий") способна сэкономить часы ручной работы. Главное — понять принципы построения логических выражений и научиться комбинировать их с другими функциями. В этой статье разберём 5 ключевых способов составления условий: от элементарных проверок до многоуровневых конструкций с И/ИЛИ и массивами.

Вы узнаете:

  • 🔹 Как работает функция ЕСЛИ и почему 90% ошибок возникают из-за неправильных разделителей (запятая vs точка с запятой)
  • 🔹 Когда использовать ЕСЛИОШИБКА вместо вложенных ЕСЛИ (спойлер: почти всегда)
  • 🔹 Как проверять несколько условий одновременно с И/ИЛИ и почему порядок аргументов важен
  • 🔹 Примеры реальных задач: расчёт скидок, категоризация данных, поиск дубликатов
📊 Как часто вы используете условия в Excel?
Ежедневно
Несколько раз в неделю
Редее чем раз в месяц
Никогда не пробовал

1. Базовая конструкция: функция ЕСЛИ (IF)

Функция ЕСЛИ (IF в английской версии) — это "кирпичик", с которого начинается работа с условиями. Её синтаксис прост:

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

Разберём на примере. Допустим, у вас есть таблица с продажами, и нужно автоматически проставлять статус "Выполнен" для заказов на сумму от 10 000 ₽:

=ЕСЛИ(B2>=10000; "Выполнен"; "В работе")

Ключевые моменты:

  • 📌 Логическое_выражение может содержать операторы сравнения: =, >, <, >=, <=, <> (не равно).
  • 📌 В русскоязычной версии Excel разделителем аргументов служит точка с запятой (;), в английской — запятая (,). Это частая причина ошибок!
  • 📌 Значение_если_ложь можно опустить: =ЕСЛИ(A1>50; "Да") вернёт ЛОЖЬ для значений ≤50.
⚠️ Внимание: Если в ячейке, на которую ссылается условие, текст вместо числа, Excel может вернуть ошибку #ЗНАЧ!. Используйте ЕСЛИОШИБКА для обработки таких случаев.

Пример с текстом: проверяем, содержится ли слово "Ургентно" в ячейке A1:

=ЕСЛИ(ЕНД(ПОИСК("Ургентно"; A1)); "Срочно!"; "Обычный приоритет")

Здесь ЕНД(ПОИСК()) возвращает ИСТИНА, если подстрока найдена, и ЛОЖЬ — если нет.

2. Вложенные условия: когда одного "ЕСЛИ" мало

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

  • 🥇 "Топ" — если продажи > 500 000 ₽
  • 🥈 "Средний" — если 200 000–500 000 ₽
  • 🥉 "Новичок" — если < 200 000 ₽

Решение — вложенные функции ЕСЛИ:

=ЕСЛИ(B2>500000; "Топ";

ЕСЛИ(B2>=200000; "Средний";

"Новичок"))

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

  1. Максимальное количество вложений в современных версиях Excel64 уровняExcel 2003 было всего 7).
  2. Читаемость формулы падает после 3–4 уровней. Используйте ВПР или ИНДЕКС(ПОИСКПОЗ()) для сложных классификаций.
  3. Для проверки диапазонов (как в примере выше) начинайте с самого строгого условия (здесь — >500 000).

Убедиться, что условия не пересекаются

Начать с самого строгого критерия

Проверить лимит вложенности (до 64 уровней)

Использовать отступы для читаемости формулы-->

Альтернатива вложенным ЕСЛИ — функция ВЫБОР (CHOICE), но она работает только с фиксированными значениями, а не диапазонами.

3. Комбинация условий: функции И/ИЛИ

Иногда одного критерия недостаточно. Например, нужно выдать бонус сотруднику, если:

  • 📊 Он отработал полный месяц (C2=30)
  • 💰 И его продажи превысили план (B2>D2)

Для этого используйте И (AND):

=ЕСЛИ(И(C2=30; B2>D2); "Бонус 5000 ₽"; "Без бонуса")

Разница между И и ИЛИ:

Функция Синтаксис Когда использовать Пример
И (AND) =И(условие1; условие2; ...) Когда все условия должны выполняться =И(A1>10; A1<100)ИСТИНА только для чисел 11–99
ИЛИ (OR) =ИЛИ(условие1; условие2; ...) Когда достаточно одного выполненного условия =ИЛИ(A1=0; A1="")ИСТИНА для пустых ячеек или нулей
НЕ (NOT) =НЕ(условие) Для инверсии условия =НЕ(A1="Да")ИСТИНА для любого значения кроме "Да"

Пример с ИЛИ: проверяем, попадает ли дата в выходной:

=ЕСЛИ(ИЛИ(ДЕНЬНЕД(A1)=6; ДЕНЬНЕД(A1)=7); "Выходной"; "Рабочий день")

Здесь ДЕНЬНЕД возвращает номер дня недели (1 — понедельник, 7 — воскресенье).

⚠️ Внимание: Функции И/ИЛИ возвращают ИСТИНА/ЛОЖЬ, но не могут использоваться как самостоятельные формулы для отображения текста. Всегда оборачивайте их в ЕСЛИ.

4. Обработка ошибок: ЕСЛИОШИБКА и ЕОШИБКА

Ошибки в Excel — неизбежность при работе с большими данными. Классический пример: деление на ноль (#ДЕЛ/0!) или неверная ссылка (#ССЫЛ!). Чтобы таблица оставалась читабельной, используйте:

=ЕСЛИОШИБКА(формула; значение_при_ошибке)

Примеры применения:

  • 🔢 Замена ошибки деления на 0:
  • =ЕСЛИОШИБКА(B2/C2; 0)
  • 📊 Скрытие ошибок в сводных таблицах:
  • =ЕСЛИОШИБКА(ВПР(...); "")
  • 🔍 Проверка корректности ссылок:
  • =ЕСЛИОШИБКА(ДВССЫЛ("Лист2!A1"); "Лист не найден")

Для более гибкой обработки используйте ЕОШИБКА (ISERROR) в паре с ЕСЛИ:

=ЕСЛИ(ЕОШИБКА(ПОИСК("текст"; A1)); "Не найдено"; "Есть вхождение")

Когда ЕСЛИОШИБКА бесполезна:

Ограничения ЕСЛИОШИБКА

Функция не различает типы ошибок — возвращает одно значение для #ДЕЛ/0!, #ЗНАЧ! и #Н/Д.

Если нужно обработать конкретную ошибку (например, только #Н/Д), используйте =ЕСЛИ(ЕНД(ПОИСКПОЗ(...)); ...) или =ЕСЛИ(ЕЧИСЛО(...); ...).

Совет: комбинируйте ЕСЛИОШИБКА с ЕПУСТО (ISBLANK), чтобы отличать пустые ячейки от ошибочных значений.

5. Условия с массивами: СУММЕСЛИ, СЧЁТЕСЛИ, СРЗНАЧЕСЛИ

Когда нужно просуммировать, посчитать или усреднить данные по критерию, используйте функции массива:

Функция Назначение Пример
СУММЕСЛИ (SUMIF) Суммирует ячейки, соответствующие условию =СУММЕСЛИ(A2:A10; ">50") → сумма чисел >50 в диапазоне
СЧЁТЕСЛИ (COUNTIF) Считает количество ячеек по условию =СЧЁТЕСЛИ(B2:B10; "Да") → количество ячеек со словом "Да"
СРЗНАЧЕСЛИ (AVERAGEIF) Среднее значение по условию =СРЗНАЧЕСЛИ(C2:C10; "<>0") → среднее без учёта нулей

Продвинутый пример: подсчёт продаж по региону и менеджеру:

=СУММЕСЛИМН(Диапазон_продаж; Диапазон_регионов; "Москва"; Диапазон_менеджеров; "Иванов")

Для работы с несколькими критериями используйте:

  • 📌 СУММЕСЛИМН (SUMIFS) — сумма по нескольким условиям
  • 📌 СЧЁТЕСЛИМН (COUNTIFS) — счёт по нескольким условиям
  • 📌 СРЗНАЧЕСЛИМН (AVERAGEIFS) — среднее по нескольким условиям
⚠️ Внимание: В функциях СУММЕСЛИМН/СЧЁТЕСЛИМН первый аргумент — это диапазон для суммирования/подсчёта, а затем идут пары "диапазон условий + само условие". Это отличается от СУММЕСЛИ, где сначала идёт диапазон условий!
=СУММПРОИЗВ(--(A2:A10="Товар1"); B2:B10)

Здесь -- преобразует ИСТИНА/ЛОЖЬ в 1/0 для математических операций.-->

6. Условное форматирование: визуализация условий

Условия не обязательно прятать в формулах — их можно сделать видимыми с помощью условного форматирования. Например:

  • 🟢 Подсветить ячейки зелёным, если продажи выросли на >10%
  • 🟡 Жёлтый фон для просроченных задач
  • 🔴 Красный текст для убыточных сделок

Как настроить:

  1. Выделите диапазон (например, B2:B100).
  2. Перейдите на вкладку Главная → Условное форматирование → Создать правило.
  3. Выберите тип правила:
    • 🔹 "Форматировать только ячейки, которые содержат" — для простых условий (больше/меньше/равно).
    • 🔹 "Использовать формулу для определения форматируемых ячеек" — для сложной логики.
  • Задайте формат (цвет шрифта, заливки, границы).
  • Примеры формул для условного форматирования:

    =B2>СРЗНАЧ($B$2:$B$100)  // Выделить значения выше среднего
    

    =И($D2

    =ЕОШИБКА(ПОИСК("срочно"; A2)) // Ячейки без слова "срочно"

    Совет: используйте $ для фиксации ссылок на столбцы/строки (например, $B2 зафиксирует столбец B, но позволит копировать правило по строкам).

    7. Продвинутые техники: ЛЯМБДА и ДИНАММАССИВ

    В Excel 365 и Excel 2021 появились динамические массивы и функция ЛЯМБДА (LAMBDA), которые революционизировали работу с условиями. Например, теперь можно:

    • 🔹 Создавать кастомные функции без VBA:
    • =ЛЯМБДА(x; ЕСЛИ(x>100; "Высокий"; "Низкий"))(B2)
    • 🔹 Фильтровать данные по нескольким критериям без вспомогательных столбцов:
    • =ФИЛЬТР(A2:B10; (B2:B10>50)*(A2:A10="Да"))
    • 🔹 Использовать ПОИСКПОЗ для работы с диапазонами:
    • =ПОИСКПОЗ(100; B2:B10; ; -1)  // Поиск последнего значения ≤100

    Преимущества динамических массивов:

    • 📌 Автоматическое "проливание" результатов — формула возвращает целый диапазон, который растягивается по соседним ячейкам.
    • 📌 Упрощение сложных вычислений: например, СОРТ(ФИЛЬТР(...)) заменяет несколько этапов обработки.
    • 📌 Интеграция с Power Query для создания гибких отчётов.

    Пример: вывод топ-5 продавцов по выручке:

    =СОРТ(УНИК(B2:B100); 1; -1; ИСТИНА)

    Здесь УНИК извлекает уникальные значения, а СОРТ сортирует их по убыванию.

    ⚠️ Внимание: Динамические массивы доступны только в подписке Microsoft 365 или Excel 2021. В более ранних версиях эти формулы вернут ошибку #ИМЯ?.

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

    Как проверить, содержится ли текст в ячейке?

    Используйте комбинацию ЕСЛИ + ПОИСК (или НАЙТИ для учёта регистра):

    =ЕСЛИ(ЕЧИСЛО(ПОИСК("текст"; A1)); "Есть"; "Нет")

    Функция ПОИСК возвращает позицию подстроки или ошибку #ЗНАЧ!, если текст не найден. ЕЧИСЛО проверяет, является ли результат числом (т.е. подстрока найдена).

    Почему моя формула с ЕСЛИ возвращает #ИМЯ?

    Причины:

    1. Опечатка в названии функции (например, ЕСЛИИ вместо ЕСЛИ).
    2. Использование запятой (,) вместо точки с запятой (;) в русскоязычной версии.
    3. Ссылка на несуществующий диапазон или листа (например, Лист2!A1, когда лист переименован).

    Решение: проверьте синтаксис и имена листов.

    Как сделать условие с датами (например, "если дата просрочена")?

    Сравнивайте даты как числа:

    =ЕСЛИ(A2

    Функция ТЕКДАТА() возвращает текущую дату. Для проверки диапазона дат:

    =ЕСЛИ(И(A2>=ДАТА(2026;1;1); A2<=ДАТА(2026;12;31)); "2026 год"; "Другой период")
    Можно ли использовать ЕСЛИ для изменения цвета текста?

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

    1. Используйте условное форматирование (раздел 6 статьи).
    2. Или применяйте VBA-макросы (для продвинутых пользователей).
    Как проверить несколько условий без вложенных ЕСЛИ?

    Альтернативы:

    • 🔹 ВПР или ИНДЕКС(ПОИСКПОЗ()) для классификации данных.
    • 🔹 ВЫБОР (CHOICE) для фиксированного набора вариантов.
    • 🔹 ПРОСМОТР (LOOKUP) для поиска по диапазону.

    Пример с ВПР:

    =ВПР(B2; Таблица_рейтинга; 2; ИСТИНА)

    Где Таблица_рейтинга — это диапазон с пороговыми значениями и соответствующими рейтингами.