KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Как создать список будних (рабочих) дней в Excel?

АвторСаньДата изменения

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

Создание списка будних дней с помощью автозаполнения Опции заполнения

Создание списка будних дней с помощью удобного инструмента — Kutools для Excel

Создание списка рабочих дней с использованием формулы Excel WORKDAY/WORKDAY.INTL

Автоматическое создание списка будних/рабочих дней с помощью кода VBA


синяя стрелка направо в пузыреСоздание списка будних дней с помощью автозаполнения Опции заполнения

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

1. Введите дату начала в пустую ячейку. Например, введите 7/1/2015 в ячейку A1. См. снимок экрана:

Снимок экрана, показывающий дату начала, введённую в Excel для создания списка будних дней

2. Наведите курсор мыши на правый нижний угол ячейки, пока не появится маркер заполнения (+). Затем нажмите и перетащите его вниз на нужное количество строк — например, чтобы получить список из 22 будних дней.

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

Снимок экрана перетаскивания маркера заполнения в Excel для создания списка дат

3. После завершения перетаскивания щёлкните маленькую кнопку Автозаполнение — Опции заполнения, появившуюся рядом с выделением. В контекстном меню выберите пункт Заполнить будние дни. Excel заполнит диапазон только будними днями (с понедельника по пятницу), пропуская выходные.

Снимок экрана меню параметров автозаполнения в Excel с выбранным вариантом «Заполнить будние дни»

Теперь на листе должна отображаться последовательность из 22 будних дней, начинающаяся с 01,07.2015.

Снимок экрана созданного списка только будних дней

Этот метод позволяет быстро заполнить список последовательных будних дней, однако не поддерживает пользовательские правила — например, исключение конкретных праздников или работу с непоследовательными интервалами будних дней. Кроме того, он не даёт возможности напрямую заполнять будние дни в заданном диапазоне между двумя конкретными датами. Для решения более сложных задач рекомендуем воспользоваться одним из автоматизированных методов ниже.


синяя стрелка направо в пузыре Создание списка будних дней с помощью удобного инструмента — Kutools для Excel

Kutools для Excel предлагает удобное решение для генерации всех будних (рабочих) дней в заданном диапазоне дат с помощью функции Вставить случайные данные. Этот подход гибкий и экономит время, особенно при работе с большими наборами данных или когда требуется гарантировать уникальность и фильтрацию дат по статусу буднего дня. Он идеально подходит пользователям, управляющим расписаниями или планирующим проекты, зависящие от точных расчётов рабочих дней.

Kutools для Excelпредлагает более 300 расширенных функций для упрощения сложных задач, повышая креативность и эффективность.Интегрировано с возможностями ИИ, Kutools автоматизирует задачи с высокой точностью, делая управление данными простым и удобным.Подробная информация о Kutools для Excel…         Бесплатная пробная версия…

1. Выделите Пустой диапазон ячеек, где требуется сгенерировать список. Убедитесь, что выделено больше ячеек, чем предполагаемое количество будних дней, поскольку число ячеек определяет, сколько дат можно разместить. См. снимок экрана:

Снимок экрана выделенных ячеек для создания списка будних дней с помощью Kutools

2. Перейдите на вкладку Kutools на ленте Excel, затем нажмите Вставить > Вставить случайные данные. См. снимок экрана:

3. В диалоговом окне Вставить случайные данные перейдите на вкладку Дата. Укажите желаемый диапазон дат: введите самую раннюю дату в поле От, а самую позднюю — в поле До. Установите флажок Рабочий день, чтобы ограничить результаты будними днями (с понедельника по пятницу), и флажок Уникальные значения, чтобы избежать дублирования дат. См. снимок экрана:
Снимок экрана диалогового окна «Вставить случайные данные» с выбранным вариантом «Рабочий день»

Примечание: Если ваш проект требует учёта праздников, их придётся удалять вручную после генерации списка, поскольку встроенная функция пропускает только стандартные выходные.

4. Нажмите кнопку ОК или Применить. Инструмент заполнит ваш диапазон «Выберите диапазон» всеми подходящими будними днями за указанный период. Пустые ячейки могут остаться, если размер диапазона «Выберите диапазон» превышает возможное количество результирующих дат.

Снимок экрана, показывающий список вставленных будних дней с сохранением пустых ячеек

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

Снимок экрана вкладки «Данные» и опции «Сортировка от старых к новым» в Excel

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

Снимок экрана будних дней, отсортированных от старых к новым в Excel

Утилита Kutools для Excel Вставить случайные данныеподдерживает не только будние дни: вы также можете генерировать случайные числа, случайное время, уникальные случайные значения, случайные строки и случайные Пользовательский список.Нажмите здесь, чтобы узнать больше об этой утилите.

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

Kutools для Excel — включает более 300 незаменимых инструментов для Excel. Работайте в Excel быстрее, проще и эффективнее.Скачать сейчас!

синяя стрелка направо в пузыре Создание списка рабочих дней с использованием формулы Excel WORKDAY/WORKDAY.INTL

Функции Excel WORKDAY и WORKDAY.INTL позволяют программно генерировать список последовательных рабочих дней между двумя датами. WORKDAY по умолчанию пропускает выходные (субботу и воскресенье), тогда как WORKDAY.INTL позволяет задавать пользовательские выходные дни и учитывать праздничные даты. Этот подход отлично подходит для автоматизации процессов, где важна точность — например, при составлении графиков работы или расчёта заработной платы.

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

1. Введите дату начала в ячейку A1, например: 7/1/2015. В ячейку B1 введите конечную дату, например: 7/31/2015.

2. В ячейку C1 введите следующую формулу, чтобы последовательно получить список рабочих дней:

=IF(WORKDAY($A$1,ROW(A1)-1,$B$2)<,=$B$1,WORKDAY($A$1,ROW(A1)-1,$B$2),"")

Пояснение параметров:

  • $A$1:Дата начала (абсолютная ссылка)
  • ROW(A1)-1:Увеличивает номер рабочего дня для каждой строки
  • $B$2:Необязательно: диапазон, содержащий даты праздников для исключения (введите даты праздников в B2:B10 или любой другой нужный диапазон либо оставьте пустым, если не требуется)
  • $B$1:Конечная дата для списка (гарантирует, что последовательность завершится на выбранной конечной точке)

3. Протяните формулу из ячейки C1 вниз до первой пустой ячейки — список автоматически заполнится всеми рабочими днями (исключая выходные и указанные праздники).

Советы:

  • Если нужно задать пользовательские выходные дни (например, когда выходным является только воскресенье), используйте функцию WORKDAY.INTL — она позволяет указать выходные с помощью аргумента weekend (подробнее см. в документации Excel).
  • Всегда убедитесь, что даты праздников хранятся в отдельном и понятном диапазоне, чтобы случайно не включить их в последовательность рабочих дней.
  • Если праздники не учитываются, можно опустить необязательный диапазон праздников в формуле.

Распространённая ошибка: Если вместо ожидаемых дат вы видите ошибку #ЧИСЛО! или пустые результаты, убедитесь, что начальная и конечная даты указаны корректно, а также что ваш список праздников (если он используется) содержит только даты — без текста или других данных.

синяя стрелка направо в пузыре Автоматическое создание списка будних/рабочих дней с помощью кода VBA

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

1. Нажмите Инструменты разработчика > Visual Basic, чтобы открыть окно Microsoft Visual Basic для приложений. Затем выберите Вставка > Модуль и вставьте приведённый ниже код в модуль:

Sub ListBusinessDays()
    Dim StartDate As Date
    Dim EndDate As Date
    Dim r As Integer
    Dim ws As Worksheet
    Dim currDate As Date
    Dim Holidays As Range
    
    On Error Resume Next
    Set ws = ActiveSheet
    StartDate = Application.InputBox("Enter start date:", "KutoolsforExcel", Type:=2)
    EndDate = Application.InputBox("Enter end date:", "KutoolsforExcel", Type:=2)
    Set Holidays = Application.InputBox("Select range for holidays (optional, press Cancel if none):", "KutoolsforExcel", Type:=8)
    On Error GoTo 0
    
    r = 1
    For currDate = StartDate To EndDate
        If Weekday(currDate, vbMonday) <= 5 Then ' Monday = 1, Friday = 5
            If Holidays Is Nothing Then
                ws.Cells(r, 3).Value = currDate
                r = r + 1
            Else
                If Application.CountIf(Holidays, currDate) = 0 Then
                    ws.Cells(r, 3).Value = currDate
                    r = r + 1
                End If
            End If
        End If
    Next
End Sub

2. Нажмите кнопку Кнопка выполненияили клавишу F5, чтобы запустить код. Вам будет предложено указать начальную и конечную даты для вашего списка. При необходимости вы можете выбрать диапазон с праздничными датами для исключения (или просто нажмите «Отмена», если это не требуется). Макрос заполнит столбец C активного листа всеми рабочими днями, пропуская выходные (с понедельника по пятницу) и указанные вами праздники.

Примечания и устранение неполадок:

  • Если даты не отображаются, убедитесь, что входные даты корректны и указаны в формате Формат даты.
  • Если диапазон праздников не указан, в список включаются все будние дни между начальной и конечной Конечная дата.
  • Результаты всегда начинаются со столбца C. Измените ws.Cells(r,3) в коде, если нужно вывести данные в другое место.

Лучшие инструменты повышения продуктивности в Office

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул
Супер ПОИСК:VLookup по нескольким критериям  |  VLookup по нескольким значениям  |   VLookup по нескольким листам   |   Распознавание нечетких соответствий
Расширенный раскрывающийся список:Быстрое создание выпадающего списка   |  Зависимый выпадающий список   |  Выпадающий список с множественным выбором
Управление столбцами:Добавление заданного количества столбцов|Перемещение столбцов|Переключение видимости скрытых столбцов|Сравнение диапазонов и столбцов
Избранные функции:Сетка фокусировки   |  Просмотр дизайна   |Улучшенная строка формулы   | Управление рабочими книгами и листами   |  Библиотека ресурсов(автотекст)|  Выбор даты   |  Объединить листы  |  Шифрование/Расшифровать ячейки   | Отправка писем по списку   |  Супер фильтр   |   Специальный фильтр(Фильтр ячеек с жирным шрифтом/курсив/зачёркивание…) …
Лучшие наборы инструментов 15:12 Текстовыеинструменты(Добавить текст,Удалить определенные символы, …)|   50+Типыдиаграмм(Диаграмма Ганта, …)|   40+ Практические формулы(Рассчитать возраст на основе даты рождения, …)|   19 Инструментывставки(Вставить QR-код,Вставка изображения по пути, …)|   12 Инструментыпреобразования(Преобразовать в слова,Конвертация валют, …)|   7 Объединить и разделитьИнструменты(Расширенное объединение строк,Разделить ячейки, …)|… и многое другое
Используйте Kutools на предпочитаемом языке — поддержка английского, испанского, немецкого, французского, китайского и ещё 40+ языков!

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


Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу

  • Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
  • Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!

Все надстройки Kutools — один установщик

Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.

ExcelWordOutlookTabsPowerPoint
  • Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
  • Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
  • Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
  • 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек