Расчет дат, возраста и стажа в Excel: функции и формулы

Иван Корнев·18 августа 2026·3 мин

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

Оглавление

Получение текущей даты

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

  • =СЕГОДНЯ() — возвращает только текущую дату.
  • =ТДАТА() — возвращает текущую дату и точное время.

Если вам нужно зафиксировать дату статично, чтобы она не менялась при пересчете, используйте сочетание клавиш Ctrl + ; (точка с запятой) в выбранной ячейке.

Расчет точного возраста и стажа

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

Убедитесь, что начальная дата строго раньше конечной, иначе функция вернет ошибку #ЧИСЛО!. Также проверьте, что ячейки с исходными датами имеют формат «Дата», а ячейки с результатами — «Общий» или «Число», иначе вместо текста вы увидите случайное число.

Синтаксис: =РАЗНДАТ(нач_дата; кон_дата; тип)

ТипОписаниеПример использования
"Y"Количество полных летОбщий возраст сотрудника, полный стаж
"M"Количество полных месяцевСтаж менее одного года
"D"Количество днейТочная разница в днях
"YM"Разница в месяцах (игнорируя годы)Для вывода формата «X лет Y месяцев»
"MD"Разница в днях (игнорируя месяцы и годы)Для вывода формата «...и Z дней»

Примеры формул:

  • Возраст в полных годах на сегодня: =РАЗНДАТ(A2; СЕГОДНЯ(); "Y")
  • Стаж в формате «X лет Y мес. Z дн.»: =РАЗНДАТ(B2; C2; "Y") & " лет " & РАЗНДАТ(B2; C2; "YM") & " мес. " & РАЗНДАТ(B2; C2; "MD") & " дн."

Альтернативные методы вычислений

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

  • Функция ДОЛЯГОДА (YEARFRAC): Возвращает долю года между датами. Удобна для бухгалтерских расчетов, где год может считаться как 360 или 365 дней. =ЦЕЛОЕ(ДОЛЯГОДА(A2; B2; 1)) — вернет целое количество полных лет.
  • Простое вычитание: =(B2-A2)/365,25 — дает приблизительный возраст с десятичными знаками. Менее точен, чем РАЗНДАТ, из-за погрешности на високосные годы.

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

  1. Неверный формат ячеек. Если в ячейке с результатом стоит формат «Дата», вместо «35 лет» Excel отобразит дату в 1900 году. Всегда меняйте формат результата на «Общий» или «Текстовый».
  2. Даты импортированы как текст. Если даты пришли из другой системы и не распознаются, используйте функцию =ДАТАЗНАЧ() для преобразования их в числовой формат Excel перед расчетами.
  3. Локализация функций. В русской версии Excel функция пишется как РАЗНДАТ, в английской — DATEDIF. При этом аргументы типа ("Y", "M", "D") всегда пишутся латиницей и обязательно берутся в кавычки, независимо от языка интерфейса.

FAQ

Почему функция РАЗНДАТ не находится в списке при вводе? Это нормально. Функция РАЗНДАТ является скрытой (наследие Lotus 1-2-3) и не выводится в мастер функций, но она полностью рабочая и поддерживается всеми версиями Excel.

Как посчитать стаж, если дата увольнения еще не наступила? В качестве конечной даты используйте функцию =СЕГОДНЯ(). Если сотрудник еще работает, формула =РАЗНДАТ(A2; СЕГОДНЯ(); "Y") будет автоматически обновлять его стаж каждый день.

Можно ли использовать РАЗНДАТ для расчета стажа в месяцах, если он больше года? Да, используйте тип "M". Функция вернет общее количество полных месяцев между датами, не ограничиваясь одним годом (например, 25 месяцев вместо 2 лет и 1 месяца).