Напоминания в Excel чаще всего делают двумя способами: визуально выделяют нужные строки через условное форматирование и (по желанию) добавляют отдельный столбец с текстом напоминания. В обоих случаях Excel сам пересчитывает все при изменении даты и при наступлении нового дня.
Ниже - рабочая схема для событий, где у вас есть дата в ячейке и нужно подсветить ближайшие дни и показать, сколько осталось.
Подготовьте данные
Соберите таблицу, например так:
| A | B | C |
|---|---|---|
| Имя | Дата события | Осталось дней |
- В столбце B храните дата события как тип “Дата”, а не текст.
- Если дата повторяется каждый год (например, день рождения), храните “день и месяц” в обычной датой-значение (год не важен для подсветки ниже).
Проверка типа:
- Выделите ячейку с датой - “Главная” -> формат. Должно быть похоже на “Дата”.
Вариант 1. Подсветка по условному форматированию (без макросов)
Этот способ решает задачу “напоминания по дате в ячейке” через цвета.
Шаг 1. Посчитайте “дата события в текущем году” (помощник)
Допустим, B2 - ваша дата события. Введите в C2 формулу “дата события в текущем году”:
=ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(B2);ДЕНЬ(B2))
Протащите формулу вниз на весь столбец.
Идея простая: мы берем месяц и день из B2 и собираем дату уже в текущем году.
Шаг 2. Посчитайте, сколько дней осталось
В D2 (или в C2 вместо предыдущего значения, если вы сделали иначе) посчитайте разницу:
=С2- СЕГОДНЯ()
Где C2 - “дата события в текущем году”.
Получится число:
- отрицательное - событие уже прошло
- 0 - сегодня
- положительное - сколько дней осталось
Шаг 3. Создайте правило условного форматирования “за 30 дней до” и “в день события”
1) Выделите диапазон, который хотите красить, например B2:B100
2) “Главная” -> “Условное форматирование” -> “Создать правило”
3) “Использовать формулу для определения ячеек для форматирования”
4) Введите формулу (для диапазона B2:B100 она должна ссылаться на D2):
Для красного (в день события или в ближайшие 0..N дней, пример N=30):
=И(D2>=0;D2<=30)
Выберите заливку, например красную.
Создайте второе правило для “желтого” (раньше, например за 31..60 дней):
=И(D2>30;D2<=60)
Выберите другой цвет, например желтый.
Если нужно выделять только день события (точно 0 дней):
=D2=0
Так вы получаете “напоминания” за заранее заданный интервал и в день события.
Вариант 2. Текст напоминания в отдельной ячейке
Если вам нужно, чтобы рядом появлялось сообщение вроде “Осталось X дней до события”, добавьте столбец E.
Для однократных событий (дата хранится полностью, включая год) можно использовать:
=ЕСЛИ(A2="";""; "Осталось " & (B2-СЕГОДНЯ()) & " дней")
Для годовых повторяющихся событий лучше считать разницу с “датой события в текущем году” (C2):
=ЕСЛИ(A2="";""; "Осталось " & (C2-СЕГОДНЯ()) & " дней")
Строки можно также подсвечивать по условному форматированию, как в варианте 1, ориентируясь на D2/C2.
Календарь из подсказки (всплывающее окно)
Сделать “чтобы при наведении на ячейку появлялся календарь” стандартными средствами Excel нельзя. Обычно делается другое:
- либо выделение цветом через условное форматирование,
- либо подсказка текстом (обычный tooltip),
- либо отдельный лист-календарь, куда выводится список событий на сегодня.
Если вам нужен именно интерактивный календарь в подсказке, это обычно делается надстройками или автоматизацией. В обычном Excel без дополнительных инструментов можно рассчитывать на визуальную подсветку и отдельные “окна” на листе.
Что важно учесть (типичные ошибки)
| Проблема | Почему так выходит | Как исправить |
|---|---|---|
| Не работает условное форматирование | дата в ячейке - текст | Преобразуйте в дату: “Данные” -> “Текст по столбцам” или используйте подходящее преобразование по вашей ситуации |
| Подсветка “уезжает” | правило ссылается не на ту строку | Убедитесь, что формула использует D2 именно для строки B2 и диапазон соответствует |
| Событие за годами работает неправильно | считали разницу с “датой с годом”, а нужно с “текущим годом” | Используйте “дата события в текущем году”: ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(...);ДЕНЬ(...)) |
| Непонятно, сколько осталось | формула считает дату неверно или сравнивает с TODAY не в том месте | Проверьте, где стоит СЕГОДНЯ() и какая ячейка используется в разнице |
Если нужны напоминания при открытии файла
Без макросов Excel не умеет “выпрыгивать” уведомлением при открытии. Но подсветка через условное форматирование срабатывает сразу после открытия и продолжает обновляться по текущей дате, потому что использует СЕГОДНЯ().
Если же нужно именно всплывающее сообщение при открытии, обычно используют макросы (VBA) или сценарии Office в связке с Power Automate. На практике это описывается в материалах от сообщества и в руководствах Microsoft по автоматизации. Для примера подходов к уведомлениям через автоматизацию напоминаний можно ориентироваться на официальные инструкции Microsoft по Office Scripts и Power Automate (отправка напоминаний по расписанию). Источник: Microsoft Learn про запуск скриптов Excel и связку с Power Automate - https://learn.microsoft.com/ru-ru/office/dev/scripts/tutorials/excel-power-automate-returns
Итоговая схема “быстро и надежно”
1) Убедитесь, что дата в ячейка - тип “Дата”.
2) Для годовых событий посчитайте “дата в текущем году” формулой через ГОД/МЕСЯЦ/ДЕНЬ.
3) Посчитайте разницу с СЕГОДНЯ().
4) Сделайте 2-3 правила условного форматирования: “за N дней” и “в день события”.
5) Добавьте столбец с текстом напоминания, если нужен понятный вывод человеку.
Так вы получите напоминания, которые обновляются автоматически и не требуют ручной настройки каждый день.
Источники
- Руководство и примеры подсветки дней рождения в Excel с формулами и условным форматированием (акцент на СЕГОДНЯ() и MONTH/DAY): https://ru.extendoffice.com/documents/excel/1445-excel-birthday-reminder.html
- Обсуждение задач с напоминаниями и подсветкой дат через условное форматирование и формулы (форум): https://forum.kasperskyclub.ru/topic/49000-kak-sozdat-excel-2013-tablicu-napominaniya-o-datah-nastupleniya-sobytiya/
- Официальное описание подхода “уведомления/напоминания” через Office Scripts и Power Automate: https://learn.microsoft.com/ru-ru/office/dev/scripts/tutorials/excel-power-automate-returns