Введение: зачем считать дни в Excel и где это пригодится
Вы когда-нибудь задумывались, сколько времени прошло между двумя важными событиями? Например, между датой заключения договора и его исполнением, или между началом проекта и дедлайном? В Microsoft Excel есть масса инструментов, чтобы автоматизировать такие расчеты — и это экономит часы ручной работы.
Расчет дней между датами — одна из самых востребованных операций в бизнес-аналитике, бухгалтерии и проектном менеджменте. С ее помощью можно:
- 📅 Отслеживать сроки выполнения задач в тайм-менеджменте
- 💰 Рассчитывать проценты по кредитам или штрафы за просрочку
- 📊 Строить временные графики для Gantt-диаграмм
- 📈 Анализировать временные тренды в данных (например, время доставки заказов)
В этой статье вы найдете 5 проверенных способов посчитать дни между датами — от простейших формул до расчета рабочих дней с исключением праздников. А еще узнаете, как избежать типичных ошибок и автоматизировать процесс для больших таблиц.
Способ 1: Базовая формула вычитания дат
Самый простой метод — это вычесть одну дату из другой. Excel автоматически преобразует разницу в количество дней, так как хранит даты в виде последовательных чисел (начиная с 1 января 1900 года).
Формула выглядит так:
=Конечная_дата - Начальная_дата
Пример: если в ячейке A2 у вас дата начала проекта 15.05.2026, а в B2 — дата окончания 30.06.2026, то формула будет:
=B2-A2
- ✅ Плюсы: максимально просто, работает во всех версиях Excel
- ❌ Минусы: не учитывает рабочие/выходные дни, формат ячеек должен быть
Дата
⚠️ Внимание: Если результат отображается как дата (например,04.07.1905), а не число — измените формат ячейки с результатом наОбщийилиЧисловой.
Способ 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: Учет праздников и индивидуальных выходных
Для точного расчета с учетом государственных праздников или корпоративных выходных потребуется комбинация функций. Вот пошаговая инструкция:
- Создайте отдельный список праздничных дат в столбце (например,
E2:E15). - Используйте формулу:
=ЧИСТРАБДНИ.INTL(A2; B2; 1; E2:E15) - Если праздники попадают на выходные, они автоматически игнорируются (так как уже исключены).
Пример списка праздников для России (2026 год):
| Дата | Праздник |
|---|---|
01.01.2026 |
Новый год |
07.01.2026 |
Рождество |
23.02.2026 |
День защитника Отечества |
08.03.2026 |
Международный женский день |
⚠️ Внимание: Если праздничный день выпадает на субботу или воскресенье, в России он переносится на следующий рабочий день. В Excel такой перенос нужно указывать вручную!
Как автоматизировать список праздников?
Создайте отдельный лист "Праздники" и используйте формулу для динамического обновления:
=ДАТА(ГОД(СЕГОДНЯ()); 1; 1) // Новый год
=ДАТА(ГОД(СЕГОДНЯ()); 1; 7) // Рождество
=ДАТА(ГОД(СЕГОДНЯ()); 5; 9) // День Победы
Это избавит от ручного ввода каждый год.
Способ 5: Расчет дней с точностью до часов и минут
Если вам нужно узнать не только количество дней, но и часы/минуты между двумя моментами времени, используйте простое вычитание сustom формата ячейки.
Пример: в ячейке A2 — 15.05.2026 14:30, в B2 — 20.05.2026 09:15. Формула:
=B2-A2
Затем измените формат ячейки с результатом на [ч]:мм (для часов и минут) или д.м.гг ч:мм (для полного отображения). Результат: 118:45 (118 часов 45 минут).
Для раздельного отображения дней и времени используйте функции:
=ЦЕЛОЕ(B2-A2) // Количество полных дней
=(B2-A2)-ЦЕЛОЕ(B2-A2) // Дробная часть (время)
- ⏰ Для секунд используйте формат
[мм]:сс - 📅 Для недель:
=ЦЕЛОЕ((B2-A2)/7)
Типичные ошибки и как их избежать
Даже опытные пользователи иногда сталкиваются с неожиданными результатами при работе с датами. Вот самые распространенные проблемы:
- Формат ячеек не "Дата": Excel воспринимает ввод как текст. Решение: выделите ячейки →
Формат ячеек→Дата. - Отрицательное значение: начальная дата позже конечной. Решение: поменяйте их местами или используйте
=АБС(RAZNDAT(...)). - #ЗНАЧ! ошибка: одна из ячеек пустая или содержит текст. Решение: проверьте данные на корректность.
- Неправильный разделитель даты: 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 пересчитывает формулы автоматически. Если этого не происходит:
- Проверьте, не стоит ли режим
ВручнуювФормулы → Параметры вычислений. - Нажмите
F9для принудительного пересчета.