Работа с датами в Microsoft Excel — одна из самых востребованных задач при анализе данных, планировании проектов или ведении финансовой отчётности. Но что делать, если нужно сдвинуть дату на несколько месяцев вперёд или назад? Например, рассчитать срок действия договора через 6 месяцев или спрогнозировать дату завершения этапа проекта. В этой статье разберём 5 проверенных способов, как прибавить месяцы к дате в Excel — от простых формул до обработки краевых случаев (например, когда результат выпадает на 31 февраля).
Вы узнаете, чем отличаются функции ДАТАМЕС и ЭДАТА, как обойти ошибку #ЧИСЛО! при работе с некорректными датами, и почему иногда лучше использовать комбинацию ДАТА + МЕСЯЦ. А для продвинутых пользователей мы подготовили уникальный трюк с массивами для динамического добавления месяцев к диапазону дат — это сэкономит часы ручной работы!
1. Функция ДАТАМЕС — самый простой способ
Функция ДАТАМЕС (англ. EDATE) специально создана для добавления или вычитания месяцев к дате. Её синтаксис максимально лаконичен:
=ДАТАМЕС(начальная_дата; количество_месяцев)
Где:
- 📅 начальная_дата — ячейка с исходной датой (например,
A2) или дата в формате"ДД.ММ.ГГГГ". - ➕➖ количество_месяцев — целое число (положительное для добавления, отрицательное для вычитания).
Пример: если в ячейке A2 указана дата 15.01.2026, то формула =ДАТАМЕС(A2; 3) вернёт 15.04.2026. А что произойдёт, если прибавить месяц к 31.01.2026? Excel автоматически скорректирует результат до 28.02.2026 (или 29.02.2026 в високосный год) — это называется автоматическая обработка несуществующих дат.
2. Функция ЭДАТА — альтернатива для старых версий Excel
В Excel 2007 и более ранних версиях функция ДАТАМЕС может отсутствовать. Вместо неё используйте ЭДАТА (или EDATE в английской версии). Синтаксис идентичен:
=ЭДАТА(A2; 6)
Но есть нюанс: если ваш Excel не распознаёт ни ДАТАМЕС, ни ЭДАТА, скорее всего, не подключён надстройка «Пакет анализа». Чтобы её активировать:
- Перейдите в
Файл → Параметры → Надстройки. - Внизу окна выберите
Управление: Надстройки Excelи нажмитеПерейти. - Отметьте галочкой
Пакет анализаи подтвердите.
Что делать, если нет функции ДАТАМЕС?
Если даже после подключения «Пакета анализа» функции нет, используйте комбинацию =ДАТА(ГОД(A2); МЕСЯЦ(A2)+6; ДЕНЬ(A2)). Это универсальный обходной путь.
3. Комбинация ДАТА + МЕСЯЦ + ДЕНЬ — универсальный метод
Этот способ работает во всех версиях Excel и не требует подключения надстроек. Формула разбивает дату на компоненты (год, месяц, день), добавляет нужное количество месяцев, а затем собирает дату обратно:
=ДАТА(ГОД(A2); МЕСЯЦ(A2)+B2; ДЕНЬ(A2))
Где B2 — ячейка с количеством месяцев для добавления. Преимущество метода:
- ✅ Работает даже в Excel 2003.
- ✅ Позволяет динамически менять количество месяцев (например, тянуть формулу вниз с разными значениями в столбце
B). - ⚠️ Требует ручной обработки ошибок, если результат выпадает на несуществующую дату (например, 31 апреля).
Пример: если в A2 дата 31.03.2026, а в B2 число 1, формула вернёт 30.04.2026 (так как 31 апреля не существует). Это поведение отличается от ДАТАМЕС, где результат был бы 30.04.2026.
4. Обработка ошибок: #ЧИСЛО! и #ЗНАЧ!
При работе с датами в Excel часто возникают две ошибки:
#ЧИСЛО!— появляется, если результат формулы выпадает на дату до01.01.1900(Excel не поддерживает более ранние даты).#ЗНАЧ!— означает, что в ячейке с датой хранятся текстовые данные или пустое значение.
Чтобы избежать сбоев, используйте функцию ЕСЛИОШИБКА:
=ЕСЛИОШИБКА(ДАТАМЕС(A2; B2); "Некорректная дата")
Для продвинутой обработки можно комбинировать ЕСЛИ с проверками:
=ЕСЛИ(И(ГОД(A2)>1899; МЕСЯЦ(A2)+B2>=1); ДАТАМЕС(A2; B2); "Ошибка")
Ячейка содержит дату (не текст)|
Дата не раньше 01.01.1900|
Количество месяцев — целое число|
Результат не выпадает на несуществующую дату (например, 31.04)
-->
5. Динамическое добавление месяцев к диапазону дат
Если нужно прибавить месяцы ко всему столбцу дат, используйте массивные формулы или пролистывание. Например, чтобы добавить к датам в столбце A2:A10 значения из столбца B2:B10:
=ДАТАМЕС(A2:A10; B2:B10)
В новых версиях Excel (2019+) формула автоматически прольётся на весь диапазон. В старых версиях нажмите Ctrl+Shift+Enter, чтобы активировать массивную формулу.
Для визуализации результатов можно использовать условное форматирование:
- Выделите столбец с результатами.
- Перейдите в
Главная → Условное форматирование → Правила выделения ячеек → Даты. - Выберите цвет для дат, попадающих в определённый диапазон (например, «за последние 3 месяца»).
6. Практический пример: расчёт сроков договоров
Допустим, у вас есть таблица с датами заключения договоров (A2:A10) и сроками их действия в месяцах (B2:B10). Нужно рассчитать даты истечения:
| Дата заключения | Срок (мес.) | Дата истечения | Формула |
|---|---|---|---|
| 15.03.2026 | 6 | 15.09.2026 | =ДАТАМЕС(A2; B2) |
| 31.01.2026 | 1 | 29.02.2026 | =ДАТАМЕС(A3; B3) |
| 10.11.2023 | 12 | 10.11.2026 | =ДАТА(ГОД(A4)+1; МЕСЯЦ(A4); ДЕНЬ(A4)) |
Обратите внимание на вторую строку: Excel автоматически скорректировал 31.02.2026 до 29.02.2026 (високосный год). В третьей строке использован альтернативный метод с функцией ДАТА, так как добавление 12 месяцев эквивалентно добавлению 1 года.
7. Частые ошибки и как их избежать
Даже опытные пользователи Excel сталкиваются с подводными камнями при работе с датами. Вот самые распространённые:
⚠️ Внимание: Если после добавления месяцев дата сдвигается на несколько дней (например, с31.03на30.04), это не ошибка, а особенность календаря. Excel корректирует несуществующие даты до последнего дня месяца.
Ошибка 1: Формат ячейки — текст, а не дата.
Решение: Выделите ячейку, перейдите в Главная → Формат → Формат ячеек и выберите формат Дата.
Ошибка 2: Использование дробных месяцев (например, 2.5).
Решение: Функции ДАТАМЕС и ЭДАТА работают только с целыми числами. Для дробных значений используйте комбинацию из дней:
=ДАТАМЕС(A2; ЦЕЛОЕ(B2)) + (B2-ЦЕЛОЕ(B2))*30
Ошибка 3: Забыли про високосные годы.
Решение: Для точных расчётов используйте функцию ДАТА с учётом високосности:
=ДАТА(ГОД(A2); МЕСЯЦ(A2)+B2; МИН(ДЕНЬ(A2); ДЕНЬ(ДАТА(ГОД(A2); МЕСЯЦ(A2)+B2+1; 0))))
FAQ: Ответы на частые вопросы
Можно ли прибавить месяцы к дате без использования функций?
Да, но это неудобно. Вы можете вручную изменять месяц в ячейке с датой, но при большом объёме данных это займёт много времени. Например, если в ячейке A1 дата 15.05.2026, вы можете:
- Нажать
F2, чтобы редактировать ячейку. - Изменить месяц с
05на08(для добавления 3 месяцев). - Нажать
Enter.
Однако для автоматизации лучше использовать формулы.
Почему после добавления 1 месяца к 31 января получается 28 февраля?
Это стандартное поведение Excel при работе с несуществующими датами. Февраль не может содержать 31 день, поэтому функция ДАТАМЕС возвращает последний допустимый день месяца — 28.02 (или 29.02 в високосный год). Такое же правило действует для 31 апреля, 31 июня и т.д.
Как прибавить месяцы к дате в Google Таблицах?
В Google Sheets используется та же функция EDATE (или ДАТАМЕС в русской версии), но с небольшими отличиями:
- Формула всегда пишется на английском:
=EDATE(A2; 3). - Поддержка отрицательных значений для вычитания месяцев.
- Автоматическая корректировка несуществующих дат (как в Excel).
Альтернативный способ — комбинация =DATE(YEAR(A2); MONTH(A2)+3; DAY(A2)).
Можно ли прибавить месяцы к дате с учётом рабочих дней?
Да, но для этого потребуется комбинация функций. Сначала добавьте месяцы с помощью ДАТАМЕС, а затем скорректируйте результат с учётом выходных:
=РАБДЕНЬ(ДАТАМЕС(A2; B2); 0)
Где 0 означает, что нужно вернуть ближайший рабочий день (если дата выпадает на выходной). Для более сложных сценариев (например, исключение праздников) используйте функцию РАБДЕНЬ.МЕЖД.
Как сделать так, чтобы при добавлении месяцев не менялся день недели?
Это невозможно в принципе, так как количество дней в месяцах разное. Например, если исходная дата — 31.01.2026 (среда), то после добавления 1 месяца получится 29.02.2026 (четверг). День недели всегда будет сдвигаться, так как зависит от количества дней между датами.