Мастер-класс по датам и срокам в Excel
Чтобы быстро вставить текущую дату в Excel, используйте функцию =СЕГОДНЯ() (или =TODAY() в английской версии), а для расчета количества рабочих дней между двумя датами примените формулу =ЧИСТРАБДНИ(начало; конец). Эти инструменты позволяют автоматизировать отчетность, контролировать дедлайны и учитывать производственные календари без ручного пересчета.
Работа с временными данными — одна из самых частых задач в таблицах. Ошибки в форматах или непонимание логики хранения дат могут привести к неверным расчетам сроков проектов, зарплат или графиков отгрузок. В этом руководстве мы разберем основные функции, нюансы форматирования и способы учета выходных и праздников.
Оглавление
Автоматическая вставка текущей даты и времени
Для документов, которые должны всегда отображать актуальную дату при открытии (например, журналы учета или шапки отчетов), используются динамические функции.
Основные функции
=СЕГОДНЯ()(=TODAY()) — возвращает только текущую дату. Значение обновляется каждый раз при пересчете листа или открытии файла.=ТДАТА()(=NOW()) — возвращает текущую дату и точное время.
Если вам нужно зафиксировать дату один раз (например, дата создания документа), чтобы она не менялась завтра, используйте горячие клавиши:
- Текущая дата:
Ctrl+;(точка с запятой). - Текущее время:
Ctrl+Shift+;. - Дата и время вместе: Нажмите
Ctrl+;, затем пробел, затемCtrl+Shift+;.
Настройка отображения
Excel хранит даты как порядковые номера (где 1 — это 1 января 1900 года), а время — как десятичную дробь от суток. Чтобы изменить вид отображения (например, с 11.04.2026 на 11 апреля 2026):
- Выделите ячейку.
- Нажмите
Ctrl+1. - Вкладка Число → категория Дата (или Время).
- Выберите нужный формат или создайте свой в поле Тип.
Расчет рабочих дней с учетом праздников
Стандартная функция =ЧИСТРАБДНИ() (=NETWORKDAYS()) позволяет узнать количество рабочих дней между двумя датами, автоматически исключая субботы и воскресенья.
Синтаксис:
=ЧИСТРАБДНИ(начальная_дата; конечная_дата; [праздники])
- Начальная и конечная дата: Ячейки с датами или ссылки на них.
- Праздники (необязательно): Диапазон ячеек, содержащий даты государственных праздников или корпоративных выходных, которые нужно исключить из расчета.
Пример:
Предположим, проект длится с 1 апреля (ячейка A1) по 15 апреля (ячейка B1). В диапазоне C1:C3 указаны праздничные дни (7 и 8 апреля).
Формула: =ЧИСТРАБДНИ(A1; B1; C1:C3)
Результат покажет количество чистых рабочих дней за вычетом стандартных выходных и указанных праздников.
Гибкий график: Если в вашей компании выходные дни отличаются от стандартных (например, смена 2/2 или выходные в пятницу и субботу), используйте функцию =ЧИСТРАБДНИ.ИНТЛ() (=NETWORKDAYS.INTL()). Она позволяет задать код выходных дней третьим аргументом.
Определение даты завершения задачи
Часто требуется решить обратную задачу: зная дату старта и количество рабочих дней на выполнение, определить дату финиша. Для этого служит функция =РАБДЕНЬ() (=WORKDAY()).
Синтаксис:
=РАБДЕНЬ(начальная_дата; количество_дней; [праздники])
Функция прибавляет указанное количество рабочих дней к стартовой дате, пропуская субботы, воскресенья и указанные праздники.
Пример использования:
Договор подписан 10 апреля (A1). Срок исполнения — 10 рабочих дней. Праздники перечислены в списке H1:H5.
Формула: =РАБДЕНЬ(A1; 10; H1:H5)
Excel вернет дату, которая наступит ровно через 10 рабочих дней.
Работа со временем: часы, минуты и разница
Время в Excel — это дробная часть единицы (суток).
- 0,5 = 12:00 (полдень)
- 0,25 = 06:00 утра
- 1,0 = 24:00 (следующие сутки)
Это знание критично для расчетов длительности.
Расчет разницы во времени
Чтобы найти разницу между временем начала (A2) и конца (B2) в часах:
= (B2 - A2) * 24
Умножение на 24 переводит дробную часть суток в число часов. Результат должен быть отформатирован как Общий числовой, иначе вы получите время в формате чч:мм.
Извлечение компонентов времени
Используйте функции для получения отдельных частей:
=ЧАС(ячейка)— возвращает часы (0–23).=МИНУТЫ(ячейка)— возвращает минуты (0–59).=СЕКУНДЫ(ячейка)— возвращает секунды.
Функция =ВРЕМЯ(часы; минуты; секунды) позволяет собрать время из отдельных чисел обратно в формат времени.
Проблема отрицательного времени: Если время окончания меньше времени начала (например, смена с 22:00 до 06:00 следующего дня), простая формула B2-A2 выдаст ошибку #####.
Решение: Используйте формулу =ЕСЛИ(B2<A2; B2+1-A2; B2-A2). Добавление единицы компенсирует переход через полночь.
Частые ошибки при работе с датами
| Ошибка | Причина | Как исправить |
|---|---|---|
| ##### в ячейке | Ячейка слишком узкая для отображения даты или результат отрицательный. | Расширьте столбец или проверьте логику формулы времени. |
| Дата отображается как число (45392) | Применен общий числовой формат вместо формата даты. | Нажмите Ctrl+1 и выберите формат «Дата». |
| Формула не считает | Даты введены как текст (например, "10 апр"). | Преобразуйте текст в дату через «Текст по столбцам» или функцию ДАТАЗНАЧ. |
| Неверный порядок дня и месяца | Конфликт региональных настроек (США vs Европа). | Используйте однозначный формат ввода или функцию ДАТА(год; месяц; день). |
FAQ: Вопросы и ответы
Как посчитать возраст человека или срок службы в годах?
Используйте скрытую, но мощную функцию =РАЗНДАТ(дата_начала; дата_конца; "y"). Аргумент "y" вернет полные годы. Для месяцев используйте "m", для дней — "d".
Можно ли выделить цветом просроченные задачи?
Да, с помощью условного форматирования. Выделите столбец с датами, выберите «Создать правило» → «Использовать формулу». Введите =A1<СЕГОДНЯ(). Задайте красный цвет заливки. Все даты, прошедшие относительно сегодня, окрасятся.
Почему функция РАБДЕНЬ не учитывает мой список праздников?
Проверьте, что даты в списке праздников являются настоящим форматом «Дата», а не текстом. Также убедитесь, что диапазон праздников указан абсолютно (например, $H$1:$H$10), если вы копируете формулу вниз.