Excel и Google Workspace / Даты, сроки

EDATE для сдвига даты на несколько месяцев

EDATE возвращает дату, сдвинутую от A2 на заданное количество месяцев. Формула =EDATE(A2,3) прибавляет к исходной дате три месяца и корректно обрабатывает разную длину месяцев.

Опубликовано: Обновлено:

Формула

$$=EDATE(A2,3)$$

Обозначения

$A2$
исходная дата
$3$
количество месяцев для сдвига вперед; отрицательное число сдвигает дату назад, месяцы

Условия применения

  • A2 должна быть настоящей датой Excel.
  • Второй аргумент задается целым числом месяцев.
  • Если в целевом месяце нет такого дня, Excel возвращает последний день целевого месяца.

Ограничения

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

Подробное объяснение

EDATE работает с календарными месяцами, а не с количеством дней. Она берет дату из A2 и переносит ее на столько месяцев, сколько указано вторым аргументом.

Если день месяца существует в целевом месяце, он сохраняется. Например, 15 января плюс 3 месяца даст 15 апреля.

Если такого дня нет, функция возвращает последний день целевого месяца. Поэтому 31 января плюс 1 месяц в невисокосном году даст 28 февраля.

Отрицательное количество месяцев переносит дату назад. Это удобно для расчета даты начала периода по известной дате окончания.

Для рабочих сроков EDATE часто комбинируют с WORKDAY или NETWORKDAYS. Сначала получают календарную дату через EDATE, затем корректируют ее по рабочему календарю.

EDATE сохраняет календарную логику месяца. Она не прибавляет одинаковое число дней, а переносит дату на указанное количество месяцев вперед или назад. Поэтому функция корректно работает с месяцами разной длины и с концом месяца. Результат является числом даты Excel, так что формат ячейки может отображать его как дату или как число.

Как пользоваться формулой

  1. Введите исходную дату в A2.
  2. Укажите количество месяцев вторым аргументом.
  3. Используйте положительное число для будущей даты и отрицательное для прошлой.
  4. Задайте ячейке результата формат даты.
  5. Проверьте крайние даты вроде 29, 30 и 31 числа месяца.

Историческая справка

Функции сдвига дат стали важны для финансовых и договорных расчетов, где сроки задаются месяцами, кварталами и годами.

Ручное прибавление дней плохо подходит для таких задач, потому что февраль, апрель и январь имеют разную длину.

EDATE дала специалистам Excel простой способ работать именно с календарными месяцами. Это особенно полезно для платежных графиков и сроков действия документов.

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

Сдвиг дат на месяцы стал важен для кредитов, подписок, договоров аренды, отчетных периодов и сроков поставки. Ручное прибавление 30 или 31 дня давало ошибки, поэтому электронные таблицы получили специальные календарные функции для таких сценариев.

Историческая линия формулы

EDATE является встроенной функцией Microsoft Excel из категории даты и времени. Она отражает распространенную офисную задачу календарного сдвига. EDATE является календарной функцией Microsoft Excel. Ее атрибуция связана с развитием офисных таблиц и финансово-договорных расчетов, где месяц является календарным периодом, а не постоянным числом дней.

Пример

Дано: A2=2026-01-31. Формула =EDATE(A2,3) прибавляет три месяца. В апреле нет 31-го числа, поэтому Excel возвращает последний день апреля. Результат: 2026-04-30. Проверка: если исходная дата 31.01.2026 и сдвиг равен 1 месяцу, Excel вернет последнюю допустимую дату февраля, потому что 31 февраля не существует. Если сдвиг равен -1, дата сдвинется на месяц назад. Это удобно для графиков платежей: месяц меняется календарно, а не как прибавление фиксированных 30 дней. При дате 15.01.2026 и сдвиге 3 результатом будет 15.04.2026, что подтверждает сохранение дня месяца там, где он существует.

Частая ошибка

Частая ошибка: прибавлять к дате 90 дней вместо трех месяцев. Это может дать другой результат, потому что месяцы имеют разную длину. Вторая ошибка: получить число вроде 46212 и решить, что формула сломалась, хотя ячейке просто нужен формат даты. Третья ошибка: хранить исходную дату как текст, из-за чего EDATE не может выполнить календарный расчет.

Практика

Задачи с решением

Продлить договор на квартал

Условие. Дата начала договора 2026-02-15. Нужно получить дату через 3 месяца.

Решение. Формула =EDATE(A2,3) сохраняет день месяца, потому что 15 мая существует.

Ответ. 2026-05-15

Сдвинуть дату назад

Условие. Дата окончания 2026-08-31. Нужно найти дату за 2 месяца до нее.

Решение. Используем отрицательный сдвиг: =EDATE(A2,-2). В июне есть 30 дней, поэтому результатом будет последний день июня.

Ответ. 2026-06-30

Дополнительные источники

  • Microsoft Support: EDATE function - https://support.microsoft.com/en-us/office/edate-function-3c920eb2-6e66-44e7-a1f5-753ae47ee4f5
  • Microsoft Support: Excel functions by category - https://support.microsoft.com/en-us/office/excel-functions-by-category-5f91f4e9-7b42-46d2-9bd1-63f26a86c0eb
  • Dan Bricklin: VisiCalc and the origins of spreadsheets - https://www.bricklin.com/visicalc.htm

Связанные формулы

Excel и Google Workspace

NETWORKDAYS для подсчета рабочих дней в Excel

$=NETWORKDAYS(A2,B2,H2:H10)$

NETWORKDAYS считает количество рабочих дней между датами A2 и B2, исключая субботы, воскресенья и праздники из H2:H10. Функция учитывает начальную и конечную даты, если они являются рабочими.

Excel и Google Workspace

EOMONTH для последнего дня месяца

$=EOMONTH(A2,0)$

EOMONTH возвращает последний день месяца для даты A2. Второй аргумент 0 означает, что нужен конец того же месяца без сдвига вперед или назад.

Excel и Google Workspace

YEARFRAC для доли года между датами

$=YEARFRAC(A2,B2,1)$

YEARFRAC возвращает долю года между датами A2 и B2. Аргумент 1 задает расчет по фактическому количеству дней в периоде и фактической длине года.

Excel и Google Workspace

VLOOKUP для точного поиска в Excel

$=VLOOKUP(E2,A2:C20,3,FALSE)$

Функция VLOOKUP ищет значение из E2 в первом столбце диапазона A2:C20 и возвращает значение из третьего столбца найденной строки. Последний аргумент FALSE включает точное совпадение, поэтому формула подходит для артикулов, кодов клиентов и других ключей, где приблизительный поиск недопустим.