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

EOMONTH в Google Sheets — найти конец месяца и использовать для счетов

6 min read Таблицы Обновлено 21 Oct 2025
EOMONTH в Google Sheets — конец месяца
EOMONTH в Google Sheets — конец месяца

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

Логотип Google Sheets на фоне календаря

«Конец месяца» — именно то, что находит функция EOMONTH в Google Sheets. Умение использовать эту функцию важно для многих бизнесов, так как конец месяца — обычный момент для оплаты счетов и выставления исходящих счетов.

В этом руководстве на примерах мы рассмотрим, как пользоваться функцией EOMONTH в Google Sheets. К концу вы должны понять базовую логику и практические приёмы для применения EOMONTH.

Что такое функция EOMONTH и когда её применять?

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

Когда использовать:

  • расчёт дат платежей или дат выставления счетов;
  • определение срока действия (последний день месяца истечения);
  • агрегация по месяцу при построении отчётов;
  • округление дат до конца месяца для сравнения периодов.

Короткое определение: EOMONTH(start_date, months) — возвращает последний календарный день месяца, смещённого на months месяцев относительно start_date.

Важные замечания

  • Любой день месяца может использоваться как start_date. При одинаковом смещении месяцев результат будет одинаков для разных дат внутри одного месяца.
  • Дробные значения аргумента months усекаются до целого (5.7 станет 5).
  • Функция учитывает високосные года и разную длину месяцев.

Синтаксис функции EOMONTH

=EOMONTH(start_date, months)

Разберём по частям:

  • знак равенства = указывает Google Sheets, что в ячейке формула;
  • EOMONTH — имя функции;
  • start_date — обязательный аргумент: начальная дата; можно передать дату напрямую или ссылку на ячейку;
  • months — количество месяцев для смещения: положительное число смещает вперёд, отрицательное — назад.

Пример пошагово: как использовать EOMONTH в таблице

Ниже показан простой пример, где в колонке A — начальные даты, в колонке B — количество месяцев смещения, а в колонке C будет итог, последний день искомого месяца. Формат дат в примере — dd/mm/yyyy.

Простой пример использования EOMONTH.jpg?q=50&fit=crop&w=825&dpr=1.5)

Шаги:

  1. Выделите пустую ячейку, в которой хотите получить результат (например, C2).
  2. Введите формулу, начиная с =EOMONTH(.
  3. Укажите ссылку на ячейку с начальной датой, например A2, затем запятую.
  4. Укажите число месяцев для смещения, например B2, затем закройте скобку.
  5. Нажмите Enter — в ячейке появится последний день месяца.

Пример формулы:

=EOMONTH(A2, B2)

Поведение аргумента months:

  • B2 = 0 → последний день месяца из A2;
  • B2 = 1 → последний день следующего месяца;
  • B2 = -1 → последний день предыдущего месяца.

Практические примеры и шаблоны

  1. Фиксация срока оплаты «конец текущего месяца» при выставлении счёта:
=EOMONTH(TODAY(), 0)
  1. Срок оплаты через 30 дней с округлением до конца месяца (используем EOMONTH вместе с датой через 30 дней):
=EOMONTH(TODAY()+30, 0)
  1. Выдать дату истечения подписки через 12 месяцев, до конца соответствующего месяца:
=EOMONTH(A2, 12)
  1. Комбинация с WORKDAY для расчёта рабочего дня, ближайшего к концу месяца:
=WORKDAY(EOMONTH(A2,0), -1)

Альтернативные подходы и когда EOMONTH не подходит

  • Если нужно получить последний календарный день без смещения, можно использовать комбинацию DATE и MONTH, однако EOMONTH короче и надёжнее.
  • Для задач, где требуется именно «последний рабочий день» месяца, EOMONTH сам по себе не решит задачу — понадобится WORKDAY или собственный список нерабочих дней.
  • Если исходные даты заданы в виде текста нестандартного формата, сначала нужно привести их к типу ДАТА с помощью DATEVALUE; иначе EOMONTH вернёт ошибку.

Контрпример: если start_date = “31/02/2022” как текст-ошибка, DATEVALUE вернёт ошибку и EOMONTH работать не будет.

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

  • Мысленно представляйте EOMONTH как «переместить указатель месяца на N, затем перейти к его последнему дню».
  • Для округления дат к месяцам думайте «EOMONTH вместо ручной арифметики с днями».
  • Для отрицательных значений visualise движение влево по календарю: -1 → предыдущий месяц, -12 → год назад.

Факто-бокс: что важно знать

  • Обрабатывает високосные годы корректно.
  • Усечение дробных months: 3.9 → 3.
  • Работает с формулами и ссылками на ячейки, не только с литеральными датами.
  • Подходит для финансовых расчётов, планирования подписок, расчёта сроков оплаты.

Рекомендации для внедрения в рабочие процессы (мини-методология)

  1. Стандартизируйте формат входных дат в таблицах (рекомендуется ISO-формат или локальный стиль компании).
  2. Используйте ссылки на ячейки, а не текстовые даты внутри формул.
  3. Тестируйте на крайних датах: 28/02, 29/02, 31/01, 30/04.
  4. При совместном использовании с другими функциями документируйте ожидания (например, «months — целое»).

Контроль качества и критерии приёмки

Критерии приёмки для формул, использующих EOMONTH:

  • Формула возвращает корректный последний день для даты в высокосный и невисокосный год.
  • Для months = 0 результат равен последнему дню месяца исходной даты.
  • Для отрицательных и положительных months поведение симметрично по месечному смещению.
  • Формула корректно обрабатывает ссылки на пустые ячейки, выдавая ожидаемую ошибку или дефолт.

Тест-кейсы:

  • A2 = 15/02/2020, B2 = 0 → 29/02/2020
  • A2 = 01/03/2021, B2 = -1 → 28/02/2021
  • A2 = текстовая дата “2021-04-15” как текст → предварительно конвертировать DATEVALUE

Чек-листы ролей

Для бухгалтера:

  • Убедиться, что колонка дат имеет правильный формат;
  • Проверить формулы на месяц/год вокруг перехода года;
  • Документировать логику расчётов в комментариях к ячейкам.

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

  • Использовать EOMONTH в ETL-скриптах или при подготовке данных;
  • Добавить автоматические тесты для граничных дат;
  • Обработать ошибочные входные данные через валидацию.

Советы по локали и форматированию

  • В таблицах с несколькими локалями удобно хранить даты в ISO (yyyy-mm-dd) внутри данных и только при выводе применять локальный формат отображения.
  • При вводе дат вручную проверяйте региональные настройки Google Sheets — они влияют на распознавание форматов.

Частые ошибки и способы исправления

  • Ошибка #VALUE! обычно означает, что start_date не распознан как дата. Решение: использовать DATEVALUE или привести источник к корректному формату.
  • Ожидание округления months до ближайшего целого — фактически происходит усечение. Если нужно округление, примените ROUND.
  • Не путать EOMONTH с EDATE: EDATE возвращает дату с тем же днём месяца, а EOMONTH — всегда последний день месяца.

Короткий список формул-спутников (шпаргалка)

  • EOMONTH(start_date, months) — последний день месяца с смещением
  • EDATE(start_date, months) — дата, смещённая на months, сохраняет день месяца
  • WORKDAY(date, days) — ближайший рабочий день с учётом выходных

Заключение

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

Важное: перед массовым применением формул прогоните тест-кейсы на крайних датах и согласуйте формат входных дат в общем рабочем пространстве.

Краткое резюме ниже.

Резюме

  • EOMONTH возвращает последний день месяца, смещённого на months месяцев от start_date.
  • months усекается до целого; функция учитывает високосные года.
  • Для рабочих дней используйте в связке с WORKDAY.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

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

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство