Вычисляем интервалы между датами в Excel: от простых дней до точного возраста

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

Чтобы быстро узнать количество дней между двумя датами в Excel, просто вычтите одну дату из другой (например, =B1-A1). Для расчета полных лет, месяцев или точного возраста используйте скрытую, но мощную функцию РАЗНДАТ (DATEDIF), которая автоматически учитывает високосные годы и разную длину месяцев.

В этой статье мы разберем все способы вычисления временных промежутков: от базовой арифметики до сложных формул для стажа и возраста.

Оглавление

Простой расчет дней

Самый элементарный способ найти разницу — обычное вычитание. Если в ячейке A1 указана начальная дата, а в B1 — конечная:

=B1 - A1

Результат отобразится в днях. Важно: Убедитесь, что ячейка с результатом имеет формат «Общий» или «Числовой». Если там стоит формат «Дата», вы увидите непонятный символ вместо числа.

Чтобы сделать результат более читаемым, объедините формулу с текстом: ="Прошло дней: " & (B1-A1)

Функция РАЗНДАТ: синтаксис и коды

Для более сложных расчетов (месяцы, годы) стандартное вычитание не подходит, так как месяцы имеют разное количество дней. Здесь на помощь приходит функция РАЗНДАТ (в английской версии — DATEDIF). Она не отображается в списке подсказок мастера функций, но работает во всех версиях Excel.

Синтаксис:

=РАЗНДАТ(начальная_дата; конечная_дата; "единица")

Третий аргумент определяет, в чем измерять разницу:

КодЧто считаетПример использования
"Y"Полные годыРасчет возраста, стажа
"M"Полные месяцыСрок аренды, подписки
"D"ДниКоличество дней между событиями
"MD"Дни (без учета лет и месяцев)Остаток дней после вычета полных периодов
"YM"Месяцы (без учета лет)Остаток месяцев после вычета полных лет
"YD"Дни (без учета лет)Дни между датами в пределах одного года

Как рассчитать точный возраст

Чаще всего эту функцию используют для определения возраста человека на текущую дату. Допустим, дата рождения записана в ячейке A2.

Формула для полных лет:

=РАЗНДАТ(A2; СЕГОДНЯ(); "Y")

Функция СЕГОДНЯ() автоматически подставляет текущую дату, поэтому возраст будет обновляться каждый день.

Если конечная дата меньше начальной (например, вы случайно поменяли их местами), функция вернет ошибку #ЧИСЛО!. Всегда ставьте более раннюю дату первым аргументом.

Комбинированный вывод: годы, месяцы и дни

Иногда требуется вывести результат в формате: «35 лет, 4 месяца и 12 дней». Для этого нужно сцепить три вызова функции с разными кодами единиц измерения.

Предположим, даты находятся в A1 (начало) и B1 (конец):

=РАЗНДАТ(A1; B1; "Y") & " лет, " & 
РАЗНДАТ(A1; B1; "YM") & " мес., " & 
РАЗНДАТ(A1; B1; "MD") & " дн."

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

  1. "Y" считает полные годы.
  2. "YM" считает оставшиеся месяцы после того, как отняли полные годы.
  3. "MD" считает оставшиеся дни после того, как отняли полные годы и месяцы.

Такой подход исключает ошибки, связанные с разным количеством дней в месяцах.

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

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

  • Ошибка #ЗНАЧ! — возникает, если одна из ячеек содержит текст, а не дату. Проверьте формат исходных данных.
  • Отрицательный результат — если при обычном вычитании (B1-A1) первая дата больше второй. В функции РАЗНДАТ это вызовет ошибку #ЧИСЛО!.
  • Неверный формат вывода — результат формулы выглядит как дата (например, 05.янв.1900). Исправляется изменением формата ячейки на «Общий».

FAQ

Работает ли функция РАЗНДАТ в Google Таблицах? Да, синтаксис полностью идентичен. Вы можете использовать =РАЗНДАТ() или =DATEDIF() в Google Sheets без изменений.

Как посчитать рабочий стаж с учетом выходных? Функция РАЗНДАТ считает календарные дни. Если нужно исключить выходные, используйте функцию ЧИСТРАБДНИ (NETWORKDAYS): =ЧИСТРАБДНИ(нач_дата; кон_дата).

Можно ли использовать РАЗНДАТ для будущих дат? Да, функция корректно работает с любыми датами, главное соблюдать порядок: сначала более ранняя дата, затем более поздняя.