Как посчитать количество дней между датами в Excel: календарные дни, разница дат и остаток до срока

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

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

Главное правило: В Excel даты хранятся как порядковые номера. Поэтому математическое вычитание одной даты из другой автоматически дает разницу в днях. Убедитесь, что ячейки с результатами имеют «Общий» числовой формат, а не формат даты.

Простой расчет календарных дней

Самый базовый сценарий — узнать, сколько суток прошло между двумя событиями, учитывая все дни недели (включая субботы, воскресенья и праздники).

Базовая формула вычитания

Если в ячейке A2 дата начала, а в B2 дата конца:

=B2 - A2

Эта формула покажет количество полных дней между датами.

Включение обеих дат в расчет

Часто в бизнесе требуется посчитать длительность периода, включая день начала и день окончания (например, длительность отпуска или аренды). Для этого к разнице нужно прибавить единицу:

=B2 - A2 + 1

Проверка формата: Если вместо числа вы видите дату (например, 05.01.1900), измените формат ячейки с результатом на «Общий» или «Числовой» через вкладку «Главная» -> группа «Число».

Расчет рабочих дней (без выходных и праздников)

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

Синтаксис функции

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

Пример с учетом праздников

Допустим, период с A2 по B2, а список праздничных дней находится в диапазоне E2:E10:

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

Функция автоматически исключит все субботы, воскресенья и даты из списка праздников.

Важно: Функция ЧИСТРАБДНИ не знает о переносах выходных дней (когда суббота становится рабочей, а понедельник — выходным). Такие нюансы придется корректировать вручную или использовать сложные формулы с СУММПРОИЗВ.

Точный расчет компонентов: годы, месяцы, дни

Если вам нужно узнать не просто общую разницу, а конкретную структуру (например, «2 года, 3 месяца и 5 дней»), используйте функцию РАЗНДАТ (DATEDIF). Она официально не отображается в списке подсказок Excel, но полностью поддерживается во всех версиях.

Синтаксис

=РАЗНДАТ(нач_дата; кон_дата; "единица_измерения")

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

КодЧто возвращаетПример использования
"d"Полное количество днейСтаж работы в днях
"m"Полное количество месяцевВозраст ребенка в месяцах
"y"Полное количество летВозраст сотрудника
"ym"Остаток месяцев после вычета полных лет"Сколько месяцев сверх полных лет"
"md"Остаток дней после вычета полных месяцев"Сколько дней сверх полных месяцев"

Пример сложного расчета стажа: Чтобы получить текст вида «5 лет, 4 мес., 12 дн.», объедините три формулы:

=РАЗНДАТ(A2; B2; "y") & " лет, " & РАЗНДАТ(A2; B2; "ym") & " мес., " & РАЗНДАТ(A2; B2; "md") & " дн."

Как рассчитать остаток дней до дедлайна

Для отслеживания сроков удобно использовать функцию СЕГОДНЯ() (TODAY()), которая всегда возвращает текущую дату.

Дней осталось (календарных)

Если дедлайн указан в ячейке C2:

=C2 - СЕГОДНЯ()

Результат: Положительное число — дней осталось, отрицательное — просрочка, 0 — срок сегодня.

Рабочих дней осталось

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

=ЧИСТРАБДНИ(СЕГОДНЯ(); C2)

Примечание: Эта формула включает сегодняшний день. Если задача должна быть выполнена к концу сегодняшнего дня и считается уже начатой, формула верна. Если нужно исключить сегодня, используйте СЕГОДНЯ()+1 в качестве даты начала.

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

  1. Даты сохранены как текст.
    • Симптом: Формула возвращает ошибку #ЗНАЧ! или неверный результат. Выравнивание текста в ячейке по левому краю.
    • Решение: Выделите столбец, перейдите в «Данные» -> «Текст по столбцам» -> «Готово». Или используйте формулу =ЗНАЧЕН(A2) для преобразования.
  2. Неверный порядок аргументов в РАЗНДАТ.
    • Ошибка: =РАЗНДАТ(B2; A2; "d"), где B2 раньше A2.
    • Результат: Ошибка #ЧИСЛО!. Дата начала всегда должна быть меньше или равна дате окончания.
  3. Учет времени в датах.
    • Проблема: Ячейки содержат время (например, 13.04.2026 15:30). При вычитании 14.04.2026 09:00 минус 13.04.2026 15:30 получится не 1 день, а 0.729.
    • Решение: Используйте функцию ЦЕЛОЕ для отсечения времени: =ЦЕЛОЕ(B2) - ЦЕЛОЕ(A2).

FAQ

Как посчитать разницу в днях, если даты в разных часовых поясах? В самом Excel нет понятия часовых поясов для обычных ячеек. Вам нужно предварительно привести даты к единому временному стандарту (например, к московскому времени) с помощью простых арифметических операций (прибавление/вычитание доли суток), прежде чем считать разницу.

Можно ли сделать так, чтобы при наступлении даты дедлайна ячейка окрашивалась в красный? Да, используйте «Условное форматирование». Выделите ячейку с формулой остатка дней, создайте правило «Формула» и введите условие =A1<0 (где A1 — ячейка с остатком). Выберите красный цвет заливки.

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