Контроль выполнения планов — одна из самых распространённых задач в Excel. Без автоматизации этот процесс превращается в рутинную проверку каждой строки: выполнен план или нет, на сколько процентов, какие отделы отстают. Функция ЕСЛИ (или IF в английской версии) позволяет решить эту задачу за считанные минуты, даже если у вас тысячи строк данных.
Но просто написать =ЕСЛИ(... — недостаточно. Нужно учитывать нюансы: как обрабатывать нулевые значения, как вычислять проценты выполнения, как визуализировать результаты с помощью условного форматирования. В этой статье разберём 7 практических примеров — от базовой проверки "план/факт" до сложных формул с вложенными условиями и динамическими диапазонами. Все решения протестированы в Excel 2019–2026 и Excel Online.
Вы научитесь:
- 📊 Писать формулы для сравнения фактических данных с планом (в числах и процентах).
- 🎨 Автоматически подсвечивать ячейки цветами в зависимости от выполнения.
- 📈 Строить динамические отчёты с выделением лидеров и аутсайдеров.
- 🔄 Использовать
ЕСЛИвместе сИ,ИЛИ,СЧЁТЕСЛИдля сложных условий.
1. Базовая формула ЕСЛИ для сравнения плана и факта
Начнём с простейшего варианта: проверка, выполнен ли план по количественному показателю (например, продажи, производство, посещаемость). Допустим, у вас есть два столбца:
- 📌
B2:B10— плановые значения (целевые показатели). - 📌
C2:C10— фактические значения (реальные результаты).
Формула для столбца D2 (результат проверки):
=ЕСЛИ(C2>=B2; "План выполнен"; "План не выполнен")
Как это работает:
- Сравнивает значение в
C2(факт) сB2(план). - Если факт ≥ плана → выводит "План выполнен".
- Если факт < плана → выводит "План не выполнен".
⚠️ Внимание: Если в ячейках плана или факта могут быть пустые значения, добавьте проверку на ошибки с помощьюЕНД():=ЕСЛИ(ИЛИ(ЕНД(B2); ЕНД(C2)); ""; ЕСЛИ(C2>=B2; "Да"; "Нет"))Это предотвратит вывод
#ЗНАЧ!в пустых строках.
2. Формула с процентом выполнения плана
Часто недостаточно знать, выполнен план или нет — нужно видеть на сколько процентов. Для этого модифицируем формулу:
=ЕСЛИ(B2=0; "Нет плана"; ЕСЛИ(C2>=B2; "100%"; ТЕКСТ(C2/B2;"0%")))
Разберём по частям:
- 🔹
ЕСЛИ(B2=0; "Нет плана"; ...)— проверка на нулевой план (деление на ноль приведёт к ошибке). - 🔹
ЕСЛИ(C2>=B2; "100%"; ...)— если факт ≥ плана, выводим "100%". - 🔹
ТЕКСТ(C2/B2;"0%")— преобразует дробь в проценты с округлением до целых.
Пример результата:
| План (B) | Факт (C) | Выполнение (%) |
|---|---|---|
| 100 | 120 | 100% |
| 200 | 150 | 75% |
| 0 | 50 | Нет плана |
3. Условное форматирование: подсветка выполненных и невыполненных планов
Визуализация данных ускоряет анализ. Добавим цветовую индикацию:
- Выделите диапазон с результатами (например,
D2:D10). - Перейдите на вкладку
Главная → Условное форматирование → Создать правило. - Выберите
Форматировать только ячейки, которые содержат. - В поле "Форматировать ячейки, для которых выполняется следующее условие" введите:
=D2="План выполнен"и установите зелёный цвет фона.
- Добавьте второе правило для
=D2="План не выполнен"с красным фоном.
Для процентов используйте правила:
- 🟢 Зелёный:
=D2="100%". - 🟡 Жёлтый:
=И(D2<>"100%"; D2<>"Нет плана"; ЗНАЧЕН(D2)>80%)(выполнение >80%). - 🔴 Красный:
=И(D2<>"Нет плана"; ЗНАЧЕН(D2)<=80%).
4. Формула ЕСЛИ с несколькими условиями (вложенные ЕСЛИ)
Допустим, вам нужно не только проверять выполнение плана, но и классифицировать результаты по категориям:
- 🥇 "Превышение" — факт > плана на 10%.
- 🟢 "Выполнен" — факт ≥ плана.
- 🟡 "Почти выполнен" — факт от 90% до 99% плана.
- 🔴 "Не выполнен" — факт < 90% плана.
Формула для такой логики:
=ЕСЛИ(C2>=B2*1,1; "🥇 Превышение";
ЕСЛИ(C2>=B2; "🟢 Выполнен";
ЕСЛИ(C2>=B2*0,9; "🟡 Почти выполнен"; "🔴 Не выполнен")))
Важно: Порядок условий имеет значение! Начинайте с самого строгого условия (превышение на 10%) и заканчивайте самым широким (не выполнен).
Как упростить вложенные ЕСЛИ?
В Excel 365 и Excel 2021 доступна функция ВЫБРАТЬ() (SWITCH), которая делает код чище:
=ВЫБРАТЬ(
ИСТИНА;
C2>=B2*1,1; "🥇 Превышение";
C2>=B2; "🟢 Выполнен";
C2>=B2*0,9; "🟡 Почти выполнен";
"🔴 Не выполнен"
)
5. Динамический анализ выполнения плана по датам
Если планы задаются на месяц/квартал, а факты поступают ежедневно, формула должна учитывать текущую дату. Например, проверка выполнения ежемесячного плана на сегодня:
=ЕСЛИ(
СЕГОДНЯ()>ДАТАГОД(B2;12;31);
"Архивный период";
ЕСЛИ(
C2>=B2*ДОЛЯГОДА(ДАТАГОД(B2;МЕСЯЦ(СЕГОДНЯ());1);СЕГОДНЯ();1);
"В графике";
"Отстаём"
)
)
Расшифровка:
- 📅
СЕГОДНЯ()— текущая дата. - 🔄
ДАТАГОД(B2;12;31)— последний день года из ячейкиB2(для проверки архивных данных). - ⏳
ДОЛЯГОДА— вычисляет долю прошедшего времени в году (например, 0.5 для середины года).
⚠️ Внимание: Эта формула работает только если в ячейкеB2указан год (например, "2026"). Для месячных планов заменитеДОЛЯГОДАнаДНЕЙ360или(СЕГОДНЯ()-ДАТАГОД(B2;МЕСЯЦ(СЕГОДНЯ());1))/30.
6. Формулы для сводных отчётов: СЧЁТЕСЛИ + ЕСЛИ
Чтобы посчитать, сколько планов выполнено в отделе или за период, комбинируйте ЕСЛИ с функциями подсчёта:
Пример 1. Количество выполненных планов в диапазоне D2:D100:
=СЧЁТЕСЛИ(D2:D100; "🟢 Выполнен")
Пример 2. Процент выполненных планов от общего числа:
=СЧЁТЕСЛИ(D2:D100; "🟢 Выполнен") / СЧЁТЗ(D2:D100)
Пример 3. Сумма фактических значений только для выполненных планов:
=СУММЕСЛИ(D2:D100; "🟢 Выполнен"; C2:C100)
Для анализа по отделам или категориям добавьте дополнительный критерий. Например, подсчёт выполненных планов в отделе "Продажи" (столбец A):
=СЧЁТЕСЛИМН(D2:D100; "🟢 Выполнен"; A2:A100; "Продажи")
Использовать абсолютные ссылки для диапазонов (например, $D$2:$D$100)|Проверить наличие пустых ячеек в критериях|Тестировать формулу на крайних значениях (0, отрицательные числа)|Добавить условное форматирование для выделения аномалий-->
7. Автоматизация с помощью Power Query (для продвинутых пользователей)
Если данных много (тысячи строк), а отчёты нужно генерировать регулярно, ЕСЛИ в ячейках может тормозить файл. Решение — Power Query (вкладка Данные → Получение данных):
- Импортируйте таблицу с планами и фактами в Power Query.
- Добавьте столбец с формулой:
if [Факт] >= [План] then "Выполнен" else "Не выполнен" - Для процентов используйте:
if [План] = 0 then "Нет плана" else Number.ToText([Факт]/[План]) & "%" - Загрузите данные обратно в Excel.
Power Query обновляет результаты автоматически при изменении исходных данных, в отличие от формул в ячейках, которые требуют пересчёта (F9).
FAQ: Частые вопросы по формулам ЕСЛИ для плана/факта
Как сделать, чтобы формула игнорировала пустые ячейки?
Добавьте проверку на пустоту с помощью ЕПУСТО() или ЕНД():
=ЕСЛИ(ИЛИ(ЕПУСТО(B2); ЕПУСТО(C2)); ""; ЕСЛИ(C2>=B2; "Да"; "Нет"))
Можно ли в формуле ЕСЛИ использовать цвета вместо текста?
Нет, ЕСЛИ возвращает только текст или числа. Для цветов используйте условное форматирование (см. раздел 3) или символьную кодировку (например, "🟢" для зелёного).
Как посчитать выполнение плана в процентах с учётом весов?
Если у планов разный вес (например, приоритет), используйте формулу:
=СУММПРОИЗВ(C2:C10; D2:D10) / СУММПРОИЗВ(B2:B10; D2:D10)
Где D2:D10 — столбец с весами.
Почему формула возвращает #ДЕЛ/0! при делении?
Ошибка возникает при делении на ноль. Добавьте проверку:
=ЕСЛИ(B2=0; 0; C2/B2)
Или используйте ЕСЛИОШИБКА():
=ЕСЛИОШИБКА(C2/B2; 0)
Как автоматически обновлять даты в формулах с СЕГОДНЯ()?
Функция СЕГОДНЯ() не обновляется вручную. Чтобы принудительно пересчитать все зависимые формулы, нажмите F9 или перейдите в Формулы → Вычислить сейчас. Для автоматического обновления настройте параметры в Файл → Параметры → Формулы → Параметры вычислений (выберите "Автоматически").