Как в Excel посчитать количество рабочих дней

Планирование проектов, расчет сроков выполнения задач и ведение табелей рабочего времени — это процессы, где критически важно точно знать количество рабочих дней. Ручной подсчет дней в календаре, особенно при охвате длительных периодов в несколько месяцев, часто приводит к ошибкам и отнимает драгоценное время специалиста.

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

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

Базовая функция ЧИСТРАБДНИ для стандартной недели

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

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

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

В данном примере A2 — это ячейка с начальной датой, а B2 — с конечной. Важно отметить, что функция включает в расчет оба указанных дня. Если вы указали начало и окончание задачи в один и тот же день, результат будет равен 1, что логично, так как работа велась в этот день.

⚠️ Внимание: Если начальная дата позже конечной, функция вернет отрицательное значение. Это не ошибка программы, а особенность математического вычитания дат, которую следует учитывать при проверке данных.

Использование этой функции значительно ускоряет процесс создания отчетов. Вы можете протянуть формулу вниз по столбцу, чтобы мгновенно рассчитать длительность сотен проектов одновременно. Это особенно удобно при работе с большими массивами данных, где ручной пересчет заня бы часы.

☑️ Проверка перед расчетом

Выполнено: 0 / 4

Учет государственных праздников и выходных дней

Стандартный график «5/2» не учитывает официальные праздники, которые выпадают на будние дни. Для корректного расчета реального количества рабочих дней необходимо добавить в формулу третий аргумент — список праздничных дат. Это позволяет автоматически вычитать нерабочие дни из общего количества.

Список праздников лучше всего оформить в виде отдельного диапазона ячеек на листе, чтобы иметь возможность легко его редактировать из года в год. Вы можете создать таблицу с перечнем дат, которые следует исключить из рабочего календаря, и ссылаться на этот массив в формуле.

Дата Название праздника Тип
01.01.2026 Новый год Гос. праздник
08.03.2026 Международный женский день Гос. праздник
01.05.2026 Праздник Весны и Труда Гос. праздник
09.05.2026 День Победы Гос. праздник

Формула с учетом праздников будет выглядеть так: =ЧИСТРАБДНИ(A2; B2; $D$2:$D$5), где диапазон $D$2:$D$5 содержит даты праздников. Использование абсолютных ссылок (знаки доллара) позволяет копировать формулу, не сбивая ссылку на список праздников.

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

Расчет рабочих дней при нестандартном графике (ЧИСТРАБДНИ.INTL)

В современных реалиях далеко не все компании и сотрудники работают по классической схеме «понедельник-пятница». Существуют графики с плавающими выходными, сменная работа или шестидневная рабочая неделя. Для таких случаев стандартная функция не подойдет, и на помощь приходит более продвинутый инструмент — ЧИСТРАБДНИ.INTL (в английской версии NETWORKDAYS.INTL).

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

Например, если в вашей организации выходной только воскресенье, в формуле нужно указать код 11 (или строку "0000001", где единица означает выходной). Формула примет вид:

=ЧИСТРАБДНИ.INTL(A2; B2; 11; D2:D5)

Здесь 11 — это код, обозначающий выходной день воскресенье. Если же у вас выходные пятница и суббота, используется код 1 (стандартный для некоторых регионов) или строка "0000110".

Список кодов для функции ЧИСТРАБДНИ.INTL

1 или "0000011" — Сб, Вс (стандарт); 2 или "0000001" — Только Вс; 11 или "0000010" — Только Сб; 12 или "1000000" — Только Пн; 17 или "1111110" — Без выходных (редко, но бывает).

Использование строкового формата ("0000001") часто бывает более наглядным, так как последовательность нулей и единиц соответствует дням недели, начиная с понедельника. Это позволяет визуально контролировать настройку формулы и избегать ошибок при выборе числового кода.

📊 Какой у вас график работы?
Пятидневка (Сб-Вс выходной)
Шестидневка (только Вс выходной)
Сменный график 2/2
Вахтовый метод или индивидуальный

Использование функции ДНИ для простых интервалов

Иногда пользователю требуется узнать не количество рабочих дней, а просто разницу в днях между двумя датами, игнорируя понятие выходных. Для этого существует функция ДНИ (в английской версии DAYS) или простое арифметическое вычитание. Это полезно, например, для расчета срока годности продукта или длительности периода в календарных днях.

Функция ДНИ принимает два аргумента: конечную дату и начальную дату. Важно не перепутать порядок, так как результат будет положительным только если конечная дата идет после начальной. Синтаксис выглядит так:

=ДНИ(B2; A2)

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

Понимание разницы между календарными днями и рабочими днями критически важно. Ошибка в выборе функции может привести к неверному расчету сроков сдачи проекта или штрафов за просрочку.

⚠️ Внимание: Функция ДНИ возвращает количество полных суток. Если даты включают время (часы, минуты), функция учтет только целую часть даты, отбросив временную составляющую.

Расширенные возможности: функция РАБДЕНЬ

Если ваша задача заключается не в подсчете количества дней, а в определении даты завершения работы, зная количество необходимых рабочих дней, используйте функцию РАБДЕНЬ (в английской версии WORKDAY). Она работает «от обратного»: вы даете ей старт и длительность, а она выдает финишную дату.

Это незаменимый инструмент для планировщиков и менеджеров проектов. Например, зная, что задача требует 10 рабочих дней и стартует 1 марта, функция автоматически «перепрыгнет» через выходные и праздники, выдав корректную дату завершения.

Формула имеет схожий с ЧИСТРАБДНИ синтаксис:

=РАБДЕНЬ(A2; 10; D2:D5)

Где A2 — дата начала, 10 — количество рабочих дней, а D2:D5 — список праздников. Результатом будет дата, которая наступит через 10 рабочих дней после указанной.

Также существует расширенная версия РАБДЕНЬ.INTL, позволяющая учитывать нестандартные выходные при расчете конечной даты. Это создает единую экосистему функций для работы с временными интервалами в Excel.

Частые ошибки и способы их устранения

При работе с датами в Excel пользователи часто сталкиваются с ошибками, которые легко исправить, если знать их природу. Самая распространенная проблема — когда Excel воспринимает даты как текст. В этом случае функции вернут ошибку #ЗНАЧ! (#VALUE!). Чтобы проверить формат, посмотрите на выравнивание: даты по умолчанию прижаты вправо, а текст — влево.

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

Также стоит помнить о «магических числах» в датах. Excel хранит даты как порядковые номера, где 1 — это 1 января 1900 года. Если вы видите в ячейке странное число вместо даты (например, 45321), просто измените формат ячейки на «Дата» через меню форматирования.

Почему формула возвращает ошибку #ЧИСЛО!?

Ошибка #ЧИСЛО! (#NUM!) в функциях дат обычно возникает, если начальная или конечная дата выходят за допустимые пределы (ранее 1900 года или далекий будущий период), или если указанная дата не существует (например, 30 февраля).

Как добавить текущую дату в расчет?

Используйте функцию СЕГОДНЯ() (TODAY()) в качестве аргумента. Например, =ЧИСТРАБДНИ(СЕГОДНЯ(); B2) покажет, сколько рабочих дней осталось до дедлайна.

Можно ли использовать функцию в Google Таблицах?

Да, синтаксис функций NETWORKDAYS и WORKDAY в Google Sheets полностью идентичен Excel, поэтому все описанные выше методы работают и там без изменений.

Как учесть перерывы в работе (обед)?

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