Как прибавить количество месяцев к дате в Excel: полное руководство с примерами

Почему стандартное сложение не работает с месяцами

Вы когда-нибудь пытались просто прибавить число к ячейке с датой в Microsoft Excel, ожидая получить правильную дату через несколько месяцев? Если да, то наверняка сталкивались с неожиданными результатами. Дело в том, что Excel хранит даты как последовательные числа (начиная с 1 января 1900 года), где 1 = один день. Поэтому если вы к дате 15.01.2026 прибавите 3, то получите 18.01.2026 — а не март, как могли бы ожидать.

Эта особенность делает прямую арифметику с месяцами бессмысленной: в разных месяцах разное количество дней (28-31), плюс есть високосные годы. Например, прибавление 1 месяца к 31 января должно дать 28 февраля (или 29 февраля в високосный год), а не несуществующую дату 31 февраля. Именно для таких случаев в Excel существуют специализированные функции.

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

📊 Как часто вы работаете с датами в Excel?
Ежедневно
Несколько раз в неделю
Редико
Никогда

Способ 1: Функция ДАТАМЕС (EDATE) — самый простой вариант

Функция ДАТАМЕС (или EDATE в английской версии) создана специально для добавления месяцев к дате. Её синтаксис предельно прост:

=ДАТАМЕС(начальная_дата; количество_месяцев)

Главное преимущество этой функции — она автоматически корректирует дату, если результат выходит за пределы текущего месяца. Например:

  • 📅 =ДАТАМЕС("31.01.2026"; 1) вернёт 29.02.2026 (високосный год)
  • 📅 =ДАТАМЕС("31.01.2023"; 1) вернёт 28.02.2023 (невисокосный год)
  • 📅 =ДАТАМЕС("15.03.2026"; -2) вернёт 15.01.2026 (отрицательное значение = вычитание)

Обратите внимание: функция работает только с полноценными датами. Если в ячейке хранится текст (например, "январь 2026"), Excel выдаст ошибку #ЗНАЧ!. Чтобы избежать проблем, используйте формат ячейки Дата или преобразуйте текст в дату с помощью ДАТАЗНАЧ.

Способ 2: Комбинация ДАТА + ГОД/МЕСЯЦ/ДЕНЬ для гибкости

Когда нужно не просто прибавить месяцы, но и контролировать год или день в результате, на помощь приходит функция ДАТА в связке с ГОД, МЕСЯЦ и ДЕНЬ. Формула выглядит так:

=ДАТА(ГОД(A2); МЕСЯЦ(A2)+B2; ДЕНЬ(A2))

где A2 — ячейка с исходной датой, а B2 — количество месяцев для добавления.

Этот метод даёт больше свободы, чем ДАТАМЕС, потому что позволяет:

  • 🔄 Менять год отдельно от месяцев (например, прибавить 13 месяцев = +1 год и +1 месяц)
  • 📆 Фиксировать день месяца (полезно, если нужно всегда получать конец месяца)
  • ⚠️ Обрабатывать ошибки вручную (например, заменять некорректные даты на последнее число месяца)

Пример: если в ячейке A2 дата 31.01.2026, а в B2 значение 1, формула вернёт 03.03.2026 (потому что 31 февраля не существует, и Excel автоматически переносит день на март). Чтобы избежать этого, добавьте проверку:

=ЕСЛИОШИБКА(ДАТА(ГОД(A2); МЕСЯЦ(A2)+B2; ДЕНЬ(A2)); ДАТА(ГОД(A2); МЕСЯЦ(A2)+B2+1; 0))
Почему формула возвращает 03.03.2026 вместо 29.02.2026?

Когда Excel сталкивается с несуществующей датой (например, 31 февраля), он автоматически переносит "лишние" дни на следующий месяц. В этом случае 31 января + 1 месяц = 31 февраля → 31-28=3 дня переносятся на март. Чтобы получить последний день февраля, используйте конструкцию ДАТА(ГОД(A2); МЕСЯЦ(A2)+B2+1; 0), где 0 означает "последний день предыдущего месяца".

Способ 3: Использование функции ПЕРЕЙТИ (EOMONTH) для конца месяца

Функция ПЕРЕЙТИ (или EOMONTH от "End Of Month") возвращает последний день месяца, отстоящего на заданное количество месяцев от начальной даты. Её синтаксис:

=ПЕРЕЙТИ(начальная_дата; количество_месяцев)

Это идеальный инструмент для расчётов, где важно получить конец месяца независимо от исходной даты. Например:

  • 📅 =ПЕРЕЙТИ("15.01.2026"; 0)31.01.2026 (текущий месяц)
  • 📅 =ПЕРЕЙТИ("15.01.2026"; 1)29.02.2026 (конец следующего месяца)
  • 📅 =ПЕРЕЙТИ("15.01.2026"; -1)31.12.2023 (конец предыдущего месяца)

Комбинируя ПЕРЕЙТИ с другими функциями, можно решать сложные задачи. Например, чтобы найти первый день месяца через N месяцев:

=ПЕРЕЙТИ(А2; B2) - ДЕНЬ(ПЕРЕЙТИ(А2; B2)) + 1
⚠️ Внимание: Функция ПЕРЕЙТИ доступна только в Excel 2007 и новее. В старых версиях используйте альтернативу: =ДАТА(ГОД(A2); МЕСЯЦ(A2)+B2+1; 0).

Способ 4: Динамическое добавление месяцев с учётом условий

Иногда требуется прибавлять месяцы только при выполнении определённых условий. Например, продлевать подписку на 3 месяца, если клиент оплатил вовремя, или на 1 месяц — если просрочил. В таких случаях комбинируйте ДАТАМЕС с логическими функциями:

=ЕСЛИ(C2="Да"; ДАТАМЕС(A2; 3); ДАТАМЕС(A2; 1))

где C2 — ячейка с условием ("Да" или "Нет").

Более сложный пример: прибавить месяцы в зависимости от категории клиента:

КатегорияКоличество месяцевФормула
VIP6=ДАТАМЕС(A2; 6)
Стандарт3=ДАТАМЕС(A2; 3)
Новый1=ДАТАМЕС(A2; 1)
Просрочка0=A2

Для реализации такой логики используйте ВПР или ИНДЕКС/ПОИСКПОЗ:

=ДАТАМЕС(A2; ВПР(B2; ТаблицаКатегорий; 2; ЛОЖЬ))

где B2 — категория клиента, а ТаблицаКатегорий — диапазон с соответствиями категорий и месяцев.

✓ Убедитесь, что исходная дата в формате "Дата", а не текст

✓ Проверьте, что количество месяцев — целое число (не дробное)

✓ Тестируйте формулу на крайних случаях (31 января, 28 февраля)

✓ Используйте условное форматирование для выделения ошибок (#ЗНАЧ!, #ЧИСЛО!)

-->

Способ 5: Прибавление месяцев в Power Query (для больших данных)

Если вы работаете с большими наборами данных (тысячи строк), ручное добавление месяцев через формулы может замедлить Excel. В таких случаях эффективнее использовать Power Query — инструмент для преобразования данных. Алгоритм действий:

  1. Выделите таблицу с датами и нажмите Данные → Из таблицы/диапазона (или Data → From Table/Range).
  2. В открывшемся редакторе Power Query выберите столбец с датой → Добавить столбец → Пользовательский.
  3. Введите формулу:
    [Date] & " + " & Text.From([Months]) & " months"

    где [Date] — столбец с датой, а [Months] — столбец с количеством месяцев.

  4. Затем преобразуйте новый столбец в дату: выделите его → Преобразовать → Дата.

Преимущества этого метода:

  • Высокая скорость обработки даже миллионов строк
  • 🔄 Возможность автоматизировать обновление данных при изменении исходников
  • 📊 Сохранение истории преобразований для повторного использования
⚠️ Внимание: В Power Query даты обрабатываются как текстовые значения до явного преобразования. Всегда проверяйте формат итогового столбца, чтобы избежать ошибок при дальнейших вычислениях.

Типичные ошибки и как их избежать

Даже опытные пользователи Excel иногда сталкиваются с проблемами при работе с месяцами. Вот 5 самых распространённых ошибок и способы их решения:

ОшибкаПричинаРешение
#ЗНАЧ!Ячейка содержит текст вместо датыИспользуйте ДАТАЗНАЧ или измените формат ячейки на Дата
#ЧИСЛО!Некорректная дата (например, 31 февраля)Замените на ДАТА(ГОД; МЕСЯЦ+1; 0) для последнего дня месяца
Неправильный месяцФормула не учитывает текущий месяцПроверьте, что в формуле используется МЕСЯЦ(A2)+B2, а не просто B2
Дата "сбивается" на 4 годаExcel путает 1900 и 1904 системы датПроверьте настройки в Файл → Параметры → Дополнительно → При переходе на эту книгу: 1904
Формула не обновляетсяАвтоматический пересчёт отключёнНажмите Формулы → Вычислить или включите автоматический режим

Особое внимание уделите переходу на новый год. Например, если к дате 31.12.2026 прибавить 1 месяц, некоторые формулы могут вернуть 31.01.2026, хотя технически правильнее было бы 31.01.2026 (но это уже вопрос бизнес-логики). Всегда уточняйте, какое поведение ожидается в вашей задаче!

FAQ: Ответы на частые вопросы

Можно ли прибавить дробное количество месяцев (например, 1.5 месяца)?

Нет, функции ДАТАМЕС и ПЕРЕЙТИ работают только с целыми числами. Для дробных значений сначала разделите месяцы на целую и дробную части, затем прибавьте дни отдельно:

=ДАТАМЕС(A2; ЦЕЛОЕ(B2)) + (B2-ЦЕЛОЕ(B2))*30

Где 30 — приблизительное количество дней в месяце (можно заменить на 30,44 для точности).

Как прибавить месяцы к дате в формате "январь 2026" (без дня)?

Преобразуйте текст в дату с помощью ДАТАЗНАЧ и укажите первый день месяца:

=ДАТАМЕС(ДАТАЗНАЧ("1 " & A2); B2)

Где A2 содержит "январь 2026", а B2 — количество месяцев.

Почему после копирования формулы даты сбиваются?

Скорее всего, в настройках Excel включён параметр Файл → Параметры → Дополнительно → Разрешить изменение формул при перетаскивании ячеек. Отключите его или используйте абсолютные ссылки (например, $A$2 вместо A2).

Как прибавить месяцы в Google Sheets?

В Google Таблицах используйте те же функции, но с английскими названиями:

  • =EDATE(A2; B2) вместо ДАТАМЕС
  • =EOMONTH(A2; B2) вместо ПЕРЕЙТИ

Синтаксис и логика работы полностью идентичны Excel.

Можно ли прибавить месяцы с учётом рабочих дней?

Да, но для этого потребуется комбинация функций. Сначала прибавьте месяцы с помощью ДАТАМЕС, затем скорректируйте дату на ближайший рабочий день с помощью РАБДЕНЬ:

=РАБДЕНЬ(ДАТАМЕС(A2; B2); 0)

Где 0 означает "текущий день", если он рабочий, или следующий рабочий день.