Вычисляем интервалы между датами в Excel без ошибок

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

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

Как Excel видит даты и время

В основе всех вычислений лежит принцип хранения данных. Для Excel дата — это не текст, а порядковый номер.

  • Целая часть числа означает количество дней, прошедших с 1 января 1900 года (или 1904 на Mac). Например, число 1 — это 01.01.1900, а 45000 — дата в 2023 году.
  • Дробная часть отвечает за время. 0.5 соответствует 12:00 дня (половина суток), 0.25 — 6 утра.

Когда вы вычитаете одну дату из другой, Excel фактически вычитает два числа. Результатом будет количество дней (с дробной частью, если есть разница во времени). Главная проблема пользователей возникает не в формуле, а в формате ячейки: если результат отображается как дата (например, 05.01.1900 вместо 5), просто измените формат ячейки на «Общий» или «Числовой».

Лайфхак: Если после вычисления разницы вы видите странные символы #####, просто расширьте столбец. Это значит, что число не помещается в текущую ширину ячейки.

Базовые формулы для расчета дней

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

ЗадачаФормулаПримечание
Простая разница=B2-A2Может быть отрицательной, если дата начала позже даты конца
Модуль разницы=ABS(B2-A2)Всегда возвращает положительное число дней
С учетом текущего дня=B2-A2+1Часто используется в кадровом учете (включая первый и последний день)

Если в ячейках содержится время (например, 10.04.2026 10:00 и 12.04.2026 14:00), формула =B2-A2 вернет дробное число (например, 2.166). Целая часть — дни, дробная — часы. Чтобы получить чистое количество часов, умножьте разницу на 24: =(B2-A2)*24.

Точный расчет лет, месяцев и дней (Функция DATEDIF)

Для сложных интервалов, где нужно знать не просто дни, а именно «2 года и 3 месяца», стандартное вычитание не подойдет. Здесь незаменима функция DATEDIF (Date Difference). Несмотря на то, что она не отображается в списке подсказок Excel, она работает во всех версиях программы.

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

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

  • "d" — полная разница в днях.
  • "m" — количество полных месяцев.
  • "y" — количество полных лет.
  • "ym" — разница в месяцах без учета лет (сколько месяцев прошло после последнего полного года).
  • "md" — разница в днях без учета лет и месяцев (сколько дней прошло после последнего полного месяца).
  • "yd" — разница в днях без учета лет (для расчета дней рождения).

Важно: Функция DATEDIF чувствительна к порядку дат. Если начальная дата больше конечной, вы получите ошибку #NUM!. Всегда проверяйте, что первая дата раньше второй.

Пример сложного вывода

Чтобы получить читаемый текст вида «3 года 5 месяцев 12 дней», используйте конкатенацию:

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

Расчет рабочих дней и времени

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

=ЧИСТРАБДНИ(начальная_дата; конечная_дата; [праздники])

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

Если нужно посчитать разницу во времени (часы:минуты):

  1. Убедитесь, что обе ячейки имеют формат даты/времени.
  2. Используйте формулу =B2-A2.
  3. Примените к ячейке результата пользовательский формат [ч]:мм. Квадратные скобки вокруг ч позволяют отображать сумму часов более 24 (иначе счетчик сбросится после суток).

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

Даже опытные пользователи допускают типичные промахи при расчете интервалов:

  1. Результат отображается как дата.
    • Причина: Ячейка с формулой отформатирована как «Дата».
    • Решение: Нажмите Ctrl+1 и выберите формат «Общий» или «Числовой».
  2. Отрицательные значения.
    • Причина: Дата начала позже даты окончания.
    • Решение: Проверьте порядок ячеек или оберните формулу в ABS(), если знак не важен.
  3. Ошибка #ЗНАЧ! при вводе дат текстом.
    • Причина: Дата введена как текст (например, "10.04.26" с точками в неверном порядке для вашей локали).
    • Решение: Используйте функцию ДАТА(год; месяц; день) для гарантированного создания корректной даты.
  4. Неверный расчет возраста.
    • Причина: Использование простого деления дней на 365.
    • Решение: Годы бывают високосными. Всегда используйте DATEDIF(...; "y") для точного возраста.

FAQ

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

Можно ли складывать разницы дат? Да. Поскольку результат вычитания дат — это число, вы можете суммировать такие ячейки функцией СУММ. Главное, чтобы у итоговой ячейки был правильный числовой формат.

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