Расчет разницы в месяцах в Excel

Иван Корнев·11.04.2026·3 мин

Чтобы быстро посчитать количество полных месяцев между двумя датами в Excel, используйте функцию =DATEDIF(дата_начала; дата_окончания; "m"). Эта формула возвращает целое число месяцев, игнорируя дни. Если вам нужен более точный расчет с учетом того, прошел ли день окончания в месяце начала, добавьте проверку дня: =DATEDIF(A1; B1; "m") - (ДЕНЬ(B1) < ДЕНЬ(A1)).

Базовый метод: функция DATEDIF

Функция DATEDIF — самый надежный инструмент для работы с интервалами времени, несмотря на то, что она скрыта в мастере функций. Она корректно обрабатывает високосные годы и разную длину месяцев.

Синтаксис для месяцев:

=DATEDIF(начальная_дата; конечная_дата; "m")

Пример:

  • Ячейка A2: 15.03.2024
  • Ячейка B2: 02.07.2026
  • Формула: =DATEDIF(A2; B2; "m")
  • Результат: 28 месяцев.

Функция DATEDIF доступна во всех версиях Excel (включая 365, 2019, 2016) и работает аналогично в Google Таблицах. В русском интерфейсе разделителем аргументов обычно является точка с запятой (;).

Учет пограничных дней (Точный расчет)

Стандартная формула DATEDIF(...;"m") считает месяц полным, даже если до даты начала не хватило одного дня (например, с 31 января по 28 февраля она вернет 1 месяц). Если ваша задача — считать только полные календарные месяцы (когда день окончания наступил или прошел день начала), используйте модифицированную формулу.

Формула с проверкой дня:

=DATEDIF(A2; B2; "m") - (ДЕНЬ(B2) < ДЕНЬ(A2))

Логика работы:

  1. Считается общая разница в месяцах.
  2. Если день конечной даты меньше дня начальной даты (условие ИСТИНА = 1), из результата вычитается единица.

Пример ситуации:

  • Начало: 31.01.2024
  • Конец: 28.02.2024
  • Обычный DATEDIF: вернет 1.
  • Формула с проверкой: вернет 0, так как 28 число еще не достигло 31-го.

Альтернативный способ: через ГОД и МЕСЯЦ

Если по каким-то причинам нельзя использовать DATEDIF, можно рассчитать разницу математически, преобразовав годы в месяцы.

Формула:

=(ГОД(B2) - ГОД(A2)) * 12 + (МЕСЯЦ(B2) - МЕСЯЦ(A2))

Для учета дней (аналогично предыдущему пункту) добавьте вычитание логического условия:

=(ГОД(B2) - ГОД(A2)) * 12 + (МЕСЯЦ(B2) - МЕСЯЦ(A2)) - (ДЕНЬ(B2) < ДЕНЬ(A2))

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

Сравнение методов расчета

МетодФормулаКогда использовать
Быстрый=DATEDIF(A1;B1;"m")Для приблизительных расчетов, стаж, сроки аренды без привязки к конкретному числу.
Точный=DATEDIF(A1;B1;"m")-(ДЕНЬ(B1)<ДЕНЬ(A1))Для финансовых расчетов, где важен полный цикл (например, оплата за полный месяц услуг).
Математический=(ГОД(B1)-ГОД(A1))*12+...Если функция DATEDIF недоступна или заблокирована политикой безопасности файла.

Частая ошибка: Не путайте порядок аргументов. В DATEDIF первая дата всегда должна быть меньше второй. Если дата начала позже даты окончания, функция вернет ошибку #ЧИСЛО!. Для обратного отсчета используйте функцию ABS или поменяйте ячейки местами.

Частые ошибки

  1. Ошибка формата даты. Если Excel воспринимает дату как текст, формулы вернут ошибку. Убедитесь, что ячейки имеют формат "Дата". Проверить можно, попробовав изменить формат на "Общий": если осталось число (например, 45321) — это дата, если текст остался текстом — формат неверен.
  2. Игнорирование високосных лет. При ручном расчете (вычитании дней и делении на 30) часто возникает погрешность. Всегда используйте встроенные функции даты, они автоматически учитывают 29 февраля.
  3. Разделители аргументов. В русской версии Excel аргументы разделяются точкой с запятой (;), в английской — запятой (,). Используйте тот разделитель, который принят в вашей системе.

FAQ

Вопрос: Как посчитать неполные месяцы (с десятичной дробью)? Ответ: Используйте функцию РАЗНДАТ (или YEARFRAC в английском интерфейсе) и умножьте результат на 12. Формула: =РАЗНДАТ(A2; B2) * 12. Это покажет дробное значение, например, 2.5 месяца.

Вопрос: Формула возвращает ошибку #ИМЯ? Ответ: Скорее всего, вы используете английское название функции (DATEDIF, YEAR, MONTH) в русской версии Excel без перевода. Замените их на русские аналоги: РАЗНДАТ, ГОД, МЕСЯЦ.

Вопрос: Можно ли использовать этот метод в Google Таблицах? Ответ: Да, синтаксис полностью идентичен. Функции DATEDIF, YEAR, MONTH, DAY работают в Google Sheets так же, как в Excel.