Как сделать условия выполнения в Excel: 5 рабочих способов с примерами

Если в ячейке A1 нужно автоматически вывести "Прибыль", когда значение в B1 больше 1000, а в противном случае — "Убыток", вам потребуется функция ЕСЛИ с логическим условием. Это базовый пример, но в Microsoft Excel условия выполнения решают куда более сложные задачи: от фильтрации данных до динамического изменения оформления таблиц. Ошибка многих пользователей — попытка вручную проверять каждое значение, тогда как достаточно один раз настроить формулу или правило условного форматирования.

Проблема усложняется, когда требуется проверять несколько условий одновременно (например, "если C2 > 500 и D2 = "Да""). Здесь уже не обойтись без комбинации функций И/ИЛИ или вложенных ЕСЛИ. В 80% случаев некорректная работа условий связана с синтаксическими ошибками — пропущенной скобкой, неверным разделителем аргументов или неправильным порядком проверок. Далее разберём, как избежать этих ошибок и настроить условия под конкретные задачи.

1. Функция ЕСЛИ: базовый синтаксис и примеры

Функция ЕСЛИ (=IF() в английской версии) — основа для создания условий в Excel. Её синтаксис:

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

Рассмотрим практические случаи:

  • 📊 Простая проверка: =ЕСЛИ(A1>100; "Высокий"; "Низкий") — если значение в A1 больше 100, вернёт "Высокий", иначе "Низкий".
  • 💰 Расчёт бонуса: =ЕСЛИ(B2>5000; B2*0,1; 0) — начислит 10% от продажи, если она превышает 5000.
  • ⚠️ Ошибка #ЗНАЧ!: возникает, если пропустить аргумент или использовать текст без кавычек.

Для проверки нескольких условий используйте вложенные ЕСЛИ:

=ЕСЛИ(A1>90; "Отлично"; ЕСЛИ(A1>70; "Хорошо"; "Плохо"))
⚠️ Внимание: В Excel 2019 и старше максимальное количество вложений — 64. В более ранних версиях (2003-2016) — только 7 уровней.

2. Комбинация условий: функции И, ИЛИ, НЕ

Когда одно условие недостаточно, применяют логические операторы:

  • 🔗 И (AND): возвращает ИСТИНА, если все условия верны. Пример: =ЕСЛИ(И(A1>10; B1<5); "Да"; "Нет").
  • 🔀 ИЛИ (OR): достаточно одного истинного условия. Пример: =ЕСЛИ(ИЛИ(A1=1; A1=10); "Корректно"; "Ошибка").
  • НЕ (NOT): инвертирует результат. Пример: =ЕСЛИ(НЕ(A1=0); "Ненулевое"; "Ноль").

Типичная ошибка — неправильный порядок аргументов. Например, =И(A1>5; ИЛИ(B1=1; B1=2)) корректно, а =ИЛИ(A1>5; И(B1=1; B1=2)) — нет, так как И имеет приоритет над ИЛИ.

ФункцияСинтаксисПримерРезультат (если A1=8, B1=2)
И=И(условие1; условие2)=И(A1>5; B1<3)ИСТИНА
ИЛИ=ИЛИ(условие1; условие2)=ИЛИ(A1<5; B1=2)ИСТИНА
НЕ=НЕ(условие)=НЕ(A1=0)ИСТИНА
📊 Какую функцию вы используете чаще?
ЕСЛИ
И
ИЛИ
НЕ
Другую

3. Условное форматирование: визуальные правила

Если нужно автоматически выделять ячейки при выполнении условия (например, красным цветом для отрицательных значений), используйте Условное форматирование:

  1. Выделите диапазон (например, A1:A10).
  2. Перейдите на вкладку ГлавнаяУсловное форматированиеСоздать правило.
  3. Выберите тип правила:
    • 📌 Форматировать ячейки, которые содержат... — для простых условий (больше/меньше/равно).
    • 📊 Использовать формулу... — для сложной логики (например, =И(A1>100; B1="Да")).
  • Задайте формат (цвет шрифта, заливку, границы) и нажмите ОК.
  • Пример формулы для выделения строк, где в столбце C значение "Просрочено":

    =$C1="Просрочено"
    ⚠️ Внимание: В формулах условного форматирования используйте относительные ссылки (без $ перед номером строки), чтобы правило применялось ко всему диапазону.

    Выделен правильный диапазон ячеек|

    Формула начинается со знака =|

    Использованы относительные ссылки на строки (например, A1, а не A$1)|

    Задан контрастный цвет для видимости-->

    4. Функция ЕСЛИМН: замена множественных вложений

    В Excel 2019 и Office 365 появилась функция ЕСЛИМН (IFS), упрощающая работу с несколькими условиями. Синтаксис:

    =ЕСЛИМН(
    

    [условие1; значение1];

    [условие2; значение2];

    ...

    [ИСТИНА; значение_по_умолчанию]

    )

    Сравнение с вложенными ЕСЛИ:

    МетодФормулаПреимуществаНедостатки
    Вложенные ЕСЛИ=ЕСЛИ(A1>90; "A"; ЕСЛИ(A1>80; "B"; "C"))Работает во всех версияхСложно читать, ограничение по вложениям
    ЕСЛИМН=ЕСЛИМН(A1>90; "A"; A1>80; "B"; ИСТИНА; "C")Читабельно, нет ограниченийТолько в Excel 2019+

    Пример для присвоения категорий по возрасту:

    =ЕСЛИМН(
    

    A1>=18; "Взрослый";

    A1>=12; "Подросток";

    A1>=0; "Ребёнок";

    ИСТИНА; "Ошибка"

    )

    5. Проверка ошибок: ЕОШИБКА, ЕНД, ЕПУСТО

    Чтобы избежать сбоев при некорректных данных, комбинируйте условия с функциями проверки:

    • 🚨 ЕОШИБКА: возвращает ИСТИНА, если в ячейке любая ошибка (#ДЕЛ/0!, #Н/Д и т.д.). Пример: =ЕСЛИ(ЕОШИБКА(A1/B1); 0; A1/B1).
    • 🔍 ЕНД: проверяет только #Н/Д. Пример: =ЕСЛИ(ЕНД(ПОИСКПОЗ(...)); "Не найдено"; "Найдено").
    • ЕПУСТО: проверяет пустые ячейки. Пример: =ЕСЛИ(ЕПУСТО(A1); "Пусто"; A1*2).

    Типичная ошибка — использование =ЕСЛИ(A1=""; ...) вместо ЕПУСТО. Первый вариант не сработает, если ячейка содержит формулу, возвращающую пустую строку (="").

    Как проверить тип ошибки в ячейке?

    Используйте функцию =ЕЧИСЛО(), =ЕТЕКСТ() или =ЕОШ() для точной диагностики. Например, =ЕСЛИ(ЕЧИСЛО(A1); A1; "Не число") вернёт значение только если в A1 число.

    6. Динамические диапазоны с ИНДЕКС и ПОИСКПОЗ

    Для работы с условиями в динамических таблицах (например, фильтрация топ-10 значений) используйте комбинацию ИНДЕКС + ПОИСКПОЗ:

    =ИНДЕКС(диапазон; ПОИСКПОЗ(условие; диапазон_поиска; 0))

    Пример: найти первую ячейку в B2:B100, где значение больше 50, и вернуть соответствующее значение из A2:A100:

    =ИНДЕКС(A2:A100; ПОИСКПОЗ(ИСТИНА; B2:B100>50; 0))
    ⚠️ Внимание: Это массивная формула — вводите её с Ctrl+Shift+Enter в версиях Excel до 2019 года.

    7. Условия в сводных таблицах и Power Query

    В сводных таблицах условия настраиваются через Фильтры или Нарезанные данные:

    1. Добавьте сводную таблицу (ВставкаСводная таблица).
    2. Перетащите поле в область Фильтры.
    3. Нажмите на стрелку фильтра и выберите Фильтры по значению или Фильтры по меткам.

    В Power Query (доступен в Excel 2016+) условия создаются через:

    • 🔄 Фильтрация строк: кликните на стрелку в заголовке столбца и задайте условие (например, "больше 100").
    • Добавление столбца: Добавить столбецУсловный столбец → укажите правила вида "если [Столбец1] > 50, то 'Высокий'".

    Пример кода M для Power Query (условное разделение данных):

    
    

    = Table.AddColumn(#"Предыдущий шаг", "Категория", each if [Значение] > 100 then "A" else "B")

    Частые ошибки и как их исправить

    Анализ типичных проблем при работе с условиями:

    ОшибкаПричинаРешение
    #ИМЯ?Опечатка в названии функцииПроверьте регистр: ЕСЛИ, а не если.
    #ЗНАЧ!Несовпадение типов данныхИспользуйте =ЕЧИСЛО() для проверки.
    Неправильный результатОшибка в логике условияРазбейте формулу на части и проверьте каждую отдельно.
    Условное форматирование не применяетсяАбсолютные ссылки ($A$1)Замените на относительные (A1).

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

    Как сделать условие с несколькими критериями (например, "если A1 > 10 И B1 = 'Да'")?

    Используйте функцию И внутри ЕСЛИ:

    =ЕСЛИ(И(A1>10; B1="Да"); "Подходит"; "Не подходит")

    Для ИЛИ замените И на ИЛИ.

    Почему формула =ЕСЛИ(A1=B1; "Совпадает"; "Не совпадает") не работает с датами?

    Excel хранит даты как числа. Для корректного сравнения используйте:

    =ЕСЛИ(A1-B1=0; "Совпадает"; "Не совпадает")

    Или преобразуйте в текст: =ЕСЛИ(ТЕКСТ(A1;"дд.мм.гггг")=ТЕКСТ(B1;"дд.мм.гггг"); ...).

    Как применить условие ко всему столбцу автоматически?

    1. Введите формулу в первую ячейку (например, C1).

    2. Дважды кликните на маркер автозаполнения (маленький квадрат в правом нижнем углу ячейки).

    3. Для условного форматирования выделите весь столбец (C:C) перед созданием правила.

    Можно ли использовать условия в Google Таблицах?

    Да, синтаксис идентичен Excel, но есть нюансы:

    • Функции на английском: =IF(), =AND().
    • Разделитель аргументов — запятая (,), а не точка с запятой (;).
    • Условное форматирование настраивается через меню ФорматУсловное форматирование.
    Как сделать условие с проверкой текста без учёта регистра?

    Используйте функцию СРАВНИТЬ или НАЙТИ:

    =ЕСЛИ(СРАВНИТЬ(A1; "текст"; 0)=0; "Совпадает"; "Не совпадает")

    Или:

    =ЕСЛИ(НЕ(ЕОШИБКА(НАЙТИ("текст"; A1))); "Содержит"; "Не содержит")