Счетчик дней в Microsoft Excel — это не просто удобный инструмент, а настоящая палочка-выручалочка для тех, кто работает с сроками, дедлайнами или планированием. Представьте: вам нужно отслеживать, сколько дней осталось до конца проекта, рассчитать продолжительность задачи или автоматически подсвечивать просроченные задания. Вручную это делать утомительно, а в Excel достаточно настроить формулу один раз — и таблица будет обновляться сама.
В этой статье мы разберём 7 способов создать счетчик дней — от простейших (подсчёт разницы между датами) до продвинутых (динамические календари с условным форматированием). Вы узнаете, как сделать так, чтобы Excel сам считает рабочие дни, игнорируя выходные, как настроить обратный отсчёт до важной даты и даже как создать автоматический трекер сроков годности продуктов (актуально для складских работников или ресторанов). Все примеры работают в Excel 2010–2023 и Excel Online.
1. Базовый счётчик: разница между двумя датами
Самый простой способ посчитать дни — вычесть одну дату из другой. Excel хранит даты в виде чисел (где 1 = 1 января 1900 года), поэтому арифметика работает автоматически.
Допустим, у вас в ячейке A2 дата начала проекта (15.05.2026), а в B2 — дата окончания (30.06.2026). Чтобы узнать количество дней между ними, введите в C2:
=B2-A2
Результат — 46 дней. Но здесь есть нюанс: если одна из ячеек пустая или содержит текст, Excel вернёт ошибку #ЗНАЧ!. Чтобы избежать этого, используйте функцию ЕСЛИОШИБКА:
=ЕСЛИОШИБКА(B2-A2; "Данные отсутствуют")
- 📅 Формат ячеек: Убедитесь, что обе ячейки имеют формат
Дата(выделите их →Главная → Формат → Формат ячеек → Дата). - ⚡ Отрицательные значения: Если дата окончания раньше начала, результат будет отрицательным. Это можно использовать для отслеживания просрочек.
- 🔄 Автообновление: При изменении дат в
A2илиB2результат вC2пересчитается автоматически.
⚠️ Внимание: Если вы копируете формулу вниз по столбцу, а даты хранятся в других столбцах, используйте абсолютные ссылки (например,$B$2) или проверьте, чтобы относительные ссылки (B2,B3и т.д.) сдвигались корректно.
2. Счётчик рабочих дней (исключая выходные)
Часто нужно посчитать только рабочие дни, игнорируя субботу и воскресенье. Для этого в Excel есть специальная функция ЧИСТРАБДНИ (англ. NETWORKDAYS). Синтаксис:
=ЧИСТРАБДНИ(дата_начала; дата_окончания; [праздники])
Пример: подсчитаем рабочие дни между 15.05.2026 и 30.06.2026, исключив государственные праздники (например, 12.06.2026 — День России). Введите в ячейку:
=ЧИСТРАБДНИ(A2; B2; D2:D5)
где D2:D5 — диапазон с датами праздников.
| Функция | Пример | Результат | Пояснение |
|---|---|---|---|
ЧИСТРАБДНИ |
=ЧИСТРАБДНИ("15.05.2026"; "30.06.2026") |
32 |
Субботы и воскресенья исключены |
ЧИСТРАБДНИ.INTL |
=ЧИСТРАБДНИ.INTL("15.05.2026"; "30.06.2026"; 11) |
30 |
Исключает только воскресенье (параметр 11) |
РАЗНДАТ |
=РАЗНДАТ("15.05.2026"; "30.06.2026"; "d") |
46 |
Все дни, включая выходные |
Функция ЧИСТРАБДНИ.INTL (англ. NETWORKDAYS.INTL) позволяет гибко настраивать, какие дни считать выходными. Например, если у вас рабочая неделя с понедельника по пятницу, используйте параметр 1 (по умолчанию). Для нестандартных графиков (например, выходной в пятницу) укажите свой шаблон.
3. Обратный отсчёт: сколько дней осталось до даты
Чтобы создать динамический счётчик, который показывает, сколько дней осталось до важного события (например, до конца акции или сдачи отчёта), используйте комбинацию функций СЕГОДНЯ и вычитания.
Пример: в ячейке A2 указана целевая дата (31.12.2026). Введите в B2:
=A2-СЕГОДНЯ()
Теперь в B2 будет отображаться актуальное количество дней до 31.12.2026. Если дата уже прошла, результат станет отрицательным. Чтобы избежать этого, добавьте проверку:
=ЕСЛИ(A2-СЕГОДНЯ()<0; "Срок истёк"; A2-СЕГОДНЯ())
- 🔄 Автообновление: Функция
СЕГОДНЯ()пересчитывается при каждом открытии файла или по командеF9. - 📊 Визуализация: Добавьте условное форматирование, чтобы ячейка краснела при приближении дедлайна (инструкция в следующем разделе).
- ⏳ Точность: Учтите, что
СЕГОДНЯ()показывает текущую дату на момент пересчёта, а не реального времени.
4. Условное форматирование для визуализации счётчика
Чтобы сделать счётчик дней наглядным, настройте условное форматирование. Например, пусть ячейка с количеством дней до дедлайна становится:
- 🟢 зелёной, если осталось больше 10 дней;
- 🟡 жёлтой, если 3–10 дней;
- 🔴 красной, если меньше 3 дней.
Инструкция:
- Выделите ячейку со счётчиком (например,
B2). - Перейдите в
Главная → Условное форматирование → Правила выделения ячеек → Другие правила. - Выберите
Форматировать только ячейки, которые содержат. - В поле
Форматировать только ячейки сукажите:Значение меньше 3→ красный фон;Значение между 3 и 10→ жёлтый фон;Значение больше 10→ зелёный фон.
Для более сложных правил (например, мигающая ячейка при просрочке) используйте формулы в условном форматировании. Например, чтобы подсветить просроченные задачи:
=И(A2-СЕГОДНЯ()<0; A2<>"")
Выделить ячейку со счётчиком|Открыть "Условное форматирование"|Создать правило для значений < 3 дней|Создать правило для значений 3–10 дней|Создать правило для значений > 10 дней|Применить цвета (красный/жёлтый/зелёный)-->
5. Динамический календарь со счётчиком дней
Если вам нужно отслеживать дни в календаре (например, для планирования задач на месяц), создайте динамический календарь с автоматическим подсчётом дней до каждой даты.
Алгоритм:
- Создайте таблицу с датами (например, на месяц вперёд) в столбце
A. - В столбце
Bдобавьте формулу обратного отсчёта:=A2-СЕГОДНЯ() - Добавьте условное форматирование, чтобы выделять:
- 🔴 прошедшие даты (значение
<0); - 🟢 будущие даты (значение
>0); - 🔵 текущий день (значение
=0).
- 🔴 прошедшие даты (значение
Пример таблицы:
| Дата | Дней до даты | Статус |
|---|---|---|
01.06.2026 |
10 |
🟢 Впереди |
15.06.2026 |
4 |
🟡 Скоро |
10.05.2026 |
-5 |
🔴 Просрочено |
Такой календарь удобно использовать для отслеживания:
- 📦 сроков поставок;
- 📅 графика платежей;
- 🎯 дедлайнов по проектам.
Как сделать календарь на год автоматически?
Используйте функцию ДАТА с циклом по месяцам. Например, для генерации дат с 01.01.2026 по 31.12.2026:
=ДАТА(2026; СТРОКА(A1); 1)
Растяните формулу вниз, а затем добавьте столбец с днём недели (=ТЕКСТ(A1; "ddd")) для наглядности.
6. Счётчик дней со времени создания файла
Иногда нужно отслеживать, сколько дней прошло с момента создания файла или начала проекта. Для этого:
- Создайте ячейку с датой начала (например,
A1=01.01.2026). - В другой ячейке (
B1) введите:=СЕГОДНЯ()-A1 - Чтобы сохранить дату создания файла навсегда (даже при переоткрытии), используйте VBA-макрос или введите дату вручную и защитите ячейку от изменений.
Если вам нужно автоматически фиксировать дату первого открытия файла, добавьте этот код в модуль ThisWorkbook:
Private Sub Workbook_Open()
If Range("A1").Value = "" Then
Range("A1").Value = Date
End If
End Sub
⚠️ Внимание: Макросы работают только в файлах с расширением .xlsm (с поддержкой макросов). При открытии файла из ненадёжного источника Excel заблокирует макросы по умолчанию.
7. Продвинутые приёмы: счётчик с учётом времени
Если вам нужно учитывать не только дни, но и часы (например, для таймера обратного отсчёта до конца рабочего дня), используйте функцию ТДАТАВРЕМЯ (англ. NOW), которая возвращает текущие дату и время.
Пример: в ячейке A2 указана конечная дата и время (30.06.2026 18:00). Чтобы посчитать оставшееся время в днях с точностью до часа:
=A2-ТДАТАВРЕМЯ()
Результат будет в формате 46,12, где:
46— полные дни;0,12— доля дня (здесь ~3 часа, так как0,12 × 24 ≈ 2,88часа).
Чтобы преобразовать это в читаемый формат, используйте:
=ТЕКСТ(A2-ТДАТАВРЕМЯ(); "д. ч:мм")
Результат: 46 д. 2:53 (46 дней и 2 часа 53 минуты).
FAQ: Частые вопросы по счётчикам дней в Excel
❓ Как сделать так, чтобы счётчик дней обновлялся каждую секунду?
Excel не поддерживает автообновление в реальном времени, но есть обходные пути:
- Используйте VBA-макрос с таймером (
Application.OnTime). - Настройте Power Query с автообновлением каждую минуту.
- Для веб-версии Excel подключитесь к внешнему источнику данных с таймером.
Пример макроса для обновления каждую секунду:
Sub AutoUpdate()
Range("A1").Value = Now
Application.OnTime Now + TimeValue("00:00:01"), "AutoUpdate"
End Sub
❓ Почему функция ЧИСТРАБДНИ возвращает ошибку #ИМЯ??
Ошибка #ИМЯ? появляется, если:
- Вы используете Excel на русском, но ввели функцию на английском (
NETWORKDAYSвместоЧИСТРАБДНИ). - В ячейках с датами указан текст вместо даты (проверьте формат ячеек).
- Вы опечатались в названии функции (например,
ЧИСТРАБДНбез последнейИ).
Решение: используйте =ЧИСТРАБДНИ() для русской версии или установите Language Pack для английских функций.
❓ Можно ли сделать счётчик дней в Google Sheets?
Да, все описанные методы работают и в Google Таблицах, но с небольшими отличиями:
- Функция
СЕГОДНЯ()называетсяTODAY()(но русская версия тоже поддерживается). - Для рабочих дней используйте
=NETWORKDAYS(A2; B2; D2:D5). - Условное форматирование настраивается через меню
Формат → Условное форматирование.
Преимущество Google Sheets: счётчик с TODAY() обновляется каждые несколько минут без макросов.
❓ Как посчитать дни между датами без учёта праздников?
Если у вас нет списка праздников, но нужно исключить только субботы и воскресенья, используйте:
=ЧИСТРАБДНИ(дата_начала; дата_окончания)
Если праздники фиксированные (например, 1 января), добавьте их в отдельный столбец и укажите в третьем аргументе функции:
=ЧИСТРАБДНИ(A2; B2; {"01.01.2026"; "07.01.2026"})
Для динамического списка праздников (например, Пасха) используйте отдельную таблицу с датами.
❓ Почему при копировании формулы счётчика дни считаются неправильно?
Ошибки при копировании формул возникают из-за:
- 🔗 Относительных ссылок: Если в
B2формула=A2-СЕГОДНЯ(), а вы копируете её вB3, то Excel автоматически сдвинет ссылку наA3. Если вA3нет даты, результат будет некорректным. - 📌 Абсолютных ссылок: Если вы используете
$A$2, ссылка не будет сдвигаться при копировании, что тоже может быть ошибкой. - 🗓️ Формата ячеек: Убедитесь, что ячейки с датами имеют формат
Дата, а неТекст.
Решение: проверьте, какие ссылки должны быть относительными (A2), а какие — абсолютными ($A$2).