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

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

Чтобы узнать количество полных лет и месяцев между двумя датами в Excel, используйте скрытую функцию =DATEDIF(нач_дата; кон_дата; "единица"). Для получения дробных значений (например, 5,5 лет) применяйте =YEARFRAC(нач_дата; кон_дата). Эти инструменты позволяют мгновенно рассчитать трудовой стаж, срок кредита или возраст без ручного пересчета календаря.

Функция DATEDIF: расчет полных периодов

Функция DATEDIF (от англ. Date Difference) — основной инструмент для вычисления целых промежутков времени. Она не отображается в списке подсказок при вводе, но работает во всех версиях Excel, начиная с 2010 года.

Синтаксис формулы: =DATEDIF(начальная_дата; конечная_дата; "код_единицы")

Коды единиц измерения:

  • "Y" — количество полных лет.
  • "M" — общее количество полных месяцев.
  • "D" — количество дней.
  • "YM" — разница в месяцах без учета лет (остаток после вычисления полных лет).
  • "MD" — разница в днях без учета месяцев и лет.

Пример расчета трудового стажа: Допустим, дата приема на работу (ячейка A1) — 15.03.2020, а дата увольнения (ячейка B1) — 08.04.2026.

  1. Полные годы: =DATEDIF(A1; B1; "Y") → Результат: 6.
  2. Оставшиеся месяцы: =DATEDIF(A1; B1; "YM") → Результат: 1.
  3. Общее число месяцев: =DATEDIF(A1; B1; "M") → Результат: 73.

Для красивого вывода стажа в одну ячейку объедините формулы через амперсанд: =DATEDIF(A1;B1;"Y") & " г. " & DATEDIF(A1;B1;"YM") & " мес." Результат: "6 г. 1 мес."

Точный расчет с дробными значениями (YEARFRAC)

Если вам нужны не целые числа, а точные десятичные дроби (например, для начисления процентов по кредиту или сложной системы оплаты труда), функция DATEDIF не подойдет. Используйте YEARFRAC.

Формула: =YEARFRAC(нач_дата; кон_дата)

Эта функция возвращает долю года между датами, учитывая високосные годы. По умолчанию используется американский стандарт (360 дней в году), но для максимальной точности в российских реалиях рекомендуется явно указывать базис 1 (фактическое количество дней): =YEARFRAC(A1; B1; 1)

Сравнение методов расчета для периода 15.03.2020 – 08.04.2026:

МетодФормулаРезультатГде применять
Полные годыDATEDIF(...;"Y")6Трудовой стаж, возраст
Полные месяцыDATEDIF(...;"M")73Аренда, подписки
Дробные годыYEARFRAC(...;1)6,07Проценты, пени, бонусы
ДниB1-A12216Срок действия договора

В русской версии Excel разделителем аргументов является точка с запятой (;). Использование запятой (,) приведет к ошибке #ЗНАЧ!.

Сложные сценарии: учет рабочих дней и текущей даты

Автоматический расчет до сегодняшнего дня

Чтобы стаж или срок действия документа обновлялся автоматически каждый день, вместо конечной даты используйте функцию СЕГОДНЯ(): =DATEDIF(A1; СЕГОДНЯ(); "Y") & " лет"

Исключение выходных и праздников

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

Обработка ошибок

Если конечная дата меньше начальной, DATEDIF вернет ошибку #ЧИСЛО!. Чтобы избежать этого, оберните формулу в проверку: =ЕСЛИ(B1<A1; "Дата в будущем"; DATEDIF(A1; B1; "Y"))

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

  • Даты сохранены как текст. Если формула возвращает #ЗНАЧ!, проверьте формат ячеек. Даты должны быть выровнены по правому краю. Используйте функцию ДАТАЗНАЧ() для конвертации текста в дату.
  • Неверный порядок аргументов. В DATEDIF первая дата всегда должна быть раньше второй. В функции ДНИ (DAYS) порядок обратный: сначала конечная, потом начальная.
  • Игнорирование високосных лет. При простом делении количества дней на 365 вы получите погрешность. Для финансовых расчетов всегда используйте YEARFRAC с базисом 1.

FAQ

Как посчитать возраст человека в годах и месяцах? Используйте связку: =DATEDIF(A1; СЕГОДНЯ(); "Y") & " лет " & DATEDIF(A1; СЕГОДНЯ(); "YM") & " мес.", где A1 — дата рождения.

Можно ли использовать эти формулы в Google Таблицах? Да, функции DATEDIF, YEARFRAC, ЧИСТРАБДНИ и СЕГОДНЯ полностью поддерживаются в Google Sheets с идентичным синтаксисом.

Как рассчитать разницу во времени (часы и минуты)? Просто вычтите одну дату из другой (=B1-A1) и примените к ячейке пользовательский формат [ч]:мм. Квадратные скобки позволят суммировать часы свыше 24.