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

Функция EDATE в Google Sheets: добавление и вычитание месяцев

5 min read Google Таблицы Обновлено 08 Jan 2026
Функция EDATE в Google Sheets — добавление месяцев
Функция EDATE в Google Sheets — добавление месяцев

Логотип Google Sheets на синем фоне.

EDATE — простая и надёжная функция Google Sheets для добавления или вычитания месяцев из даты. Используйте её вместе с DATE, DATEVALUE и EOMONTH для учёта конца месяца и высокоточности расчётов дат. Включены примеры, ошибки, тесты и чек-листы для разных ролей.

Что делает EDATE

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

Короткое определение: EDATE(starting_date, months) — прибавить months месяцев к starting_date.

=EDATE(starting_date, months)
  • starting_date — дата, текст, или числовое значение даты (date value).
  • months — целое число; если положительное — добавляет месяцы, если отрицательное — вычитает.

Примеры форматов дат: 29.01.2022 (русский), 1/29/2022 (англ., часто встречается в примерах). Google Sheets при вводе даты автоматически конвертирует её в внутренний числовой формат (date value).

Important: нулевая точка для формата date value в Google Sheets — 30 декабря 1899 года. В этом формате 1 января 1900 — день 1. Это значит, что даты до 30.12.1899 имеют отрицательное значение и EDATE с ними работать не будет.

Как использовать EDATE — пошагово

Иллюстрация работы функции EDATE в Google Sheets.

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

Если months = -3, функция вернёт дату, отстоящую на 3 месяца назад от стартовой.

Полезные сценарии и сочетания

  • Продление подписок и сроков оплаты: стартовая дата + 12 месяцев.
  • Отсчёт срока гарантии: дата продажи + гарантийный срок в месяцах.
  • Формирование графика платежей: последовательные EDATE с шагом 1.

Комбинируйте EDATE с DATE, DATEVALUE, EOMONTH и TEXT для контроля формата и конца месяца.

Пример: если в A2 — текстовая дата “29 Jan 2022”, преобразуйте и прибавьте 6 месяцев:

=EDATE(DATEVALUE(A2), 6)

Особые случаи и ограничения

  • Неподдерживаемые даты: EDATE не работает с датами раньше 30.12.1899 (date value < 0).
  • Неправильный ввод: если starting_date — невалидный текст, используйте DATEVALUE или DATE для конверсии.
  • Конец месяца: при переносе с 31-го числа на месяц, где меньше дней, результат будет последним днём целевого месяца. Например, EDATE(31.01.2021, 1) вернёт 28.02.2021 (или 29.02 в високосный год).

Примеры ошибок:

  • =EDATE(“не дата”, 3) → #VALUE!
  • =EDATE(A2, 2.5) → аргумент months ожидает целое число; Sheets округляет дробь вниз или возвращает ошибку в зависимости от контекста — лучше передавать целое.

Сравнение с альтернативами

  • EOMONTH(start, months) — возвращает последний день месяца смещённого периода. Используйте, когда нужен конец месяца, а не «та же числовая дата».
  • DATE(YEAR(…), MONTH(…)+n, DAY(…)) — даёт полный контроль над компонентами, полезно, когда нужны нетипичные правила смещения.
  • Добавление дней (start + 30*n) — ненадёжно из-за разной длины месяцев.

Пример: чтобы получить последний день через 3 месяца:

=EOMONTH(A2, 3)

Если нужен расчёт «через N месяцев, но всегда последний день месяца целевого периода», используйте EOMONTH.

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

Таблица примеров (в виде Markdown-таблицы для быстрого копирования в Sheets):

A (старт)B (месяцы)ФормулаРезультат
29.01.20224=EDATE(A2,B2)29.05.2022
31.01.20211=EDATE(A3,B3)28.02.2021
“15 Feb 2020”12=EDATE(DATEVALUE(A4),B4)15.02.2021

Чек-лист для применения в шаблоне расчёта сроков:

  • Убедиться, что стартовая дата в ячейке реально распознана как дата.
  • Проверить, не отрицательный ли date value для исторических данных.
  • Выбрать EDATE или EOMONTH в зависимости от требования к дате.
  • Добавить обработку ошибок (IFERROR) для вывода понятного сообщения.

Пример формулы с обработкой ошибок:

=IFERROR(EDATE(A2, B2), "Неверная дата или диапазон")

Критерии приёмки / тесты приемки

  • Ввод: стартовая дата 15.03.2021, months = 6 → ожидаемый результат 15.09.2021.
  • Ввод: 31.08.2021, months = 6 → ожидаемый результат 28.02.2022 (учёт короткого февраля).
  • Неверная дата: “x” → формула должна возвращать контролируемую ошибку/сообщение при IFERROR.
  • Эдж-кейс: дата до 30.12.1899 → должна быть обработана как недопустимая (предупреждение).

Советы и эвристики

  • Правило месяца: не используйте «+30» для приближённого смещения месяцев — лучше EDATE.
  • Для циклических платежей используйте последовательные формулы: в строке n = EDATE(prev_date, 1).
  • Для документов, используемых в разных локалях, приводите даты к явному формату через TEXT(date, “dd.MM.yyyy”).

Роль‑ориентированные рекомендации

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

  • Используйте EDATE для расчёта сроков оплат и напоминаний. Проверяйте формат ввода дат от поставщиков.

Для HR:

  • Расчёт дат окончания испытательных сроков: дата приёма + количество месяцев.

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

  • Формируйте график релизов, учитывайте последний день месяца через EOMONTH.

Ментальные модели

  • Подумайте о EDATE как о «перемещении указателя месяца» при сохранении относительного дня, если он существует.
  • При переносе на месяцы с меньшим числом дней EDATE «сжимает» дату до последнего дня месяца.

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

  • date value — внутреннее числовое представление даты в Google Sheets, где 30.12.1899 = 0.
  • EOMONTH — функция, возвращающая последний день смещённого месяца.
  • DATEVALUE — функция для преобразования текстовой даты в date value.

Итог

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

Ключевые рекомендации:

  • Проверяйте корректность входных дат.
  • Используйте EOMONTH, если нужен конец месяца.
  • Обрабатывайте ошибки через IFERROR.
Поделиться: 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 — руководство