Все способы вычислить интервал между датами в Excel

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

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

Базовый расчет: простое вычитание

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

=Конечная_дата - Начальная_дата

Например, если дата начала проекта в ячейке A2, а дата завершения в B2, формула =B2-A2 вернет число дней.

Важно: Если вместо числа отображается дата (например, «янв.00»), измените формат ячейки с результатом на «Общий» или «Числовой». Нажмите Ctrl+1, выберите категорию «Числовой» и уберите десятичные знаки.

Точный расчет стажа и возраста: функция DATEDIF

Для сложных расчетов, где нужно разделить интервал на годы, месяцы и дни (например, для расчета возраста сотрудника или срока договора), используется скрытая, но надежная функция DATEDIF.

Синтаксис: =DATEDIF(нач_дата; кон_дата; "единица")

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

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

Пример расчета полного стажа: Чтобы получить строку вида «5 лет 3 мес.», объедините две функции: =DATEDIF(A2;B2;"Y") & " лет " & DATEDIF(A2;B2;"YM") & " мес."

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

Специализированные функции для дней и лет

Если стандартного вычитания недостаточно, воспользуйтесь встроенными функциями для специфических задач:

  • =DAYS(кон_дата; нач_дата) — аналог вычитания, но с явным указанием аргументов. Удобна, если даты вводятся прямо в формулу текстом.
  • =YEARFRAC(нач_дата; кон_дата) — возвращает долю года. Используется в финансовых расчетах (например, для начисления процентов за неполный год). Результат 0.5 означает полгода.

Подсчет рабочих дней (NETWORKDAYS)

Для бизнес-задач часто требуется исключить выходные и праздники. Функция NETWORKDAYS считает только рабочие дни (с понедельника по пятницу).

Формула: =NETWORKDAYS(нач_дата; кон_дата; [праздники])

  1. Укажите диапазон дат начала и конца.
  2. (Опционально) Выделите отдельный диапазон ячеек с датами государственных праздников, чтобы функция их тоже исключила.

Если функция NETWORKDAYS возвращает ошибку #ИМЯ?, убедитесь, что установлен надстройкой «Пакет анализа» (в старых версиях) или проверьте правильность написания функции (в некоторых локализованных версиях она может называться ЧИСТРАБДНИ).

Частые ошибки при работе с датами

  • Результат #####: Ячейка слишком узкая для отображения числа. Расширьте столбец.
  • Отрицательное значение: Дата начала позже даты окончания. Проверьте порядок аргументов.
  • Дата распознается как текст: Формула не работает, возвращая #ЗНАЧ!. Убедитесь, что исходные ячейки имеют формат «Дата», а не «Текст». Часто это случается при копировании данных из других источников.

FAQ

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

Можно ли считать разницу от текущей даты? Да. Используйте функцию =СЕГОДНЯ() (или =TODAY()) в качестве одного из аргументов. Например: =DATEDIF(A2;СЕГОДНЯ();"Y") покажет полный возраст на сегодняшний день.

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