Как в Excel создать правило заливки ячейки по дате: инструкция с примерами

Автоматическая заливка ячеек в зависимости от даты — одна из самых востребованных функций Microsoft Excel для работы с временными данными. С её помощью можно визуально выделять просроченные задачи, приближающиеся дедлайны или актуальные события без ручного форматирования каждой строки. Но как правильно настроить такое условное форматирование, чтобы оно работало корректно с любыми диапазонами дат?

Многие пользователи сталкиваются с проблемами: то правило не срабатывает на будущие даты, то заливка применяется ко всем ячейкам подряд, то формулы возвращают ошибки. В этой статье разберём пошаговую настройку условного форматирования по датам — от базовых правил до сложных формул с относительными ссылками. А ещё покажем, как избежать типичных ошибок при работе с датами в разных форматах.

Если вы работаете с отчётами, календарными планами или любыми таблицами, где важна временная привязка, эта инструкция сэкономит вам часы ручной разметки. Начнём с простых примеров и постепенно перейдём к продвинутым техникам — включая динамические правила, которые автоматически адаптируются к текущей дате.

Почему стандартные правила заливки не работают с датами?

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

Excel хранит даты не как текст, а как серийные числа (например, 1 января 1900 года соответствует числу 1, а 1 января 2026 года45292). Если ваша ячейка содержит текст, который лишь выглядит как дата (например, "01.01.2026" без формата), условное форматирование не сработает. Вот почему перед настройкой правил важно проверить формат данных.

  • 🔹 Текстовый формат: Excel воспринимает содержимое как строку, даже если оно похоже на дату. Правила заливки игнорируют такие ячейки.
  • 🔹 Формат даты: Ячейка содержит серийное число, и условное форматирование корректно сравнивает его с другими датами.
  • 🔹 Пустые ячейки: Могут ломать логику правил, если не учтены в формулах (например, =И(A1<>"";A1).

Ещё одна ловушка — региональные настройки. В российской версии Excel по умолчанию используется формат ДД.ММ.ГГГГ, а в американской — ММ/ДД/ГГГГ. Если вы копируете таблицу из иностранного источника, даты могут интерпретироваться неверно. Например, 01/02/2026 в США означает 1 февраля, а в России Excel может воспринять это как 2 января.

📊 Какой формат даты вы чаще всего используете в Excel?
ДД.ММ.ГГГГ
ММ/ДД/ГГГГ
ГГГГ-ММ-ДД
Другой

Базовое условное форматирование: заливка по фиксированной дате

Начнём с самого простого варианта — выделения ячеек, которые содержат конкретную дату или попадают в заданный диапазон. Этот метод подходит для статичных таблиц, где не требуется динамическое обновление правил.

Допустим, у вас есть столбец с датами выполнения задач (B2:B100), и вам нужно выделить красным все задачи, которые должны были быть завершены до 31 декабря 2023 года. Вот как это сделать:

  1. Выделите диапазон ячеек B2:B100.
  2. Перейдите на вкладку ГлавнаяУсловное форматированиеСоздать правило.
  3. В окне Новое правило форматирования выберите Форматировать только ячейки, которые содержат.
  4. В поле Форматировать только ячейки с: установите Значение ячейкименьше.
  5. В правой части введите 31.12.2023 (или выберите дату из календаря, нажав на иконку рядом с полем).
  6. Нажмите Формат, выберите красную заливку и подтвердите изменения.

Теперь все даты до 31 декабря 2023 года будут подсвечены. Аналогично можно настроить правила для диапазонов (например, "между 01.01.2026 и 31.03.2026") или для конкретных дат (например, "равно 15.02.2026").

Выделили правильный диапазон ячеек|Убедились, что ячейки имеют формат "Дата"|Проверили региональные настройки Excel|Сохранили резервную копию таблицы-->

Динамическая заливка: выделение прошедших и будущих дат

Гораздо полезнее правила, которые автоматически обновляются в зависимости от текущей даты. Например, вы хотите, чтобы задачи с просроченными сроками подсвечивались красным, а те, что нужно выполнить сегодня — зелёным.

Для этого используйте функцию TODAY(), которая всегда возвращает текущую дату. Рассмотрим два варианта настройки:

  • 🔴 Просроченные даты (красный):
    =A1

    Примените это правило к диапазону с датами, и все ячейки с датами раньше сегодняшней будут выделены.

  • 🟢 Текущая дата (зелёный):
    =A1=TODAY()

    Подсветит только те ячейки, где дата совпадает с сегодняшним днём.

  • 🔵 Будущие даты (синий):
    =A1>TODAY()

    Выделит все даты, которые ещё не наступили.

Чтобы создать такое правило, выберите Условное форматированиеСоздать правилоИспользовать формулу для определения форматируемых ячеек. Введите одну из формул выше и настройте цвет заливки.

=И(A1>TODAY();A1<=TODAY()+7)

Это поможет визуально отделить срочные задачи от остальных.-->

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

=И(A1<>"";A1

Продвинутые правила: заливка по дню недели или месяцу

Иногда требуется выделять ячейки не по конкретной дате, а по дню недели, месяцу или даже кварталу. Например, вы хотите подсветить все выходные дни или даты, приходящиеся на пятницу. Для этого используйте функции ДЕНЬНЕД() и МЕСЯЦ().

Вот несколько полезных формул:

Цель Формула Пример результата
Выделить выходные (суббота и воскресенье) =ИЛИ(ДЕНЬНЕД(A1;2)=6;ДЕНЬНЕД(A1;2)=7) Заливка для дат, приходящихся на 6-й и 7-й дни недели
Выделить пятницы =ДЕНЬНЕД(A1;2)=5 Подсветка всех пятниц в диапазоне
Выделить даты в январе =МЕСЯЦ(A1)=1 Заливка для всех дат января независимо от года
Выделить даты текущего месяца =МЕСЯЦ(A1)=МЕСЯЦ(TODAY()) Динамическая подсветка актуального месяца

Аргумент 2 в функции ДЕНЬНЕД() указывает, что неделя начинается с понедельника (значение 1 означало бы начало с воскресенья). Если вам нужно выделить рабочие дни, используйте:

=И(ДЕНЬНЕД(A1;2)>=1;ДЕНЬНЕД(A1;2)<=5)
Как работает функция ДЕНЬНЕД()?

Функция ДЕНЬНЕД(дата;[возврат_типа]) возвращает номер дня недели для указанной даты.

- Если возврат_типа=1 (или опущен), неделя начинается с воскресенья (1 = воскресенье, 7 = суббота).

- Если возврат_типа=2, неделя начинается с понедельника (1 = понедельник, 7 = воскресенье).

Пример: =ДЕНЬНЕД("15.02.2026";2) вернёт 4 (четверг).

Ошибки и их решения: почему заливка не работает?

Даже опытные пользователи Excel иногда сталкиваются с тем, что условное форматирование по датам отказывается работать. Рассмотрим наиболее частые причины и способы их устранения.

⚠️ Внимание: Если вы скопировали данные из внешнего источника (например, с сайта или из PDF), даты могут быть сохранены как текст. Проверьте это с помощью функции =ЕТЕКСТ(A1) — если она возвращает ИСТИНА, преобразуйте данные в формат даты через ДАТАЗНАЧ().
  • 🚫 Проблема: Правило применяется ко всем ячейкам, включая пустые.

    Решение: Добавьте в формулу проверку на пустоту:

    =И(A1<>"";A1
  • 🚫 Проблема: Даты в формате ДД-ММ-ГГГГ не распознаются.

    Решение: Измените формат ячеек на Дата через Формат ячеекЧисловые форматыДата.

  • 🚫 Проблема: Формула с TODAY() не обновляется автоматически.

    Решение: Включите автоматический пересчёт формул: ФормулыПараметры вычисленийАвтоматически.

Ещё одна распространённая ошибка — использование абсолютных ссылок в формулах. Если вы создаёте правило для диапазона A1:A100 и в формуле указываете =A1, Excel автоматически подстроит ссылку для каждой строки (A2, A3 и т.д.). Но если вы случайно зафиксируете ссылку как =$A$1, правило будет проверять только первую ячейку во всём диапазоне.

Примеры реального применения: от календарей до отчётов

Условное форматирование по датам полезно не только для простых списков задач. Вот несколько практических сценариев, где эта функция экономит часы работы:

1. Календарь событий

Создайте таблицу с датами мероприятий и используйте правила заливки, чтобы:

  • 📅 Выделять красным просроченные события.
  • 🟡 Подсвечивать жёлтым события, которые наступят в течение недели.
  • 🟢 Отмечать зелёным сегодняшние мероприятия.

2. Контроль оплаты счетов

В таблице с датами оплаты настройте:

  • 🔴 Красный для просроченных платежей (=A1 — если оплата задерживается более чем на 30 дней).
  • 🟠 Оранжевый для платежей, которые нужно оплатить в течение 5 дней (=И(A1<=TODAY()+5;A1>TODAY())).

3. Анализ продаж по периодам

Выделите цветом даты, соответствующие:

  • 📈 Пиковым сезонам (например, декабрь для новогодних продаж).
  • 📉 Периодам низкого спроса (июль-август).

Для последнего примера формула может выглядеть так:

=ИЛИ(МЕСЯЦ(A1)=7;МЕСЯЦ(A1)=8)

Автоматизация с помощью таблиц Excel и Power Query

Если вы работаете с большими наборами данных, ручная настройка условного форматирования может быть утомительной. В этом случае поможет преобразование диапазона в умную таблицу (ВставкаТаблица) или использование Power Query для предварительной обработки данных.

Преимущества умных таблиц:

  • 🔄 Автоматическое распространение правил форматирования на новые строки.
  • 📊 Возможность использования структурированных ссылок в формулах (например, =[@Дата]).
  • 🔍 Удобная фильтрация и сортировка по датам.

Пример: если ваша таблица называется Таблица1, а столбец с датами — Срок, формула для условного форматирования может выглядеть так:

=[@Срок]

Для ещё более сложных сценариев (например, выделения дат на основе данных из другой таблицы) используйте Power Query. С его помощью можно создать дополнительный столбец с метками (например, "Просрочено", "Актуально") и затем применить условное форматирование на основе этих меток.

=И(A1<=TODAY();A1>TODAY()-30)

Это правило будет автоматически обновляться каждый день.-->

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

Как сделать так, чтобы заливка обновлялась автоматически при открытии файла?

По умолчанию Excel пересчитывает формулы с TODAY() при открытии книги. Если этого не происходит, проверьте настройки:

  1. Перейдите в ФормулыПараметры вычислений.
  2. Убедитесь, что выбрано Автоматически.
  3. Если нужно принудительно обновить, нажмите Вычислить сейчас (F9).
Можно ли применить условное форматирование к датам в сводной таблице?

Да, но с ограничениями. Условное форматирование в сводных таблицах работает только для значений, а не для строк или столбцов с датами. Чтобы выделить даты в строках:

  1. Преобразуйте исходные данные в умную таблицу.
  2. Примените условное форматирование к столбцу с датами до создания сводной таблицы.

Или используйте Power Pivot для создания вычисляемых полей с метками (например, "Просрочено"), а затем стройте сводную таблицу на их основе.

Как выделить даты, которые попадают на определённый квартал?

Используйте функцию МЕСЯЦ() с проверкой диапазона месяцев. Например, для 2-го квартала (апрель-июнь):

=И(МЕСЯЦ(A1)>=4;МЕСЯЦ(A1)<=6)

Для текущего квартала формула будет динамической:

=И(МЕСЯЦ(A1)>=МЕСЯЦ(ДАТА(ГОД(TODAY());ПОИСКПОЗ(МЕСЯЦ(TODAY());{1;4;7;10});1)); МЕСЯЦ(A1)<МЕСЯЦ(ДАТА(ГОД(TODAY());ПОИСКПОЗ(МЕСЯЦ(TODAY());{1;4;7;10})+3;1)))
Почему моё правило работает только для первой строки?

Скорее всего, в формуле условного форматирования вы использовали абсолютную ссылку (например, =$A$1). Исправьте её на относительную:

=A1

Excel автоматически скорректирует ссылку для каждой ячейки диапазона (например, для строки 2 формула станет =A2).

Можно ли применить разные цвета для разных условий (например, красный для просрочки, жёлтый для предупреждения)?

Да, для этого создайте несколько правил с разным приоритетом:

  1. Первое правило: красный для =A1 (просрочка более 7 дней).
  2. Второе правило: оранжевый для =И(A1=TODAY()-7) (просрочка менее 7 дней).
  3. Третье правило: жёлтый для =И(A1>TODAY();A1<=TODAY()+3) (срок истекает через 3 дня).

Чтобы правила не конфликтовали, установите флажок Остановить, если истина для каждого из них (кроме последнего).