Автоматизация работы с датами: функции СЕГОДНЯ и МЕСЯЦ
Функции СЕГОДНЯ() и МЕСЯЦ() в Excel позволяют автоматически подставлять текущую дату и извлекать номер месяца из любого значения, что критически важно для создания «живых» отчетов, дашбордов и калькуляторов сроков. =СЕГОДНЯ() возвращает актуальную дату системы при каждом открытии файла, а =МЕСЯЦ(дата) преобразует дату в число от 1 до 12. Используя их вместе, можно строить динамические таблицы, которые не требуют ручного обновления дат.
Главное отличие: Функция СЕГОДНЯ() обновляется автоматически при любом изменении в книге или её открытии. Если вам нужно зафиксировать дату ввода (статичная дата), используйте комбинацию клавиш Ctrl + ;.
Функция СЕГОДНЯ(): динамическая дата в ячейке
Эта функция не требует аргументов. Она считывает системные часы компьютера и выводит дату в формате, принятом в настройках Excel.
Базовый синтаксис
=СЕГОДНЯ()
Просто введите формулу в любую ячейку. Результатом будет числовое значение даты (например, 45393), которое отображается как дата благодаря форматированию ячейки.
Практические сценарии использования
1. Расчет остатка дней до дедлайна
Если в ячейке B2 указана конечная дата проекта, формула в соседней ячейке покажет, сколько дней осталось:
=B2 - СЕГОДНЯ()
Чтобы текст был понятнее, оберните расчет в условие:
=ЕСЛИ(B2 - СЕГОДНЯ() < 0; "Просрочено"; B2 - СЕГОДНЯ() & " дн.")
2. Автоматическое проставление даты заполнения
В журналах учета часто требуется видеть дату внесения записи. Формула =СЕГОДНЯ() в столбце «Дата» гарантирует, что при печати отчета сегодня там будет стоять сегодняшнее число, а не дата создания шаблона.
Проблема отображения: Если после ввода формулы вы видите число вроде 45393, а не 11.04.2026, измените формат ячейки. Нажмите Ctrl+1, выберите категорию Дата и нужный формат отображения.
Функция МЕСЯЦ(): извлечение номера месяца
Функция МЕСЯЦ принимает дату (число, ссылку на ячейку или результат другой формулы) и возвращает целое число от 1 (январь) до 12 (декабрь).
Синтаксис
=МЕСЯЦ(число_даты)
Где число_даты — это ссылка на ячейку с датой (например, A1) или сама дата в кавычках ("15.05.2026").
Примеры применения
Группировка продаж по месяцам Имея столбец с датами транзакций, создайте вспомогательный столбец «Месяц»:
=МЕСЯЦ(A2)
Получив числа 1, 1, 2, 3..., вы сможете легко фильтровать данные или строить сводные таблицы, группируя операции по месяцам без сложных настроек группировки дат.
Проверка квартала
Комбинируя с функцией ОКРУГЛВВЕРХ, можно определить квартал:
=ОКРУГЛВВЕРХ(МЕСЯЦ(A2)/3; 0)
Для даты в марте (месяц 3) формула вернет 1 (первый квартал), для апреля (4) — 2.
Комбинирование функций для продвинутой аналитики
Совместное использование СЕГОДНЯ и МЕСЯЦ открывает возможности для создания полностью автоматизированных шаблонов.
Топ-4 полезные связки
| Задача | Формула | Описание |
|---|---|---|
| Первое число текущего месяца | =ДАТА(ГОД(СЕГОДНЯ()); МЕСЯЦ(СЕГОДНЯ()); 1) | Возвращает дату начала текущего периода (например, 01.04.2026). |
| Последнее число месяца | =ДАТА(ГОД(СЕГОДНЯ()); МЕСЯЦ(СЕГОДНЯ())+1; 0) | Хитрый прием: день «0» следующего месяца дает последний день текущего. |
| Название месяца текстом | =ТЕКСТ(СЕГОДНЯ(); "ММММ") | Выводит полное название («апрель») для заголовков отчетов. |
| Количество дней в месяце | =ДЕНЬ(ДАТА(ГОД(СЕГОДНЯ()); МЕСЯЦ(СЕГОДНЯ())+1; 0)) | Возвращает число 30 или 31 (или 28/29) для текущего месяца. |
Создание «умного» заголовка отчета
Чтобы шапка отчета всегда содержала актуальный месяц и год, используйте сцепку текста и функций:
="Отчет о продажах за " & ТЕКСТ(СЕГОДНЯ();"ММММ ГГГГ")
Результат: Отчет о продажах за апрель 2026. При открытии файла в мае текст изменится автоматически.
Совет для дашбордов: Используйте функцию МЕСЯЦ(СЕГОДНЯ()) в условиях условного форматирования. Например, чтобы подсветить строки только за текущий месяц: правило формулы =МЕСЯЦ($A2)=МЕСЯЦ(СЕГОДНЯ()).
Частые ошибки и способы их устранения
При работе с датами пользователи часто сталкиваются с типовыми проблемами, которые легко исправить.
-
Ошибка #ЗНАЧ! Возникает, если в ячейке, на которую ссылается
МЕСЯЦ, хранится текст, а не дата (например, "янв. 2026" или дата с лишними пробелами). Решение: Проверьте исходные данные. Используйте функциюДАТАЗНАЧдля конвертации текста или убедитесь, что разделители дат соответствуют настройкам системы. -
Неверный расчет разницы дат Если формула
=B2 - СЕГОДНЯ()возвращает отрицательное число, хотя дата в будущем, проверьте форматы. Иногда дата введена как текст. Решение: Выделите ячейку с датой, нажмитеДанные->Текст по столбцам->Далее->Далее-> Выберите формат Дата ->Готово. -
Статичность вместо динамики Пользователи иногда вводят дату вручную вместо формулы
СЕГОДНЯ(), забывая обновлять её завтра. Решение: Всегда используйте формулу для текущей даты в шаблонах. Для фиксации даты используйте горячие клавиши.
FAQ
Можно ли заставить СЕГОДНЯ() обновляться каждые 5 минут? По умолчанию пересчет происходит при изменении ячеек или открытии файла. Для автообновления по таймеру требуется использование макросов (VBA), так как стандартные функции не имеют встроенного таймера.
Почему функция МЕСЯЦ возвращает число, а не название?
Функция МЕСЯЦ предназначена для математических операций и логических проверок, поэтому возвращает число (1–12). Для получения названия («Январь», «Февраль») используйте функцию ТЕКСТ(дата; "ММММ").
Работают ли эти функции в старых версиях Excel?
Да, функции СЕГОДНЯ и МЕСЯЦ являются базовыми и работают во всех версиях Excel, начиная с 2007 года, включая веб-версию и мобильные приложения.