Функции и формулы

Функции ДАТАМЕС и КОНМЕСЯЦА в Excel: сроки, график платежей и конец квартала

ДАТАМЕС в Excel — это функция сдвига даты на целое число месяцев для тех, кто строит графики платежей и считает сроки договоров. По справке Microsoft нецелое число месяцев в этой функции усекается, а неверная начальная дата даёт #ЗНАЧ![1]. Ниже — конец месяца, КОНМЕСЯЦА для последнего дня, график на примере и границы применения.

Тренажёр: 7 шагов

Срок договора «на шесть месяцев», платёж «15-го числа каждого месяца», отчёт «на конец квартала» — простое прибавление дней здесь не работает: месяцы разной длины. Справка Microsoft советует прибавлять месяцы функцией ДАТАМЕС, дни — обычным сложением, а годы — через ДАТА с ГОД, МЕСЯЦ и ДЕНЬ[2]. Ошибка в одном месяце сдвигает весь график. ДАТАМЕС в Excel решает задачу одной формулой: она знает длину каждого месяца и не требует считать дни вручную.

Порядок работы такой: найти начальную дату и срок, ввести формулу ДАТАМЕС или КОНМЕСЯЦА, проверить формат результата и конец месяца, исправить ошибку #ЗНАЧ! или цепочку дат и протянуть формулу от закреплённой даты. Все результаты ниже пересчитаны в движке тренажёра.

Ключевые факты: ДАТАМЕС в Excel

  • ДАТАМЕС сдвигает дату на целое число месяцев и сохраняет число месяца, а КОНМЕСЯЦА возвращает последний день месяца.
  • У обеих функций 2 аргумента: начальная дата и число месяцев[1].
  • Нецелое число месяцев в ДАТАМЕС не округляется, а усекается[1].
  • КОНМЕСЯЦА отличается от ДАТАМЕС тем, что всегда ставит дату на последний день месяца.
  • Справка Microsoft советует вводить начальную дату функцией ДАТА: даты текстом могут вызвать проблемы[1].

Как прибавить месяцы к дате функцией ДАТАМЕС в Excel

ДАТАМЕС в Excel сдвигает дату на заданное число месяцев вперёд или назад и сохраняет число месяца. Синтаксис по справке Microsoft — ДАТАМЕС(нач_дата;число_месяцев): положительное число даёт будущую дату, отрицательное — прошлую[1]. В английской версии функция называется EDATE.

ABC
1ДатаФормулаРезультат
215.01.2011=ДАТАМЕС(A2;1)15.02.2011
315.01.2011=ДАТАМЕС(A2;-1)15.12.2010
415.01.2011=ДАТАМЕС(A2;2)15.03.2011
  1. Введите начальную дату в A2 — функцией ДАТА или ссылкой, а не текстом.
  2. Введите в C2 =ДАТАМЕС(A2;1) и нажмите Enter.
  3. Если вместо даты видно число, поставьте ячейке формат даты: функция возвращает порядковый номер[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.

Миф: ДАТАМЕС округляет дробное число месяцев — на деле нецелое число месяцев усекается, так что 1,9 работает как 1, по справке Microsoft[1].

Справка относит ДАТАМЕС к 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 — номер месяца. Подробно о закреплении ссылки — на странице о знаке доллара в адресе ячейки.

Миф: число вместо даты в ячейке с ДАТАМЕС — ошибка формулы — на деле функция возвращает порядковый номер даты, и ячейке нужен формат даты, как указано в справке Microsoft[1].

Без формата результат 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)+101.11.2026
сколько дней в месяце=ДЕНЬ(КОНМЕСЯЦА(A9;0))30
дней до конца месяца=КОНМЕСЯЦА(A9;0)-A924

Отдельной функции для первого дня месяца в списке функций дат нет. Первый день месяца даёт КОНМЕСЯЦА с минус одним месяцем плюс один день: последний день прошлого месяца плюс единица — это первое число текущего. Тот же приём проверяет високосный год: =ДЕНЬ(КОНМЕСЯЦА(ДАТА(2028;2;1);0)) вернёт 29[3].

ДАТАМЕС и КОНМЕСЯЦА одинаково усекают нецелое число месяцев, но ошибки у них разные. При недопустимой начальной дате ДАТАМЕС возвращает #ЗНАЧ!, а КОНМЕСЯЦА — #ЧИСЛО![5].

Миф: КОНМЕСЯЦА округляет число месяцев до ближайшего целого — на деле нецелое число месяцев усекается, по справке Microsoft[5].

В отличие от ДАТАМЕС, КОНМЕСЯЦА не сохраняет число начальной даты: от 06.11.2026 и от 30.11.2026 с нулём получится одно и то же 30.11.2026. Для отбора «по конец месяца включительно» это удобно, а для графика платежей с фиксированным числом — нет.

В Google Таблицах парная функция называется EOMONTH и тоже отбрасывает дробную часть месяцев.

Именно поэтому обе функции работают в паре: одна сохраняет число месяца, другая ставит дату на конец периода.

Пример: график платежей, срок договора и конец квартала

ДАТАМЕС и КОНМЕСЯЦА вместе закрывают три частые задачи: ежемесячный график, срок договора и границу отчётного квартала. Пример посчитан в движке тренажёра[3].

AB
1Первый платёж15.01.2026
20=ДАТАМЕС($B$1;A2)
31=ДАТАМЕС($B$1;A3)
43=ДАТАМЕС($B$1;A4)
  1. Введите номера месяцев в столбец A, начиная с нуля.
  2. Введите в B2 =ДАТАМЕС($B$1;A2) и протяните формулу вниз.
  3. Проверьте строку с номером 3: формула должна вернуть 15.04.2026.
  4. Измените первую дату в 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. [1] Microsoft, справка «ДАТАМЕС (функция ДАТАМЕС)», 2026
  2. [2] Microsoft, справка «Сложение или вычитание дат», 2026
  3. [3] Редакция «Excel-тренажёра», проверка «ДАТАМЕС и КОНМЕСЯЦА на концах месяцев и графике платежей» в движке тренажёра, 2026
  4. [4] Google, справка «ДАТАМЕС (EDATE)», 2026
  5. [5] Microsoft, справка «КОНМЕСЯЦА», 2026

Похожие темы