Как написать формулу в Excel с условиями «ЕСЛИ-ТО»: от простых к сложным конструкциям

Введение: зачем нужны условные формулы в Excel

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

Многие пользователи ограничиваются простейшими конструкциями вроде =ЕСЛИ(A1>100; "Да"; "Нет"), но возможности функции гораздо шире. Она поддерживает вложенные условия (когда одно «если» содержит другое), работу с текстом, датами, ошибками, а также комбинации с функциями И/ИЛИ. Правильно составленная формула с условиями экономит часы рутинной работы и сводит к нулю риск человеческих ошибок.

В этой статье разберём:

  • 🔹 Базовый синтаксис функции ЕСЛИ и типичные ошибки новичков
  • 🔹 Как комбинировать несколько условий с И, ИЛИ, НЕ
  • 🔹 Вложенные формулы: когда одно условие зависит от другого
  • 🔹 Продвинутые приёмы: обработка ошибок, работа с датами, массивы

Все примеры приведены для Excel 2016–2023 и Excel 365, но подойдут и для Google Таблиц (с учётом локализации функций). Если вы никогда не писали формулы с условиями — начните с первого раздела. Опытным пользователям рекомендуем сразу перейти к вложенным конструкциям или обработке ошибок.

📊 Как часто вы используете функцию ЕСЛИ в Excel?
Ежедневно
Несколько раз в неделю
Редко
Никогда не пробовал

Базовый синтаксис функции ЕСЛИ: 3 обязательных аргумента

Функция ЕСЛИ проверяет условие и возвращает одно из двух значений в зависимости от результата. Её синтаксис:

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

Разберём на примере. Допустим, в ячейке A1 хранится возраст клиента, а нам нужно определить, относится ли он к целевой аудитории (18–35 лет):

=ЕСЛИ(И(A1>=18; A1<=35); "Целевой клиент"; "Не подходит")

Здесь:

  • 📌 И(A1>=18; A1<=35)логическое выражение (проверяет, попадает ли возраст в диапазон)
  • 📌 "Целевой клиент" — значение, если условие истинно
  • 📌 "Не подходит" — значение, если условие ложно

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

⚠️ Внимание: Если пропустить третий аргумент (значение_если_ложь), Excel вернёт ЛОЖЬ при невыполнении условия. Например, формула =ЕСЛИ(A1>100; "Высокий") отобразит ЛОЖЬ для всех значений ≤ 100.
Пример условия Формула Результат при A1=25 Результат при A1=40
Проверка на чётность =ЕСЛИ(ОСТАТ(A1;2)=0; "Чётное"; "Нечётное") Нечётное Чётное
Проверка текста =ЕСЛИ(A1="Да"; "Подтверждено"; "Отклонено") Отклонено Отклонено
Пороговое значение =ЕСЛИ(A1>30; "Превышение"; "В норме") В норме Превышение

Логические операторы: И, ИЛИ, НЕ в условиях

Одиночное условие в функции ЕСЛИ решает простые задачи, но что делать, если нужно проверить несколько критериев одновременно? Например, определить, подходит ли кандидат на вакансию по трём параметрам: опыт, образование и возраст. Здесь помогут логические функции:

  • 🔄 И(условие1; условие2; ...) — возвращает ИСТИНА, если все условия выполнены
  • 🔀 ИЛИ(условие1; условие2; ...) — возвращает ИСТИНА, если выполнено хотя бы одно условие
  • 🚫 НЕ(условие) — инвертирует результат (превращает ИСТИНА в ЛОЖЬ и наоборот)

Пример с функцией И:

=ЕСЛИ(И(B2>5; C2="Высшее"; D2<45); "Принят"; "Отклонён")

Эта формула проверяет:

  1. Опыт работы (> 5 лет в ячейке B2)
  2. Образование (= "Высшее" в C2)
  3. Возраст (< 45 лет в D2)

Только если все три условия выполнены, кандидат будет «принят».

Функция ИЛИ полезна для гибких критериев. Например, скидка предоставляется клиентам, которые или сделали заказ на сумму > 10 000 руб., или являются постоянными покупателями:

=ЕСЛИ(ИЛИ(E2>10000; F2="Да"); "Скидка 10%"; "Без скидки")
⚠️ Внимание: Функции И/ИЛИ могут принимать до 255 аргументов в Excel 365, но на практике более 5–7 условий делают формулу нечитаемой. В таких случаях лучше использовать вложенные ЕСЛИ или ВПР/ИНДЕКС.
Как проверить пустую ячейку?

Используйте =ЕСЛИ(A1=""; "Пусто"; "Заполнено") или =ЕСЛИ(ЕПУСТО(A1); "Пусто"; "Заполнено"). Вторая функция игнорирует ячейки с формулами, возвращающими пустую строку (="").

Вложенные функции ЕСЛИ: когда одно условие зависит от другого

Иногда логика проверки требует многоуровневых решений. Например, при расчёте бонуса сотрудникам:

  • Если продажи > 200 000 руб. → бонус 15%
  • Если продажи от 100 000 до 200 000 руб. → бонус 10%
  • Если продажи < 100 000 руб. → бонус 5%

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

Синтаксис для трёх условий:

=ЕСЛИ(условие1;
       значение1;

ЕСЛИ(условие2;

значение2; значение_по_умолчанию))

Пример для бонусов:

=ЕСЛИ(B2>200000; 15%;

ЕСЛИ(B2>=100000; 10%; 5%))

Ключевые правила для вложенных формул:

  • 📌 Максимальное количество вложений в Excel — 64 уровня (на практике больше 5–7 использовать не рекомендуется)
  • 📌 Всегда начинайте с самого жёсткого условия (в примере выше — >200000)
  • 📌 Закрывайте каждую открытую скобку ЕСЛИ парной закрывающей

В Excel 365 и Excel 2019 появилась функция ЕСЛИМН (IFS), которая упрощает работу с несколькими условиями без вложений. Синтаксис: =ЕСЛИМН(условие1; значение1; условие2; значение2; ...). Например:

=ЕСЛИМН(B2>200000; 15%; B2>=100000; 10%; ИСТИНА; 5%)

Скопируйте формулу в текстовый редактор|Посчитайте количество открывающих и закрывающих скобок|Проверьте порядок условий (от самого строгого)|Убедитесь, что последнее значение — это "иначе" (для всех остальных случаев)-->

Работа с текстом и ошибками в условиях

Функция ЕСЛИ часто используется для обработки текста и предотвращения ошибок. Рассмотрим типичные сценарии.

1. Проверка текста с учётом регистра

Excel по умолчанию не чувствителен к регистру: "Да" и "да" для него одинаковы. Если нужно строгое сравнение, используйте СОВПАД (EXACT):

=ЕСЛИ(СОВПАД(A1; "Да"); "Подтверждено"; "Отклонено")

2. Поиск подстроки в тексте

Чтобы проверить, содержится ли слово в ячейке, комбинируйте ЕСЛИ с НАЙТИ (FIND) или ПОИСК (SEARCH):

=ЕСЛИ(ЕЧИСЛО(ПОИСК("срочно"; A1)); "Приоритет"; "Обычное")

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

3. Обработка ошибок

Если формула в ячейке может вернуть ошибку (например, #ДЕЛ/0! при делении на ноль), используйте ЕСЛИОШИБКА (IFERROR):

=ЕСЛИОШИБКА(B2/A2; 0)

Эта формула вернёт 0, если в A2 ноль или текст. Для более гибкой обработки комбинируйте ЕСЛИ с ЕОШИБКА (ISERROR):

=ЕСЛИ(ЕОШИБКА(B2/A2); "Данные отсутствуют"; B2/A2)
Тип ошибки Причина Как обработать
#ДЕЛ/0! Деление на ноль =ЕСЛИ(A2=0; 0; B2/A2)
#ЗНАЧ! Неверный тип данных =ЕСЛИ(ЕТЕКСТ(A1); A1; "Ошибка")
#Н/Д Значение не найдено (например, в ВПР) =ЕСЛИНД(B2; "Нет данных"; B2)

Условия с датами: сравнение, интервалы, рабочие дни

Даты в Excel хранятся как числа (количество дней с 1 января 1900 года), поэтому их можно сравнивать в условиях. Например, проверка просроченных задач:

=ЕСЛИ(A2

Здесь ТСЕГОДНЯ() возвращает текущую дату, а формула сравнивает её с датой в ячейке A2.

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

=ЕСЛИ(И(A2>=ДАТА(2026;1;1); A2<=ДАТА(2026;3;31)); "1 квартал"; "Другой период")

Продвинутый пример: проверка, является ли дата рабочим днём (без выходных). Для этого нужна функция РАБДЕНЬ (WORKDAY), но проще использовать ДЕНЬНЕД (WEEKDAY):

=ЕСЛИ(ИЛИ(ДЕНЬНЕД(A2;2)>5; A2=""); "Выходной"; "Рабочий день")

Здесь ДЕНЬНЕД(A2;2) возвращает номер дня недели (1–7, где 1 — понедельник). Если результат > 5 (суббота или воскресенье) или ячейка пустая — это выходной.

⚠️ Внимание: Функция ДЕНЬНЕД имеет два синтаксиса:
  • ДЕНЬНЕД(дата) — возвращает 1 (воскресенье) до 7 (суббота)
  • ДЕНЬНЕД(дата; 2) — возвращает 1 (понедельник) до 7 (воскресенье)

Убедитесь, что используете правильный вариант для вашей задачи!

Как посчитать количество рабочих дней между датами?

Используйте функцию ЧИСТРАБДНИ (NETWORKDAYS):

=ЧИСТРАБДНИ(A2; B2)

Она автоматически исключает выходные (субботу и воскресенье). Чтобы добавить праздники, укажите их как третий аргумент: =ЧИСТРАБДНИ(A2; B2; Праздники!A2:A10)

Продвинутые приёмы: массивы, динамические диапазоны, ЛЯМБДА

Для опытных пользователей Excel предлагает инструменты, выходящие за рамки стандартного ЕСЛИ. Рассмотрим три продвинутых техники.

1. Формулы массива с ЕСЛИ

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

=СУММ(ЕСЛИ(B2:B10="Москва"; C2:C10; 0))

Введите эту формулу как формулу массива:

  1. Выделите ячейку с формулой
  2. Нажмите F2, чтобы перейти в режим редактирования
  3. Нажмите Ctrl+Shift+Enter (в Excel 365 это не обязательно)

Фигурные скобки {} появятся автоматически, сигнализируя о формуле массива.

2. Динамические диапазоны с ЕСЛИ

В Excel 365 появились динамические массивы, которые автоматически "проливаются" на соседние ячейки. Например, чтобы извлечь все продажи выше 1000 руб.:

=ФИЛЬТР(C2:C10; C2:C10>1000)

Комбинация с ЕСЛИ позволяет добавить дополнительную логику:

=ЕСЛИОШ(ФИЛЬТР(C2:C10; C2:C10>1000); "Нет данных"; ФИЛЬТР(C2:C10; C2:C10>1000))

3. Пользовательские функции с ЛЯМБДА

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

=ЛЯМБДА(сумма;

ЕСЛИ(сумма>10000; "VIP";

ЕСЛИ(сумма>5000; "Премиум"; "Стандарт")))

Чтобы использовать её, присвойте имя через Диспетчер имён (Формулы → Диспетчер имён → Создать) и вызывайте как обычную функцию: =Классифицировать(B2).

Типичные ошибки и как их избежать

Даже опытные пользователи допускают ошибки при работе с функцией ЕСЛИ. Разберём самые распространённые.

  1. 🔴 Несовпадение типов данных

    Excel строго относится к типам: нельзя сравнивать текст с числом. Например, формула =ЕСЛИ(A1=10; "Да"; "Нет") вернёт Нет, если в A1 хранится текст "10" (даже визуально идентичный). Решение: используйте ЗНАЧЕН (VALUE) для преобразования текста в число.

  2. 🔴 Лишние или недостающие скобки

    Вложенные формулы требуют точного баланса скобок. Например, в =ЕСЛИ(A1>10; ЕСЛИ(B1<5; "Да"; "Нет")) две открывающие скобки ЕСЛИ, но только одна закрывающая. Excel подскажет ошибку, но иногда её сложно заметить в длинных формулах.

  3. 🔴 Ошибки в ссылках на ячейки

    Если при копировании формулы ссылки не обновляются (например, A1 вместо A2), проверьте тип ссылок:

    • $A$1 — абсолютная (не меняется при копировании)
    • A$1 — фиксированная строка
    • $A1 — фиксированный столбец

Чтобы быстро найти ошибку:

  • 🔍 Выделите ячейку с формулой и нажмите F2, чтобы увидеть цветную подсветку диапазонов
  • 🔍 Используйте Формулы → Зависимости формул → Влияющие ячейки для визуализации связей
  • 🔍 Разбейте сложную формулу на части и проверьте каждую отдельно

Ошибка Причина Решение
#ИМЯ? Опечатка в имени функции или диапазона Проверьте синтаксис и регистр (например, ЕСЛИ, а не если)
#ССЫЛКА! Удалена ячейка или столбец, на который ссылается формула Обновите ссылки или восстановите данные
#ЧИСЛО! Некорректное числовое значение (например, отрицательный корень) Добавьте проверку ЕСЛИОШИБКА или ограничьте диапазон

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

Как написать формулу ЕСЛИ с тремя условиями?

Используйте вложенные функции ЕСЛИ или ЕСЛИМН (в Excel 365). Пример для трёх условий:

=ЕСЛИ(A1>100; "Высокий";

ЕСЛИ(A1>50; "Средний"; "Низкий"))

Или с ЕСЛИМН:

=ЕСЛИМН(A1>100; "Высокий"; A1>50; "Средний"; ИСТИНА; "Низкий")
Почему моя формула ЕСЛИ возвращает #ЗНАЧ!?

Ошибка #ЗНАЧ! возникает, когда:

  • 🔸 Типы данных не совпадают (например, сравниваете текст с числом)
  • 🔸 В формуле используется несуществующее имя диапазона
  • 🔸 Пропущен аргумент (например, нет значения для ИСТИНА или ЛОЖЬ)

Проверьте каждую часть формулы отдельно. Например, если у вас =ЕСЛИ(И(A1>10; B1="Да"); ...), сначала убедитесь, что И(A1>10; B1="Да") работает корректно.

Можно ли использовать ЕСЛИ для изменения цвета ячейки?

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

  1. Выделите диапазон
  2. Перейдите на вкладку Главная → Условное форматирование → Создать правило
  3. Выберите Использовать формулу для определения форматируемых ячеек
  4. Введите формулу (например, =A1>100) и задайте цвет

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

Как сравнить две ячейки с учётом регистра?

Функция СОВПАД (EXACT) чувствительна к регистру:

=ЕСЛИ(СОВПАД(A1; B1); "Совпадают"; "Не совпадают")

Для сравнения без учёта регистра используйте:

=ЕСЛИ(СТРОЧН(A1)=СТРОЧН(B1); "Совпадают"; "Не совпадают")

Функция СТРОЧН (LOWER) преобразует текст в нижний регистр.

Чем заменить ЕСЛИ в больших таблицах для ускорения расчётов?

Вложенные ЕСЛИ замедляют работу с большими данными. Альтернативы:

  • 📊 ВПР/ИНДЕКС+ПОИСКПОЗ — для поиска значений по критериям
  • 📊 ПРОСМОТР (LOOKUP) — для простых сопоставлений
  • 📊 СУММЕСЛИ/СЧЁТЕСЛИ — для агрегации данных по условию
  • 📊 СУММЕСЛИМН — для нескольких критериев

Пример: вместо =ЕСЛИ(A1="Яблоки"; 100; ЕСЛИ(A1="Груши"; 150; 0)) используйте:

=ВПР(A1; {"Яблоки";100; "Груши";150}; 2; ЛОЖЬ)