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

Введение: зачем считать дни в Excel и где это пригодится

Вы когда-нибудь задумывались, сколько времени прошло между двумя важными событиями? Например, между датой заключения договора и его исполнением, или между началом проекта и дедлайном? В Microsoft Excel есть масса инструментов, чтобы автоматизировать такие расчеты — и это экономит часы ручной работы.

Расчет дней между датами — одна из самых востребованных операций в бизнес-аналитике, бухгалтерии и проектном менеджменте. С ее помощью можно:

  • 📅 Отслеживать сроки выполнения задач в тайм-менеджменте
  • 💰 Рассчитывать проценты по кредитам или штрафы за просрочку
  • 📊 Строить временные графики для Gantt-диаграмм
  • 📈 Анализировать временные тренды в данных (например, время доставки заказов)

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

Способ 1: Базовая формула вычитания дат

Самый простой метод — это вычесть одну дату из другой. Excel автоматически преобразует разницу в количество дней, так как хранит даты в виде последовательных чисел (начиная с 1 января 1900 года).

Формула выглядит так:

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

Пример: если в ячейке A2 у вас дата начала проекта 15.05.2026, а в B2 — дата окончания 30.06.2026, то формула будет:

=B2-A2
  • ✅ Плюсы: максимально просто, работает во всех версиях Excel
  • ❌ Минусы: не учитывает рабочие/выходные дни, формат ячеек должен быть Дата
⚠️ Внимание: Если результат отображается как дата (например, 04.07.1905), а не число — измените формат ячейки с результатом на Общий или Числовой.
📊 Как часто вы используете расчет дней в Excel?
Ежедневно
Несколько раз в неделю
Редко
Никогда

Способ 2: Функция РАЗНДАТ (DATEDIF) — скрытый инструмент Excel

Функция РАЗНДАТ (или DATEDIF в английской версии) — это "секретное оружие" для работы с датами. Она позволяет рассчитывать не только дни, но и месяцы или годы между двумя датами. Синтаксис:

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

Для подсчета дней используйте параметр "D":

=РАЗНДАТ(A2; B2; "D")
Параметр Описание Пример результата
"D" Количество дней 46 (дней между 15.05 и 30.06)
"M" Количество полных месяцев 1
"Y" Количество полных лет 0
"YM" Месяцы без учета лет 1
"MD" Дни без учета месяцев и лет 15 (с 15 по 30 число)

Функция РАЗНДАТ не документирована в справке Excel, но работает во всех версиях с 2000 года. Это делает ее универсальным решением для старых и новых файлов.

Убедитесь, что ячейки имеют формат Дата|Проверьте порядок аргументов (начальная дата ПЕРВАЯ)|Используйте кавычки для параметра единицы измерения ("D")|Для отрицательного результата поменяйте даты местами-->

Способ 3: Расчет рабочих дней (исключая выходные)

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

=ЧИСТРАБДНИ(Начальная_дата; Конечная_дата)

Пример:

=ЧИСТРАБДНИ("15.05.2026"; "30.06.2026")

Результат: 32 рабочих дня (из 46 календарных).

Функция автоматически исключает субботы и воскресенья. Но что, если у вас нестандартный рабочий график (например, выходной в пятницу)? Тогда используйте расширенную версию:

=ЧИСТРАБДНИ.INTL(Начальная_дата; Конечная_дата; [Выходные]; [Праздники])

Параметр [Выходные] кодируется числом:

  • 📅 1 — суббота-воскресенье (по умолчанию)
  • 📅 2 — воскресенье-понедельник
  • 📅 11 — только воскресенье
  • 📅 12 — только суббота

Способ 4: Учет праздников и индивидуальных выходных

Для точного расчета с учетом государственных праздников или корпоративных выходных потребуется комбинация функций. Вот пошаговая инструкция:

  1. Создайте отдельный список праздничных дат в столбце (например, E2:E15).
  2. Используйте формулу:
    =ЧИСТРАБДНИ.INTL(A2; B2; 1; E2:E15)
  3. Если праздники попадают на выходные, они автоматически игнорируются (так как уже исключены).

Пример списка праздников для России (2026 год):

Дата Праздник
01.01.2026 Новый год
07.01.2026 Рождество
23.02.2026 День защитника Отечества
08.03.2026 Международный женский день
⚠️ Внимание: Если праздничный день выпадает на субботу или воскресенье, в России он переносится на следующий рабочий день. В Excel такой перенос нужно указывать вручную!
Как автоматизировать список праздников?

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

=ДАТА(ГОД(СЕГОДНЯ()); 1; 1)  // Новый год

=ДАТА(ГОД(СЕГОДНЯ()); 1; 7) // Рождество

=ДАТА(ГОД(СЕГОДНЯ()); 5; 9) // День Победы

Это избавит от ручного ввода каждый год.

Способ 5: Расчет дней с точностью до часов и минут

Если вам нужно узнать не только количество дней, но и часы/минуты между двумя моментами времени, используйте простое вычитание сustom формата ячейки.

Пример: в ячейке A215.05.2026 14:30, в B220.05.2026 09:15. Формула:

=B2-A2

Затем измените формат ячейки с результатом на [ч]:мм (для часов и минут) или д.м.гг ч:мм (для полного отображения). Результат: 118:45 (118 часов 45 минут).

Для раздельного отображения дней и времени используйте функции:

=ЦЕЛОЕ(B2-A2)  // Количество полных дней

=(B2-A2)-ЦЕЛОЕ(B2-A2) // Дробная часть (время)

  • ⏰ Для секунд используйте формат [мм]:сс
  • 📅 Для недель: =ЦЕЛОЕ((B2-A2)/7)

Типичные ошибки и как их избежать

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

  1. Формат ячеек не "Дата": Excel воспринимает ввод как текст. Решение: выделите ячейки → Формат ячеекДата.
  2. Отрицательное значение: начальная дата позже конечной. Решение: поменяйте их местами или используйте =АБС(RAZNDAT(...)).
  3. #ЗНАЧ! ошибка: одна из ячеек пустая или содержит текст. Решение: проверьте данные на корректность.
  4. Неправильный разделитель даты: Excel не распознает формат. Решение: используйте точку (.) или дефис (-) в зависимости от региональных настроек.

Чтобы проверить, распознает ли Excel вашу дату как дату (а не текст), используйте функцию =ЕЧИСЛО:

=ЕЧИСЛО(A2)

Если результат ИСТИНА — формат корректный. Если ЛОЖЬ — данные хранятся как текст.

FAQ: Ответы на частые вопросы

Можно ли посчитать дни между датами в Google Таблицах?

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

Как посчитать количество месяцев или лет между датами?

Используйте функцию РАЗНДАТ с параметрами:

  • "M" — полные месяцы
  • "Y" — полные годы
  • "YM" — месяцы без учета лет

Пример: =РАЗНДАТ("01.01.2020"; "15.03.2026"; "Y") вернет 4 (полных года).

Почему моя формула возвращает ###### вместо числа?

Это означает, что столбец слишком узкий для отображения результата. Расширьте столбец или измените формат ячейки на Общий. Также проверьте, не является ли результат отрицательным числом с большим количеством знаков.

Как посчитать дни между сегодняшней датой и другой датой?

Используйте функцию СЕГОДНЯ():

=РАЗНДАТ(СЕГОДНЯ(); B2; "D")  // Дней до даты в B2

=B2-СЕГОДНЯ() // Дней до даты (может быть отрицательным)

Можно ли автоматически обновлять расчет при изменении дат?

Да, Excel пересчитывает формулы автоматически. Если этого не происходит:

  1. Проверьте, не стоит ли режим Вручную в Формулы → Параметры вычислений.
  2. Нажмите F9 для принудительного пересчета.