Гид по технологиям

Функция EOMONTH в Excel: получить последний день месяца быстро и без ошибок

9 min read Excel Обновлено 16 Sep 2025
EOMONTH в Excel — последний день месяца быстро
EOMONTH в Excel — последний день месяца быстро

Быстрые ссылки

  • Синтаксис EOMONTH
  • Расчёт даты конца месяца в будущем
  • Расчёт даты конца месяца в прошлом
  • Долгосрочные расчёты по годам
  • Конец текущего месяца
  • Генерация последовательностей дат конца месяца

Календарь в Excel на таблице и логотип Excel рядом.

Функция EOMONTH в Microsoft Excel возвращает последний день месяца для даты в прошлом, текущего месяца или в будущем. Её применяют для расчёта сроков оплаты, дедлайнов, дат истечения, месячных доходов и прогнозов. По умолчанию EOMONTH возвращает числовой код даты. Прежде чем отображать результат, примените формат даты к ячейке.

Синтаксис EOMONTH

=EOMONTH(a,b)
  • a — начальная дата (любой день любого месяца любого года). Можно передать ссылку на ячейку, DATE(), TODAY() или результат другой функции.
  • b — количество месяцев, на которое нужно сдвинуться: положительное значение двигает вперёд, отрицательное — назад, ноль остаётся в том же месяце. После смещения Excel возвращает последний день месяца, на который пришёл.

Примеры передачи аргумента a:

Аргумент aОписание
=EOMONTH(A1,Начальная дата берётся из ячейки A1.
=EOMONTH(DATE(2025,05,31),Начальная дата — 31 мая 2025 года.
=EOMONTH(TODAY(),Начальная дата — сегодняшняя дата.

Примеры передачи аргумента b:

Аргумент bОписание
=EOMONTH(A1, 5)Последний день месяца через пять месяцев после даты в A1.
=EOMONTH(A1, -5)Последний день месяца за пять месяцев до даты в A1.
=EOMONTH(A1, 0)Последний день месяца той же даты, что в A1.
=EOMONTH(A1, A2)Берёт число месяцев из A2 и сдвигает дату в A1 вперёд на это число месяцев.
=EOMONTH(A1, -A2)Берёт число месяцев из A2 и сдвигает дату в A1 назад на это число месяцев.

Расчёт даты конца месяца в будущем

Наиболее частая задача — получить последний день месяца в будущем. Представьте, что вы менеджер проектов. У вас есть таблица с десятью проектами. Каждый проект занимает N месяцев, дедлайн — в конце месяца.

Таблица Excel с номерами проектов, длительностью, исполнителями, датами начала и пустыми датами окончания.

Чтобы заполнить колонку «End date» (колонка E), используйте EOMONTH. В ячейке E2 введите:

=EOMONTH([@[Start date]],[@Months])

Пояснения:

  • [@[Start date]] — структурированная ссылка на дату начала в той же строке;
  • [@Months] — количество месяцев, на которое продвигается проект.

Если данные — Excel-таблица, Excel подставит структурированные ссылки и автозаполнит столбец после ввода формулы в первую строку. В обычном диапазоне используйте ручное протягивание (fill handle).

EOMONTH берет дату начала в колонке D, смещается на число месяцев из колонки B и возвращает последний день итогового месяца.

Пример: старт 4 января 2025, +3 месяца → 4 апреля 2025 → последний день месяца = 30 апреля 2025.

Преимущества ссылок вместо «жёстких» дат:

  1. Формула адаптируется к каждой строке автоматически.
  2. Для изменения сроков достаточно обновить данные, формулу трогать не нужно.

Расчёт даты конца месяца в прошлом

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

Таблица Excel с номерами проектов, длительностью, исполнителями, дедлайнами в колонке E и пустыми датами начала в колонке D.

Если проект идёт N месяцев, и вы хотите оставить дополнительный месяц «буфера», используйте формулу:

=EOMONTH([@Deadline],-[@Months]-1)

Пояснение: сдвигаем дедлайн назад на N месяцев и ещё на один месяц, затем берём последний день получившегося месяца.

EOMONTH берёт дедлайн из колонки E, сдвигает на количество месяцев в колонке B назад и возвращает дату начала.

Пример: дедлайн 27 января 2026, длительность 5 месяцев → сдвиг на 5 месяцев назад = август 2025 → сдвиг на ещё один месяц назад = июль 2025 → результат 31 июля 2025.

Долгосрочные расчёты (по годам)

EOMONTH работает только с месяцами. Чтобы сдвинуть дату на заданное количество лет, умножьте число лет на 12.

=EOMONTH([@[Start date]],[@Years]*12)

Для сдвига назад поставьте минус:

=EOMONTH([@[Start date]],-[@Years]*12)

Таблица Excel с проектами, длительностью в годах, датами начала и колонкой с датами окончания.

Пример: старт 4 января 2025, +2 года → +24 месяца → 4 января 2027 → конец месяца = 31 января 2027.

Конец текущего месяца

EOMONTH удобно использовать с TODAY() для расчёта конца текущего месяца и оставшихся дней.

=EOMONTH(TODAY(),0)-TODAY()
  • EOMONTH(TODAY(),0) — последний день текущего месяца;
  • TODAY() — текущая дата;
  • вычитание даёт количество дней до конца месяца.

Если Excel отформатирует результат как дату, смените формат ячейки на «Общий» (General).

Лист бюджета в Excel с подсчётом дней до конца месяца и дневного лимита расходов.

Чтобы вычислить допустимый расход в день:

=B6/B1

Где B6 — остаток бюджета, B1 — количество дней до конца месяца.

Генерация последовательностей дат конца месяца

Сочетание EOMONTH с SEQUENCE позволяет быстро создать список дат конца месяца.

SEQUENCE имеет форму:

=SEQUENCE(a,b,c,d)
  • a — число строк;
  • b — число колонок;
  • c — стартовое значение последовательности;
  • d — шаг между значениями.

Пример — список дат конца каждого месяца 2025:

=EOMONTH(DATE(2024,12,31),SEQUENCE(12))

EOMONTH, DATE и SEQUENCE вместе возвращают массив дат конца месяца для 2025 года.

Пример для каждого второго месяца:

=EOMONTH(DATE(2024,12,31),SEQUENCE(6,,,2))

И пример для квартальных дат:

=EOMONTH(DATE(2025,2,28),SEQUENCE(4,,,3))

Динамический массив «выпадает» (spills) из ячейки, поэтому формула должна быть в обычном диапазоне, а не в таблице Excel. Чтобы закрепить полученные значения, скопируйте диапазон и вставьте как значения (Ctrl+C → Ctrl+Shift+V или «Вставить значения»).

EOMONTH, DATE и SEQUENCE вместе возвращают квартальные даты конца месяца для 2025 года.

Когда EOMONTH не подойдёт или даст неожиданный результат

Важно понимать ограничения и подводные камни:

  • EOMONTH всегда возвращает последний день итогового месяца. Если вам нужен тот же номер дня (например, 15е число через 3 месяца), используйте EDATE.
  • EOMONTH работает с кодами дат. Неверный формат ячейки может показать дату как число.
  • Если начальная дата — пустая ячейка или текст, функция вернёт ошибку.
  • При сложных логиках рабочих дней и праздников (например, нужно найти последний рабочий день) EOMONTH не учитывает выходные и праздники; используйте WORKDAY, WORKDAY.INTL или составные формулы.
  • SEQUENCE возвращает динамический массив, который не совместим с таблицами Excel. Если ваш результат должен быть таблицей, вставьте значения после генерации.

Частые альтернативы и их применение

  • EDATE(start,n) — возвращает ту же позицию дня в месяце, смещённую на n месяцев (не даёт обязательно конец месяца).
  • DATE(year,month,day) + конструкции — ручной контроль при создании дат.
  • WORKDAY и WORKDAY.INTL — для поиска ближайшего рабочего дня с учётом праздников.
  • NETWORKDAYS — считать рабочие дни между датами.

Выбор зависит от задачи: нужен последний день месяца — EOMONTH, та же дата в новом месяце — EDATE, последний рабочий день — комбинировать EOMONTH с WORKDAY.

Практическое руководство: мини-SOP для типовых задач

Шаги для расчёта дат окончания проекта и интеграции в отчёт:

  1. Подготовьте таблицу с колонками: Project, Duration (мес), Start date, End date.
  2. Убедитесь, что колонка Start date имеет формат Дата.
  3. В колонке End date введите формулу:
    • =EOMONTH([@[Start date]],[@Months])
  4. Протяните формулу по столбцу (или оставьте автозаполнение таблицы).
  5. При необходимости преобразуйте формулу в значения: скопируйте → Вставить значения.
  6. Для отчётов используйте формат ячеек “Дата”, удобный для локали (дд.мм.гггг или другой).

Критерии приёмки (проверки):

  • Для тестового проекта с датой начала 15.01.2025 и длительностью 2 месяца результат = 31.03.2025.
  • При вводе TODAY() и формуле EOMONTH(TODAY(),0) результат совпадает с последним днём текущего месяца.

Шаблон часто используемых формул (cheat sheet)

  • Последний день текущего месяца:
=EOMONTH(TODAY(),0)
  • Последний день через N месяцев:
=EOMONTH(A1,N)
  • Последний день через N лет:
=EOMONTH(A1,N*12)
  • Дата начала проекта с буфером в 1 месяц до дедлайна:
=EOMONTH(Deadline,-Months-1)
  • Массив дат конца месяцев на следующий год (2025):
=EOMONTH(DATE(2024,12,31),SEQUENCE(12))
  • Квартальные даты конца месяца, начиная с конца февраля 2025:
=EOMONTH(DATE(2025,2,28),SEQUENCE(4,,,3))

Контрольные сценарии и тесты приёмки

  1. Ввод даты 31.01.2024 и формула =EOMONTH(A1,1) → ожидаемо 29.02.2024 (високосный год).
  2. Ввод даты 31.01.2023 и формула =EOMONTH(A1,1) → ожидаемо 28.02.2023.
  3. Пустая ячейка в аргументе a → функция вернёт ошибку; проверка на ISBLANK рекомендуется.
  4. Совмещение с форматами: если результат отображается как число, смените формат на Дата.

Ментальные модели и эвристики

  • «EOMONTH = всегда конец месяца» — это простая ассоциация, которая помогает быстро выбрать функцию.
  • Если нужна «та же числовая позиция» в новом месяце — вспомните про EDATE.
  • Чтобы перевести годы в месяцы — умножьте на 12.

Совместимость и примечания по версиям

EOMONTH поддерживается в большинстве современных версий Excel, включая Excel для Microsoft 365, Excel 2019 и более ранние выпуски. В очень старых версиях Excel некоторые функции могли требовать надстройку Analysis ToolPak; в текущих релизах это не требуется. SEQUENCE и динамические массивы доступны в современных версиях с поддержкой динамических массивов (Microsoft 365 и новее). Если SEQUENCE недоступна, используйте ручную генерацию или VBA.

Безопасность и приватность

Функции EOMONTH, EDATE, SEQUENCE не передают данные внешним сервисам. Обрабатывайте личные и финансовые данные в соответствии с корпоративной политикой и локальными требованиями к защите данных.

Роль‑ориентированные чек‑листы

Для менеджера проектов:

  • Проверьте стартовые даты и длительности.
  • Убедитесь, что формула End date возвращает последний день и учтите буфер.
  • Экспортируйте итоговые даты как значения для передачи подрядчикам.

Для бухгалтера/аналитика:

  • Используйте EOMONTH для выравнивания поступлений/отчислений по месяцам.
  • Сверяйте отчёты с фактическими датами проводок.

Для разработчика отчётов:

  • Если нужен последний рабочий день, комбинируйте EOMONTH с WORKDAY.INTL.
  • При использовании динамических массивов контролируйте совместимость с таблицами.

Глоссарий (одна строка на термин)

  • EOMONTH — функция Excel, возвращающая последний день месяца после смещения на заданное число месяцев.
  • EDATE — функция Excel, сдвигающая дату на заданное число месяцев, сохраняя позицию дня.
  • SEQUENCE — функция для генерации массивов последовательных чисел.
  • TODAY — функция, возвращающая текущую дату.
  • WORKDAY / WORKDAY.INTL — функции поиска рабочего дня с учётом праздников.

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

  1. Результат отображается как число: поменяйте формат ячейки на “Дата”.
  2. Неправильный итог при сложении месяцев: проверьте знак и умножение лет на 12.
  3. Ошибки при использовании SEQUENCE в таблице: вставьте формулу в обычную область или конвертируйте результат в значения.
  4. Не учтён рабочий день: добавьте WORKDAY вокруг EOMONTH, например =WORKDAY(EOMONTH(A1,0),-1,holidays).

Заключение

EOMONTH — простая и мощная функция для всех задач, где важен последний день месяца. Она ускоряет расчёты сроков проектов, бюджетирование и планирование. Помните: если нужна та же позиция дня в новом месяце — используйте EDATE. Комбинируйте EOMONTH с TODAY, SEQUENCE и другими функциями для получения гибких и масштабируемых решений.

Важно: тестируйте формулы на граничных датах (конец февраля, високосные годы) и закрепляйте итоговые значения перед экспортом в отчёты.

Краткая сводка:

  • EOMONTH возвращает последний день месяца после смещения на n месяцев.
  • Для сохранения позиции дня используйте EDATE.
  • SEQUENCE + EOMONTH позволяет быстро генерировать ряды дат конца месяца.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Троян Herodotus: как он работает и как защититься
Кибербезопасность

Троян Herodotus: как он работает и как защититься

Включить новое меню «Пуск» в Windows 11
Windows 11

Включить новое меню «Пуск» в Windows 11

Панель полей PivotTable в Excel — руководство
Excel

Панель полей PivotTable в Excel — руководство

Включить новый Пуск в Windows 11 — инструкция
Windows

Включить новый Пуск в Windows 11 — инструкция

Как убрать дубликаты Диспетчера задач Windows 11
Windows

Как убрать дубликаты Диспетчера задач Windows 11

Как просмотреть историю просмотров Reels в Instagram
Социальные сети

Как просмотреть историю просмотров Reels в Instagram