Мастерство логических функций в Excel

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

Функция ЕСЛИ проверяет заданное условие и возвращает одно значение, если оно истинно, и другое — если ложно. Это базовый инструмент для автоматизации расчетов, позволяющий мгновенно оценивать данные, присваивать статусы или рассчитывать бонусы без ручного вмешательства. Ниже рассмотрены синтаксис, работа с несколькими условиями и альтернативные функции для упрощения формул.

Базовый синтаксис и первое условие

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

Разделителем аргументов в русской версии Excel служит точка с запятой (;). Текстовые значения обязательно заключаются в кавычки, числа и ссылки на ячейки — нет.

Пример расчета премии: Допустим, в ячейке A2 указана сумма продаж. Если она превышает 100 000 руб., сотрудник получает 10%, иначе — 0. Формула в ячейке B2: =ЕСЛИ(A2>100000; A2*0,1; 0)

Используйте абсолютные ссылки (знак $, например $C$1), если ссылаетесь на фиксированный порог значения, чтобы формула не ломалась при копировании вниз.

Работа с несколькими условиями: вложенность и ЕСЛИМН

Когда одного условия недостаточно, есть два пути: классическая вложенность или современная функция ЕСЛИМН (доступна в Excel 2019 и Office 365).

Вариант 1: Вложенные функции ЕСЛИ

Вы можете поместить одну функцию ЕСЛИ внутрь другой. Это позволяет проверять условия последовательно. Максимальный уровень вложенности — 64, но для читаемости лучше ограничиться 3–5 уровнями.

Задача: Присвоить категорию эффективности по сумме продаж.

  • 200 000 — «Отлично»

  • 100 000 — «Хорошо»

  • 50 000 — «Норма»

  • Остальные — «Плохо»

Формула: =ЕСЛИ(A2>=200000; "Отлично"; ЕСЛИ(A2>=100000; "Хорошо"; ЕСЛИ(A2>=50000; "Норма"; "Плохо")))

Логика работы: Excel проверяет условия слева направо. Как только находит истину, выдает результат и прекращает дальнейший расчет. Поэтому важно начинать с самых строгих условий (от большего к меньшему).

Вариант 2: Функция ЕСЛИМН (рекомендуемый)

Эта функция создана специально для множественных проверок. Она избавляет от громоздких скобок и делает формулу прозрачной.

Синтаксис: =ЕСЛИМН(условие1; значение1; условие2; значение2; ...; условие_по_умолчанию)

Та же задача решается так: =ЕСЛИМН(A2>=200000; "Отлично"; A2>=100000; "Хорошо"; A2>=50000; "Норма"; ИСТИНА; "Плохо")

В функции ЕСЛИМН нет отдельного аргумента «значение если ложь». Чтобы задать результат по умолчанию (если ни одно условие не выполнилось), последним условием укажите ИСТИНА (или 1), а рядом нужное значение.

Комбинация с функциями И и ИЛИ

Часто требуется проверить сразу несколько критериев внутри одного условия. Для этого используются логические операторы И (все условия должны быть верны) и ИЛИ (достаточно одного верного).

Пример 1: Одобрение заявки (функция И) Кредит одобряется, если стаж больше 2 лет И зарплата выше 50 000. =ЕСЛИ(И(B2>2; C2>50000); "Одобрено"; "Отказ")

Пример 2: Скидка для льготников (функция ИЛИ) Скидка предоставляется пенсионерам ИЛИ многодетным семьям. =ЕСЛИ(ИЛИ(D2="Пенсионер"; E2="Многодетный"); "Скидка 10%"; "Без скидки")

Эти конструкции можно комбинировать, создавая мощные фильтры данных внутри одной ячейки.

Практические сценарии использования

ЗадачаФормулаОписание
Статус дедлайна=ЕСЛИ(СЕГОДНЯ()>A2; "Просрочено"; "В срок")Сравнение текущей даты с датой в ячейке A2.
Заполнение пустот=ЕСЛИ(B2=""; "Нет данных"; B2)Если ячейка пуста, выводит текст, иначе — значение.
Расчет налога=ЕСЛИМН(C2>1000000; C20,15; C2>500000; C20,1; 0)Прогрессивная шкала налогообложения.
Поиск ошибки=ЕСЛИ(ЕОШИБКА(VLOOKUP(...)); "Не найдено"; VLOOKUP(...))Защита от ошибок при поиске значений (для старых версий Excel).

Функция СЕГОДНЯ() не требует аргументов в скобках и обновляется автоматически при каждом открытии файла или пересчете листа.

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

При работе с логическими формулами новички часто сталкиваются со следующими проблемами:

  1. #ЗНАЧ! — Возникает, если типы данных не совпадают. Например, вы сравниваете число с текстом, который не обернут в кавычки, или используете неправильный разделитель (запятую вместо точки с запятой в русской локали).
  2. #ИМЯ? — Обычно означает опечатку в названии функции (например, ЕСЛI вместо ЕСЛИ) или отсутствие кавычек вокруг текстового результата.
  3. Неверный порядок условий — В конструкциях с вложенностью или ЕСЛИМН важно ставить более специфичные условия первыми. Если поставить A2>50000 перед A2>200000, то второе условие никогда не сработает.
  4. Лишние пробелы — При сравнении текста формула чувствительна к пробелам. "Да " и "Да" для Excel — разные значения. Используйте функцию СЖПРОБЕЛЫ для очистки данных.

Часто задаваемые вопросы (FAQ)

Можно ли использовать функцию ЕСЛИ для работы с датами? Да, даты в Excel хранятся как числа, поэтому их можно сравнивать обычными операторами (>, <, =). Пример: =ЕСЛИ(A1<ДАТА(2024;1;1); "Старый"; "Новый").

Что делать, если формула становится слишком длинной? Если вложенность превышает 5 уровней, формулу трудно читать и редактировать. В таких случаях лучше использовать функцию ВПР (или ПРОСМОТРX) с таблицей соответствий либо разбить логику на несколько вспомогательных столбцов.

Работает ли ЕСЛИ с цветом ячеек? Напрямую — нет. Стандартные формулы не умеют считывать форматирование (цвет заливки или шрифта). Для этого потребуется создание пользовательской функции на VBA или использование условного форматирования в связке с формулами.

Почему формула возвращает 0 вместо ожидаемого текста? Проверьте третий аргумент функции (значение если ложь). Если там стоит 0 или пусто, а условие не выполнилось, вы получите ноль. Также убедитесь, что ячейка не отформатирована как «Числовой», если вы ожидаете увидеть текст.