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

Работа с датами в Microsoft Excel часто вызывает вопросы у пользователей, особенно когда речь идёт о сложении дат с месяцами. На первый взгляд задача кажется простой: прибавить к 15.03.2026 три месяца и получить 15.06.2026. Но что если прибавляемые месяцы переходят через год? Или если исходная дата — последнее число месяца (например, 31.01.2026 + 1 месяц)? В таких случаях Excel ведёт себя неочевидно, а стандартное сложение может привести к ошибке #ЧИСЛО!.

Эта статья раскроет все возможные способы сложения дат и месяцев в Excel — от базовых формул до продвинутых функций, включая обработку исключительных случаев. Мы разберём, почему =A1+30 (прибавление дней) не равно =A1+1 (прибавлению месяца), как работает функция ДАТАМЕС в разных версиях программы, и что делать, если результат выходит за пределы текущего года. Особое внимание уделим проблеме "31-го числа" и способам её обхода без ручной правки.

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

Почему нельзя просто сложить дату и число месяцев?

Многие пользователи пытаются прибавить месяцы к дате так же, как дни — например, вводят формулу =A1+3, ожидая, что к дате в ячейке A1 добавятся 3 месяца. Однако Excel интерпретирует числа как дни, а не месяцы. В результате 15.01.2026 + 3 станет 18.01.2026, а не 15.04.2026.

Корень проблемы кроется в том, как Excel хранит даты. Внутри программы любая дата — это порядковый номер, где 1 соответствует 01.01.1900, 202.01.1900 и так далее. При сложении с числом Excel автоматически добавляет именно дни, а не месяцы или годы. Чтобы прибавить месяцы, нужны специальные функции или обходные пути.

Вторая ловушка — неравномерная длительность месяцев. Февраль может иметь 28 или 29 дней, апрель — 30, а август — 31. Если исходная дата — 31.01.2026, то прибавление одного месяца логично должно дать 28.02.2026 (или 29.02.2026 в високосный год), но Excel по умолчанию вернёт 03.03.2026, что часто вводит в заблуждение.

Именно поэтому для работы с месяцами требуются dedicated-функции, о которых пойдёт речь далее.

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

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

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

Примеры использования:

  • 📅 =ДАТАМЕС("15.03.2026"; 3) → вернёт 15.06.2026
  • 📅 =ДАТАМЕС(A1; -2) → отнимет 2 месяца от даты в ячейке A1
  • 📅 =ДАТАМЕС("31.01.2026"; 1) → вернёт 28.02.2026 (автоматическая корректировка)

Главное преимущество ДАТАМЕСавтоматическая обработка "несуществующих дат". Если результат выходит за пределы месяца (например, 31.04.2026), функция вернёт последнее возможное число (в данном случае 30.04.2026). Это избавляет от ручной проверки и ошибок #ЧИСЛО!.

⚠️

Внимание: В Excel 2003 и более ранних версиях функция ДАТАМЕС отсутствует. Вместо неё используйте ДАТА с ручным вычислением года и месяца (см. Способ 3).

Убедитесь, что ячейка с датой имеет формат "Дата" (не "Текст" или "Общий")|Проверьте версию Excel (ДАТАМЕС доступна с 2007 года)|Для отрицательных месяцев (вычитание) используйте знак "-" перед числом|Если результат "----", проверьте корректность исходной даты-->

Способ 2: Функция ЕДАТА (EOMONTH) для последних чисел месяца

Функция ЕДАТА (или EOMONTH — "end of month") возвращает последний день месяца, отстоящего на заданное количество месяцев от исходной даты. Она полезна, когда нужно гарантированно получить конец месяца независимо от исходного числа.

Синтаксис:

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

Примеры:

  • 📅 =ЕДАТА("15.03.2026"; 0)31.03.2026 (последний день текущего месяца)
  • 📅 =ЕДАТА("31.01.2026"; 1)29.02.2026 (последний день февраля)
  • 📅 =ЕДАТА(A1; -3) → последний день месяца, отстоящего на 3 месяца назад

Комбинация ЕДАТА с ДЕНЬ позволяет эмулировать поведение ДАТАМЕС для любых чисел:

=ЕДАТА(A1; B1) - ДЕНЬ(ЕДАТА(A1; B1)) + ДЕНЬ(A1)

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

⚠️

Внимание: ЕДАТА также отсутствует в Excel 2003. Для старых версий используйте комбинацию ДАТА + ДЕНЬ (см. следующий раздел).

Способ 3: Ручное вычисление с функциями ДАТА, ГОД, МЕСЯЦ, ДЕНЬ

Если в вашей версии Excel нет ДАТАМЕС или ЕДАТА, можно вручную разложить дату на компоненты (год, месяц, день), выполнить арифметические операции, а затем собрать дату обратно. Формула выглядит так:

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

где A1 — ячейка с исходной датой, а B1 — количество прибавляемых месяцев.

Пример:

  • 📅 Для A1 = 15.03.2026 и B1 = 3 формула вернёт 15.06.2026.
  • 📅 Для A1 = 31.01.2026 и B1 = 1 результат будет ошибочным: 03.03.2026 (так как 31 февраля не существует).

Чтобы исправить проблему с "несуществующими датами", добавьте проверку с помощью ЕСЛИОШИБКА:

=ЕСЛИОШИБКА(ДАТА(ГОД(A1); МЕСЯЦ(A1)+B1; ДЕНЬ(A1)); ЕДАТА(A1; B1))

Эта формула сначала пытается вернуть дату с исходным числом, а если возникает ошибка — подставляет последнее число месяца.

Альтернативный вариант (без ЕДАТА):

=ДАТА(ГОД(A1) + ОТБР((МЕСЯЦ(A1) + B1 - 1) / 12); ОСТАТ(МЕСЯЦ(A1) + B1 - 1; 12) + 1; МИН(ДЕНЬ(A1); ДЕНЬ(ДАТА(ГОД(A1); МЕСЯЦ(A1) + B1 + 1; 0))))
Эта формула корректно обрабатывает переходы через год и автоматически подставляет последнее число месяца, если исходное число в целевом месяце отсутствует.
Исходная дата Месяцев к добавлению Результат без корректировки Результат с корректировкой
31.01.2026 1 #ЧИСЛО! 29.02.2026
30.04.2026 2 #ЧИСЛО! 30.06.2026
15.12.2026 3 15.03.2026 15.03.2026

Способ 4: Использование последовательного прибавления дней (для небольших периодов)

Если вам нужно прибавить фиксированное количество месяцев, но при этом избежать проблем с "несуществующими датами", можно воспользоваться хитростью: прибавлять среднее количество дней в месяце (30.44). Формула будет такой:

=A1 + 30.44 * B1

где B1 — количество месяцев.

Примеры:

  • 📅 15.01.2026 + 30.44 * 115.02.2026 (погрешность ±1 день)
  • 📅 31.01.2026 + 30.44 * 102.03.2026 (вместо 28.02.2026)

Этот метод неточен и подходит только для приблизительных расчётов, например, когда нужно быстро оценить срок без строгой привязки к календарю. Для точных вычислений используйте ДАТАМЕС или ручную корректировку.

⚠️

Внимание: При таком способе даты могут "уплывать" на 1–2 дня из-за округления. Например, прибавление 6 месяцев (≈182 дня) к 31.01.2026 даст 31.07.2026, тогда как корректный результат — 31.07.2026 (совпадение здесь случайно). Для февраля погрешность будет больше.

Функция ДАТАМЕС (EDATE)|Ручное вычисление с ДАТА/ГОД/МЕСЯЦ|Функция ЕДАТА (EOMONTH)|Прибавление дней (30.44)|Другой вариант-->

Способ 5: Power Query для массовой обработки дат

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

Алгоритм действий:

  1. Выделите таблицу с датами и нажмите Данные → Из таблицы/диапазона (или Data → From Table/Range).
  2. В редакторе Power Query выделите столбец с датами, перейдите на вкладку Добавить столбец (Add Column) и выберите Настраиваемый столбец (Custom Column).
  3. Введите формулу:
    =Date.AddMonths([ВашСтолбец]; 3)

    где 3 — количество прибавляемых месяцев.

  4. Нажмите ОК, затем Закрыть и загрузить (Close & Load).

Преимущества Power Query:

  • 🔄 Обрабатывает миллионы строк без замедления.
  • 🔄 Автоматически корректирует "несуществующие даты" (например, 31.04.202630.04.2026).
  • 🔄 Позволяет создавать сложные цепочки преобразований (например, прибавить месяцы, затем отформатировать результат).

⚠️

Внимание: В Power Query месяцы прибавляются с учётом календарной логики, но если исходная дата имеет формат текста (например, "15.03.2026" вместо настоящей даты), сначала преобразуйте её с помощью Date.From:
=Date.AddMonths(Date.From([ВашСтолбец]); 3)
Как проверить формат даты в Power Query?

В редакторе Power Query посмотрите на значок рядом с именем столбца. Если это 📅 (календарь) — формат корректный. Если 📝 (ABC) — данные воспринимаются как текст, и их нужно преобразовать с помощью Date.From или изменить тип столбца на "Дата".

Ошибки и их решения при сложении дат и месяцев

Даже с правильными формулами пользователи часто сталкиваются с ошибками. Рассмотрим типичные случаи и способы их исправления.

1. Ошибка #ЧИСЛО! (#VALUE!)

  • 🔹 Причина: Ячейка с датой имеет текстовый формат (например, "15.03.2026" вместо настоящей даты).
  • 🔹 Решение: Преобразуйте текст в дату с помощью ДАТАЗНАЧ:
    =ДАТАМЕС(ДАТАЗНАЧ(A1); B1)

2. Неправильный результат для 31-го числа

  • 🔹 Причина: Функция ДАТА не корректирует несуществующие даты (например, 31.04.2026).
  • 🔹 Решение: Используйте ДАТАМЕС или обёртку с ЕСЛИОШИБКА (см. Способ 3).

3. Результат "----" (пустое значение)

  • 🔹 Причина: Ячейка с исходной датой пустая или содержит некорректное значение (например, 0 или 45000 без формата даты).
  • 🔹 Решение: Проверьте данные с помощью ЕЧИСЛО:
    =ЕСЛИ(ЕЧИСЛО(A1); ДАТАМЕС(A1; B1); "Ошибка: неверная дата")

4. Ошибка #ИМЯ? (#NAME?)

  • 🔹 Причина: Опечатка в названии функции (например, ДАТАМЕСС вместо ДАТАМЕС).
  • 🔹 Решение: Проверьте синтаксис. В английской версии Excel используйте EDATE, в русской — ДАТАМЕС.
Ошибка Причина Решение
#ЧИСЛО! Текст вместо даты Используйте ДАТАЗНАЧ
31.04.2026 Несуществующая дата Замените на ДАТАМЕС или ЕДАТА
---- Пустая или некорректная ячейка Проверьте ЕЧИСЛО
#ИМЯ? Ошибка в названии функции Проверьте синтаксис

Практические примеры: когда и какой способ использовать

Выбор метода зависит от задачи. Ниже — рекомендации для типовых сценариев:

1. Простое прибавление месяцев к одной дате

  • 📌 Способ: ДАТАМЕС (самый простой и надёжный).
  • 📌 Пример: =ДАТАМЕС("15.03.2026"; 6)15.09.2026.

2. Расчёт дедлайнов (последний день месяца)

  • 📌 Способ: ЕДАТА.
  • 📌 Пример: =ЕДАТА(A1; 1) для даты 15.03.2026 вернёт 31.03.2026.

3. Обработка больших таблиц (тысячи строк)

  • 📌 Способ: Power Query с Date.AddMonths.
  • 📌 Пример: Загрузка данных из или CRM с последующим прибавлением месяцев ко всем строкам.

4. Совместимость со старыми версиями Excel (2003 и ранее)

  • 📌 Способ: Ручное вычисление с ДАТА, ГОД, МЕСЯЦ и корректировкой через ЕСЛИОШИБКА.
  • 📌 Пример:
    =ЕСЛИОШИБКА(ДАТА(ГОД(A1); МЕСЯЦ(A1)+B1; ДЕНЬ(A1)); ДАТА(ГОД(A1); МЕСЯЦ(A1)+B1+1; 0))

5. Приблизительные расчёты (например, для графиков)

  • 📌 Способ: Прибавление дней (=A1 + 30.44 * B1).
  • 📌 Пример: Быстрая оценка срока выполнения проекта без точной привязки к календарю.

Для наглядности ниже представлена таблица с сравнением методов:

Задача Рекомендуемый способ Пример формулы Плюсы Минусы
Точное прибавление месяцев ДАТАМЕС =ДАТАМЕС(A1; 3) Корректно обрабатывает все случаи Не работает в Excel 2003
Последний день месяца ЕДАТА =ЕДАТА(A1; 1) Всегда возвращает валидную дату Требует Excel 2007+
Массовая обработка Power Query Date.AddMonths([Date]; 3) Быстро, даже для миллионов строк Требует Excel 2016+
Совместимость со старыми версиями Ручное вычисление =ДАТА(ГОД(A1); МЕСЯЦ(A1)+B1; ДЕНЬ(A1)) Работает везде Сложная формула, возможны ошибки

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

Можно ли в Excel прибавить к дате одновременно месяцы и дни?

Да, для этого комбинируйте функции. Например, чтобы прибавить 2 месяца и 5 дней:

=ДАТАМЕС(A1; 2) + 5

Сначала ДАТАМЕС добавляет месяцы, затем прибавляются дни.

Почему при прибавлении 12 месяцев к 31.12.2026 получается 31.12.2026, а не 30.12.2026?

Потому что 31 декабря существует в обоих годах. Функция ДАТАМЕС корректирует дату только если исходное число отсутствует в целевом месяце (например, 31 апреля → 30 апреля). Для декабря корректировка не нужна.

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

Сначала преобразуйте текст в дату с помощью ДАТАЗНАЧ или 1 & ".03.2026" (где 03 — номер месяца), затем применяйте ДАТАМЕС. Например:

=ДАТАМЕС(ДАТАЗНАЧ("1." & "март 2026"); 1)
Можно ли прибавить месяцы к дате в Google Sheets?

Да, в Google Таблицах также есть функция ДАТАМЕС (или EDATE в английской версии). Синтаксис идентичен Excel:

=ДАТАМЕС(A1; 3)

Для корректировки "несуществующих дат" используйте те же приёмы, что и в Excel.

Как сделать так, чтобы при прибавлении месяцев к 31.01.2026 всегда получалось 28.02.2026, а не 03.03.2026?

Используйте комбинацию ЕДАТА и ДЕНЬ:

=ЕДАТА(A1; B1) - ДЕНЬ(ЕДАТА(A1; B1)) + МИН(ДЕНЬ(A1); ДЕНЬ(ЕДАТА(A1; B1)))

Эта формула сохраняет исходное число, если оно существует в целевом месяце, или подставляет последнее число месяца.