Функции и формулы
Функции ДАТАМЕС и КОНМЕСЯЦА в Excel: сроки, график платежей и конец квартала
ДАТАМЕС в Excel — это функция сдвига даты на целое число месяцев для тех, кто строит графики платежей и считает сроки договоров. По справке Microsoft нецелое число месяцев в этой функции усекается, а неверная начальная дата даёт #ЗНАЧ![1]. Ниже — конец месяца, КОНМЕСЯЦА для последнего дня, график на примере и границы применения.
Срок договора «на шесть месяцев», платёж «15-го числа каждого месяца», отчёт «на конец квартала» — простое прибавление дней здесь не работает: месяцы разной длины. Справка Microsoft советует прибавлять месяцы функцией ДАТАМЕС, дни — обычным сложением, а годы — через ДАТА с ГОД, МЕСЯЦ и ДЕНЬ[2]. Ошибка в одном месяце сдвигает весь график. ДАТАМЕС в Excel решает задачу одной формулой: она знает длину каждого месяца и не требует считать дни вручную.
Порядок работы такой: найти начальную дату и срок, ввести формулу ДАТАМЕС или КОНМЕСЯЦА, проверить формат результата и конец месяца, исправить ошибку #ЗНАЧ! или цепочку дат и протянуть формулу от закреплённой даты. Все результаты ниже пересчитаны в движке тренажёра.
Ключевые факты: ДАТАМЕС в Excel
- ДАТАМЕС сдвигает дату на целое число месяцев и сохраняет число месяца, а КОНМЕСЯЦА возвращает последний день месяца.
- У обеих функций 2 аргумента: начальная дата и число месяцев[1].
- Нецелое число месяцев в ДАТАМЕС не округляется, а усекается[1].
- КОНМЕСЯЦА отличается от ДАТАМЕС тем, что всегда ставит дату на последний день месяца.
- Справка Microsoft советует вводить начальную дату функцией ДАТА: даты текстом могут вызвать проблемы[1].
Как прибавить месяцы к дате функцией ДАТАМЕС в Excel
ДАТАМЕС в Excel сдвигает дату на заданное число месяцев вперёд или назад и сохраняет число месяца. Синтаксис по справке Microsoft — ДАТАМЕС(нач_дата;число_месяцев): положительное число даёт будущую дату, отрицательное — прошлую[1]. В английской версии функция называется EDATE.
| A | B | C | |
|---|---|---|---|
| 1 | Дата | Формула | Результат |
| 2 | 15.01.2011 | =ДАТАМЕС(A2;1) | 15.02.2011 |
| 3 | 15.01.2011 | =ДАТАМЕС(A2;-1) | 15.12.2010 |
| 4 | 15.01.2011 | =ДАТАМЕС(A2;2) | 15.03.2011 |
- Введите начальную дату в A2 — функцией ДАТА или ссылкой, а не текстом.
- Введите в C2
=ДАТАМЕС(A2;1)и нажмите Enter. - Если вместо даты видно число, поставьте ячейке формат даты: функция возвращает порядковый номер[1].
Эти три примера приводит справка. ДАТАМЕС в Excel не меняет число месяца, сколько бы дней ни было в промежуточных месяцах: было 15-е — осталось 15-е. Прибавить 30 дней — не то же самое, что прибавить месяц: =A2+30 для 15.01.2011 даёт 14.02.2011[3]. Годы прибавляют тем же способом, умножив их на 12: для 06.11.2026 запись =ДАТАМЕС(A2;12) вернёт 06.11.2027, а =ДАТАМЕС(A2;-3) — 06.08.2026.
Справка относит ДАТАМЕС к Excel для Microsoft 365, Excel 2024, Excel 2021, Excel 2019 и Excel 2016, включая Mac. В Google Таблицах функция называется так же, а нецелое число месяцев там тоже усекается: ДАТАМЕС(A2; 2,6) равно ДАТАМЕС(A2; 2)[4].
Число месяцев не обязательно вписывать в формулу: если срок в месяцах стоит в B2, запись =ДАТАМЕС(A2;B2) пересчитает дату при каждом изменении срока. Функция принимает только два аргумента, поэтому месяцы и дни одной ДАТАМЕС прибавить нельзя.
Разобравшись с синтаксисом, переходим к самому коварному месту — датам в конце месяца.
Что происходит с 31-м числом и почему цепочка дат съезжает
ДАТАМЕС для даты, которой нет в целевом месяце, в наших примерах вернула последний день этого месяца. Справка Microsoft такой случай не описывает, поэтому результаты ниже получены в движке тренажёра на конкретных датах[3].
| Начальная дата | Формула | Результат |
|---|---|---|
| 31.01.2026 | =ДАТАМЕС(A5;1) | 28.02.2026 |
| 31.03.2026 | =ДАТАМЕС(A6;-1) | 28.02.2026 |
| 29.02.2024 | =ДАТАМЕС(A7;12) | 28.02.2025 |
| 31.05.2026 | =ДАТАМЕС(A8;1) | 30.06.2026 |
Ручная формула через ДАТА ведёт себя иначе. Справка о сложении дат объясняет, что ДАТА переносит лишние месяцы и дни дальше[2], поэтому =ДАТА(ГОД(A5);МЕСЯЦ(A5)+1;ДЕНЬ(A5)) для 31.01.2026 вернёт 03.03.2026 — несуществующая дата в феврале превратилась в мартовскую.
Цепочка ДАТАМЕС от предыдущей строки теряет 31-е число после февраля, а расчёт от исходной даты — нет. Формула =ДАТАМЕС(ДАТАМЕС(A5;1);1) даёт 28.03.2026, а =ДАТАМЕС(A5;2) — 31.03.2026[3]. В графике это видно сразу: после одного короткого месяца все следующие даты встают на 28-е.
ДАТАМЕС в Excel не запоминает исходное число, если её вложить саму в себя. Поэтому каждую дату графика считают от первой даты со знаком доллара: =ДАТАМЕС($B$1;A2), где в A2 — номер месяца. Подробно о закреплении ссылки — на странице о знаке доллара в адресе ячейки.
Без формата результат 28.02.2026 выглядит как 46081. Справка о сложении дат советует поставить формат даты через окно «Формат ячеек»[2].
Однако последний день месяца удобнее получать не через ДАТАМЕС, а парной функцией — она для этого и создана.
Функция КОНМЕСЯЦА: последний и первый день месяца
Функция КОНМЕСЯЦА возвращает последний день месяца, отстоящего на заданное число месяцев от начальной даты. Синтаксис по справке Microsoft — КОНМЕСЯЦА(нач_дата;число_месяцев); для 01.01.2011 формула с единицей вернёт 28.02.2011, а с минус тремя — 31.10.2010[5].
| Задача | Формула для 06.11.2026 | Результат |
|---|---|---|
| последний день текущего месяца | =КОНМЕСЯЦА(A9;0) | 30.11.2026 |
| последний день следующего месяца | =КОНМЕСЯЦА(A9;1) | 31.12.2026 |
| первый день текущего месяца | =КОНМЕСЯЦА(A9;-1)+1 | 01.11.2026 |
| сколько дней в месяце | =ДЕНЬ(КОНМЕСЯЦА(A9;0)) | 30 |
| дней до конца месяца | =КОНМЕСЯЦА(A9;0)-A9 | 24 |
Отдельной функции для первого дня месяца в списке функций дат нет. Первый день месяца даёт КОНМЕСЯЦА с минус одним месяцем плюс один день: последний день прошлого месяца плюс единица — это первое число текущего. Тот же приём проверяет високосный год: =ДЕНЬ(КОНМЕСЯЦА(ДАТА(2028;2;1);0)) вернёт 29[3].
ДАТАМЕС и КОНМЕСЯЦА одинаково усекают нецелое число месяцев, но ошибки у них разные. При недопустимой начальной дате ДАТАМЕС возвращает #ЗНАЧ!, а КОНМЕСЯЦА — #ЧИСЛО![5].
В отличие от ДАТАМЕС, КОНМЕСЯЦА не сохраняет число начальной даты: от 06.11.2026 и от 30.11.2026 с нулём получится одно и то же 30.11.2026. Для отбора «по конец месяца включительно» это удобно, а для графика платежей с фиксированным числом — нет.
В Google Таблицах парная функция называется EOMONTH и тоже отбрасывает дробную часть месяцев.
Именно поэтому обе функции работают в паре: одна сохраняет число месяца, другая ставит дату на конец периода.
Пример: график платежей, срок договора и конец квартала
ДАТАМЕС и КОНМЕСЯЦА вместе закрывают три частые задачи: ежемесячный график, срок договора и границу отчётного квартала. Пример посчитан в движке тренажёра[3].
| A | B | |
|---|---|---|
| 1 | Первый платёж | 15.01.2026 |
| 2 | 0 | =ДАТАМЕС($B$1;A2) |
| 3 | 1 | =ДАТАМЕС($B$1;A3) |
| 4 | 3 | =ДАТАМЕС($B$1;A4) |
- Введите номера месяцев в столбец A, начиная с нуля.
- Введите в B2
=ДАТАМЕС($B$1;A2)и протяните формулу вниз. - Проверьте строку с номером 3: формула должна вернуть 15.04.2026.
- Измените первую дату в B1 и убедитесь, что весь график сдвинулся вместе с ней.
Срок договора считают от даты подписания: если в B5 стоит число месяцев, =ДАТАМЕС(A5;B5) даёт дату окончания, а =ДАТАМЕС(A5;B5)-1 — последний день действия. Для договора, подписанного 31-го числа, проверьте результат в коротком месяце вручную: срок может закончиться 28-го или 30-го. ДАТАМЕС не учитывает выходные и праздники, поэтому дату окончания, выпавшую на воскресенье, переносят отдельно.
Конец квартала даёт формула =КОНМЕСЯЦА(A9;2-ОСТАТ(МЕСЯЦ(A9)-1;3)): для 06.11.2026 она вернёт 31.12.2026. Подпись вида «Ноябрь 2026» добавляет =ТЕКСТ(A9;"ММММ ГГГГ"). Начало того же квартала даёт =КОНМЕСЯЦА(A9;-1-ОСТАТ(МЕСЯЦ(A9)-1;3))+1 — для 06.11.2026 это 01.10.2026.
Постройте график платежей в тренажёре: урок меняет первую дату и проверяет, что формула ссылается на неё со знаком доллара.
Остаётся понять, в каких задачах сдвиг на месяцы даёт не тот ответ.
Когда ДАТАМЕС не подойдёт
ДАТАМЕС не подойдёт, если к дате нужно прибавить рабочие дни, дни и месяцы сразу или если результат должен учитывать праздники. Функция сдвигает только календарные месяцы, и каждое условие ниже проверяется до ввода формулы. В остальных задачах со сроками в месяцах ей нет замены.
- Если к дате нужно прибавить рабочие дни, ДАТАМЕС не подойдёт: функция сдвигает календарные месяцы — сроки в будних днях считает отдельная функция, разбор на странице о сроках в будних днях с учётом праздников.
- При сроке «месяц и десять дней» одной ДАТАМЕС не обойтись: дни прибавляют отдельно,
=ДАТАМЕС(A2;1)+10. - Если начальная дата записана текстом, функция может вернуть #ЗНАЧ! — справка советует вводить её функцией ДАТА[1].
- Если строки отбирают «до конца месяца», а в данных есть время, сравнение с КОНМЕСЯЦА отсечёт часть последнего дня: в нашем примере функция вернула целое число без дробной части, то есть полночь, — сравнивайте со следующим днём.
- Когда график строят цепочкой от предыдущей строки, 31-е число после февраля потеряется — считайте каждую дату от первой.
Полные месяцы и годы между двумя датами считает другая функция — она разобрана на странице о функции РАЗНДАТ и полных периодах, а дни между датами — на странице о сроке в днях между двумя датами. Остальные формулы собраны в путеводителе по формулам Excel для расчёта сроков.
Частые вопросы
Как прибавить месяц к дате в Excel?
Месяц к дате прибавляет формула =ДАТАМЕС(A2;1), а отрицательное число месяцев ведёт в прошлое[1]. ДАТАМЕС в Excel сохраняет число месяца, поэтому 15-е остаётся 15-м.
Как прибавить год к дате?
Год к дате прибавляет ДАТАМЕС с числом 12: =ДАТАМЕС(A2;12). Для 06.11.2026 формула вернёт 06.11.2027[3].
Как найти последний день месяца?
Последний день месяца возвращает =КОНМЕСЯЦА(A9;0), а =КОНМЕСЯЦА(A9;1) — последний день следующего месяца[5]. Для 06.11.2026 это 30.11.2026 и 31.12.2026.
Как получить первый день месяца?
Первый день месяца получают как последний день прошлого месяца плюс один: =КОНМЕСЯЦА(A9;-1)+1. Для 06.11.2026 результат — 01.11.2026[3].
Почему ДАТАМЕС показывает число вместо даты?
ДАТАМЕС показывает число, если у ячейки не стоит формат даты: функция возвращает порядковый номер, например 46081[1]. Если не сменить формат, график будет выглядеть набором чисел. Поставьте формат даты — и увидите 28.02.2026.
Чем ДАТАМЕС отличается от прибавления 30 дней?
ДАТАМЕС отличается от прибавления 30 дней тем, что сдвигает именно месяц. Для 15.01.2011 сложение даёт 14.02.2011, а функция — 15.02.2011[3].
Источники
- [1] Microsoft, справка «ДАТАМЕС (функция ДАТАМЕС)», 2026
- [2] Microsoft, справка «Сложение или вычитание дат», 2026
- [3] Редакция «Excel-тренажёра», проверка «ДАТАМЕС и КОНМЕСЯЦА на концах месяцев и графике платежей» в движке тренажёра, 2026
- [4] Google, справка «ДАТАМЕС (EDATE)», 2026
- [5] Microsoft, справка «КОНМЕСЯЦА», 2026