Осваиваем логическую функцию ЕСЛИ в Excel

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

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

Структура и синтаксис функции

Понимание аргументов функции — залог правильной работы формулы. В русской версии Excel разделителем служит точка с запятой (;).

Формула состоит из трех частей:

  1. Логическое выражение (условие): Сравнение значений (например, A1>100, B2="Оплачено").
  2. Значение при истине: Результат, который появится в ячейке, если условие выполнено. Это может быть число, текст (в кавычках), ссылка на другую ячейку или даже другая формула.
  3. Значение при лжи: Результат, если условие не выполнено. Если этот аргумент опустить, функция вернет ЛОЖЬ. Часто здесь ставят пустую строку "" или ноль 0.

Текстовые значения внутри формулы всегда должны быть заключены в двойные кавычки (например, "Да"). Числа и ссылки на ячейки кавычек не требуют.

Базовый пример: Предположим, в ячейке A1 находится число 15. Формула =ЕСЛИ(A1>10; "Больше 10"; "Меньше или равно 10") вернет текст «Больше 10».

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

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

Проверка числовых показателей

Частая задача — присвоение статуса в зависимости от суммы. Например, начисление премии сотрудникам при выручке выше 30 000 рублей.

Выручка (Яч. A)Формула (Яч. B)Результат
50 000=ЕСЛИ(A2>30000; "Премия"; "Оклад")Премия
25 000=ЕСЛИ(A2>30000; "Премия"; "Оклад")Оклад
30 000=ЕСЛИ(A2>=30000; "Бонус"; "Стандарт")Бонус

Обратите внимание на использование операторов сравнения: > (больше), < (меньше), >= (больше или равно), <= (меньше или равно), = (равно), <> (не равно).

Работа с текстовыми данными

Функция отлично справляется с проверкой статусов заказов или наличия товаров. Формула =ЕСЛИ(C2="Отгружено"; "Закрыт"; "В работе") автоматически обновит статус сделки, как только менеджер изменит значение в ячейке C2 на «Отгружено».

Функция ЕСЛИ не чувствительна к регистру букв. Условия "текст", "Текст" и "ТЕКСТ" будут восприняты как одинаковые.

Вложенные условия и сложная логика

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

Пример оценки результатов теста: Необходимо выставить оценку в зависимости от балла:

  • 90 и выше — «Отлично»
  • От 75 до 89 — «Хорошо»
  • От 60 до 74 — «Удовлетворительно»
  • Ниже 60 — «Неуд»

Формула будет выглядеть так: =ЕСЛИ(A1>=90; "Отлично"; ЕСЛИ(A1>=75; "Хорошо"; ЕСЛИ(A1>=60; "Удовл"; "Неуд")))

Логика работы: Excel проверяет первое условие. Если оно ложно, переходит ко второму (вложенному) и так далее, пока не найдет истину или не дойдет до последнего варианта.

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

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

Использование функции И

Подходит для строгих фильтров. Например, скидка предоставляется только если сумма заказа больше 1000 руб. И город доставки — Москва. =ЕСЛИ(И(B2>1000; C2="Москва"); B2*0.9; B2) Если оба условия истинны, цена умножается на 0.9 (скидка 10%), иначе остается без изменений.

Использование функции ИЛИ

Подходит, когда достаточно совпадения по одному из критериев. Например, доступ к файлу разрешен администраторам ИЛИ сотрудникам отдела безопасности. =ЕСЛИ(ИЛИ(D2="Админ"; D2="Безопасность"); "Доступ разрешен"; "Доступ запрещен")

Альтернативы и новые функции

В современных версиях Excel (2019, 2021, 365) появились более удобные инструменты для работы с множественными условиями, которые заменяют громоздкие вложенные ЕСЛИ.

Функция ЕСЛИМН (IFS)

Позволяет перечислять пары «условие – результат» без вложенности. Синтаксис проще и понятнее. Пример с оценками выше через ЕСЛИМН: =ЕСЛИМН(A1>=90; "Отлично"; A1>=75; "Хорошо"; A1>=60; "Удовл"; ИСТИНА; "Неуд") Аргумент ИСТИНА в конце служит ловушкой для всех остальных случаев (аналог «значение_если_ложь»).

Функция ВЫБОР

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

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

При работе с логическими формулами пользователи часто сталкиваются с типовыми проблемами:

  1. #ЗНАЧ!: Возникает, если забыты кавычки вокруг текста или использован неверный разделитель (запятая вместо точки с запятой в русской локали).
  2. Неверный результат при копировании: Если ссылка на ячейку с условием должна оставаться неизменной при протягивании формулы, используйте абсолютные ссылки (знак доллара $), например $A$1.
  3. Лишние пробелы: Формула =ЕСЛИ(A1="Да"; ...) не сработает, если в ячейке написано "Да " (с пробелом в конце). Используйте функцию СЖПРОБЕЛЫ для очистки данных.
  4. Незакрытые скобки: При глубокой вложенности легко потерять счет скобок. В редакторе формул парные скобки выделяются цветом — следите за балансом.

Избегайте чрезмерной вложенности. Если ваша формула занимает более двух строк, рассмотрите возможность использования функции ВПР, ПРОСМОТРХ или ЕСЛИМН для упрощения структуры.

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

Можно ли оставить поле «значение_если_ложь» пустым? Да, но корректнее писать две кавычки подряд "". Это явно укажет Excel, что ячейка должна быть пустой, а не содержать логическое значение ЛОЖЬ.

Работает ли ЕСЛИ с датами? Да, даты в Excel хранятся как числа, поэтому их можно сравнивать. Пример: =ЕСЛИ(A1>СЕГОДНЯ(); "Будущее"; "Прошлое").

Что делать, если нужно проверить пустоту ячейки? Используйте условие A1="". Например: =ЕСЛИ(A1=""; "Заполните поле"; A1*2).

Почему формула возвращает 0 вместо пустоты? Скорее всего, в аргументе «значение_если_ложь» стоит ноль или формула ссылается на пустую ячейку, которая форматируется как число. Замените аргумент на "".