Расчет интервалов между датами в Excel

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

Чтобы быстро узнать разницу между двумя датами в Excel, просто вычтите одну ячейку из другой (например, =B2-A2) и отформатируйте результат как число — так вы получите количество дней. Для получения точного возраста в годах, месяцах и днях используйте скрытую, но мощную функцию DATEDIF.

В этой инструкции мы разберем все способы вычисления временных промежутков: от простого подсчета дней до сложных комбинированных формул, которые автоматически формируют читаемый текст вида «2 года 3 месяца 5 дней».

Главный секрет: Функция DATEDIF не отображается в списке подсказок Excel, но работает во всех версиях программы. Просто введите её название вручную.

Базовый расчет: разница в днях

Самый простой способ узнать, сколько дней прошло между двумя событиями — обычное арифметическое вычитание. Excel хранит даты как порядковые номера, поэтому операция - возвращает корректное числовое значение.

Формула:

=B2 - A2

Где A2 — начальная дата, B2 — конечная.

Важные нюансы:

  • Формат ячейки: Если после ввода формулы вы видите дату вместо числа, измените формат ячейки с результатом на «Общий» или «Числовой».
  • Отрицательные значения: Если конечная дата раньше начальной, результат будет отрицательным. Чтобы всегда получать положительное число, используйте функцию модуля: =ABS(B2 - A2).
  • Альтернатива: Функция =DATEDIF(A2; B2; "d") дает тот же результат, но менее удобна для простых вычислений.

Точный расчет: годы, месяцы и дни (функция DATEDIF)

Когда нужно узнать не просто количество дней, а, например, стаж сотрудника или возраст ребенка, обычного вычитания недостаточно, так как месяцы имеют разную длину. Здесь на помощь приходит функция DATEDIF.

Её синтаксис: =DATEDIF(начальная_дата; конечная_дата; "единица_измерения").

Основные коды единиц измерения

КодЧто считаетПример использования
"y"Полные годы=DATEDIF(A2; B2; "y") → 5 лет
"m"Полные месяцы=DATEDIF(A2; B2; "m") → 62 месяца
"d"Дни=DATEDIF(A2; B2; "d") → 1825 дней

Комбинированный вывод («Человекочитаемый» формат)

Чтобы получить ответ в формате «X лет Y месяцев Z дней», необходимо сложить три вызова функции с разными кодами остатка:

  1. "y" — полные годы.
  2. "ym" — полные месяцы без учета лет (остаток).
  3. "md" — дни без учета лет и месяцев (остаток).

Готовая формула:

=DATEDIF(A2; B2; "y") & " лет " & DATEDIF(A2; B2; "ym") & " мес. " & DATEDIF(A2; B2; "md") & " дн."

Совет по разделителям: В русской версии Excel аргументы функций разделяются точкой с запятой (;), в английской — запятой (,). Убедитесь, что используете правильный разделитель для вашей системы.

Учет рабочих дней (исключая выходные)

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

Базовая формула (выходные: Сб, Вс):

=ЧИСТРАБДНИ(A2; B2)

С учетом праздников: Если у вас есть список праздничных дат в диапазоне E2:E10, добавьте его третьим аргументом:

=ЧИСТРАБДНИ(A2; B2; E2:E10)

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

Частые ошибки и решения

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

  • Результат — набор символов #####: Ячейка слишком узкая. Расширьте столбец.
  • Формула возвращает дату вместо числа: Вы забыли изменить формат ячейки результата на «Числовой» или «Общий».
  • Ошибка #ЗНАЧ!: Одна из ячеек содержит текст, а не дату. Проверьте данные. Если дата записана текстом (например, "2025.01.01"), преобразуйте её функцией ДАТАЗНАЧ (DATEVALUE).
  • Некорректный остаток дней: Код "md" в функции DATEDIF иногда может давать отрицательное значение в редких пограничных случаях (конец месяца). В таких ситуациях надежнее использовать более сложные формулы с функциями ДЕНЬ, МЕСЯЦ и ГОД, но для 99% задач DATEDIF работает корректно.

FAQ

В чем разница между простым вычитанием и DATEDIF? Простое вычитание (B2-A2) всегда возвращает общее количество дней. DATEDIF позволяет считать полные календарные периоды (годы, месяцы), игнорируя неполные остатки, что критично для расчета возраста или стажа.

Почему функция DATEDIF не появляется в подсказках? Это устаревшая функция, оставленная для совместимости с Lotus 1-2-3. Microsoft не рекомендует её для новых разработок, но она остается самым удобным инструментом для пользователей. Она полностью рабочая, просто вводится вручную.

Как посчитать разницу в часах и минутах? Если ячейки содержат время, формула вычитания =(B2-A2)*24 вернет разницу в часах (дробное число). Для минут умножьте на 24*60. Не забудьте установить числовой формат для ячейки результата.