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

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

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

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

Функция ЕСЛИ работает по принципу дихотомии: «если верно одно, сделай А, иначе сделай Б». Это фундамент логических вычислений в таблицах.

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

Аргументы разделяются точкой с запятой (в русской локали) или запятой (в английской).

Практические примеры

  1. Простая проверка результата: Нужно определить, сдал ли студент экзамен (проходной балл — 60). =ЕСЛИ(B2>=60; "Сдал"; "Не сдал")

  2. Расчет скидки: Если сумма покупки больше 5000 рублей, скидка 10%, иначе скидки нет. =ЕСЛИ(A2>5000; A2*0,9; A2)

Вместо текста в результате можно возвращать числа, даты или даже другие формулы. Например, если условие не выполнено, можно вернуть 0 или пустую строку "".

Функция ЕСЛИМН: решение проблемы вложенности

Раньше для проверки нескольких условий приходилось создавать громоздкие конструкции из вложенных функций ЕСЛИ(ЕСЛИ(ЕСЛИ...))). Функция ЕСЛИМН (доступна в Excel 2019 и Office 365) решает эту проблему элегантно. Она проверяет условия по порядку и возвращает значение для первого истинного условия.

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

Пример: Система грейдов сотрудников

Представим, что нужно присвоить категорию сотруднику в зависимости от объема продаж:

  • Более 1 000 000 руб. — «Золотой»
  • От 500 000 до 1 000 000 руб. — «Серебряный»
  • Менее 500 000 руб. — «Бронзовый»

Формула будет выглядеть так: =ЕСЛИМН(B2>1000000; "Золотой"; B2>=500000; "Серебряный"; ИСТИНА; "Бронзовый")

Обратите внимание на последний аргумент ИСТИНА. Он выступает в роли «ловушки»: если ни одно из предыдущих условий не выполнилось, функция вернет значение «Бронзовый». Без этого при несоответствии условиям формула выдаст ошибку #Н/Д.

Комбинирование условий: операторы И и ИЛИ

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

Оператор И (все условия должны быть верны)

Используется, когда необходимо строгое соответствие всем параметрам. Задача: Премия выплачивается, если план выполнен (>100%) И нет опозданий. =ЕСЛИ(И(B2>100%; C2=0); "Премия"; "Нет премии")

Оператор ИЛИ (достаточно одного верного условия)

Используется, когда подходит любой из вариантов. Задача: Сотрудник получает выходной, если сегодня воскресенье ИЛИ он праздничный день. =ЕСЛИ(ИЛИ(A2="Воскресенье"; B2="Праздник"); "Выходной"; "Рабочий")

Сравнение подходов: Вложенные ЕСЛИ против ЕСЛИМН

ХарактеристикаВложенные ЕСЛИФункция ЕСЛИМН
ЧитаемостьНизкая, сложно отслеживать скобкиВысокая, линейная структура
Лимит вложенностиДо 64 уровней (но трудно поддерживать)До 127 пар условие/значение
Версии ExcelРаботает во всех версияхТолько Excel 2019 и новее, Office 365
РекомендацияИспользовать только для совместимостиОсновной инструмент для новых файлов

Частые ошибки и как их избежать

Даже опытные пользователи допускают типичные промахи при работе с логикой. Вот чек-лист для самопроверки:

  1. Ошибка в разделителях. В русской версии Excel аргументы разделяются точкой с запятой (;), в английской — запятой (,). Если формула выдает ошибку синтаксиса, проверьте настройки региона.
  2. Текст без кавычек. Если вы хотите вывести слово "ОК", его обязательно нужно заключить в кавычки: "ОК". Числа и ссылки на ячейки кавычек не требуют.
  3. Неучтенные пустые ячейки. Пустая ячейка в логических сравнениях может вести себя непредсказуемо (часто воспринимается как 0). Добавьте проверку: =ЕСЛИ(И(НЕ(ПУСТО(A2)); A2>10); ...)
  4. Нарушение порядка в ЕСЛИМН. Функция останавливается на первом истинном условии. Если вы напишете =ЕСЛИМН(B2>50; "Много"; B2>100; "Очень много"), то значение 150 никогда не получит статус "Очень много", так как оно уже удовлетворило условию ">50". Всегда идите от большего к меньшему (или наоборот, но последовательно).

FAQ

Что делать, если у меня старая версия Excel и нет функции ЕСЛИМН? Используйте классические вложенные функции ЕСЛИ. Пример: =ЕСЛИ(B2>90; "Отл"; ЕСЛИ(B2>75; "Хор"; "Плохо")). Также можно использовать функцию ВПР с приблизительным совпадением для числовых диапазонов.

Как игнорировать ошибки в логической формуле? Оберните вашу конструкцию в функцию ЕСЛИОШИБКА. Например: =ЕСЛИОШИБКА(ЕСЛИ(A2/B2>1; "Рост"; "Падение"); "Ошибка в данных"). Это предотвратит появление кодов ошибок вроде #ДЕЛ/0! в итоговой таблице.

Можно ли использовать символы подстановки в условиях? В самой функции ЕСЛИ символы * и ? не работают напрямую для сравнения текста. Для поиска частичного совпадения используйте связку с функцией СЧЁТЕСЛИ или ПОИСК. Например: =ЕСЛИ(СЧЁТЕСЛИ(A2; "*Москва*"); "Столица"; "Регион").