Перейти к содержимому

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

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

Author Sun Last modified

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

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

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

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

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


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

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

1. Введите начальную дату в пустую ячейку. Например, введите 01.07.2015 в ячейке A1. См. скриншот:

A screenshot showing the start date entered in Excel to create a list of weekdays

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

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

A screenshot of dragging the fill handle in Excel to list dates

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

A screenshot of the Auto Fill Options menu in Excel with the Fill Weekdays option

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

A screenshot of a list of weekdays only generated

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


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

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

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

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

A screenshot of selected cells for creating a weekday list with Kutools

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

3. В Вставить случайные данные диалоговом окне переключитесь на вкладку Дата Введите желаемый диапазон дат: введите самую раннюю дату в поле От и самую позднюю дату в поле До Установите флажок Рабочий день чтобы ограничить результаты будними днями (с понедельника по пятницу) и Уникальные значения чтобы избежать повторяющихся дат. См. скриншот:
A screenshot of the Insert Random Data dialog with Workday option selected

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

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

A screenshot showing a list of weekdays inserted with blank cells remaining

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

A screenshot showing Data tab and Sort Oldest to Newest option in Excel

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

A screenshot showing weekdays sorted from oldest to newest in Excel

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

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

Kutools для Excel - Наполнен более чем 300 необходимыми инструментами для Excel. Воспользуйтесь постоянно бесплатными функциями ИИ! Скачайте прямо сейчас!

arrow blue right bubble Список рабочих дней с использованием формул Excel РАБДЕНЬ/РАБДЕНЬ.МЕЖД

Функции РАБДЕНЬ и РАБДЕНЬ.МЕЖД в Excel позволяют программно генерировать список последовательных рабочих дней между двумя датами. РАБДЕНЬ по умолчанию пропускает выходные дни (субботу и воскресенье), тогда как РАБДЕНЬ.МЕЖД позволяет указать пользовательские выходные дни и включить праздничные даты. Этот подход очень адаптируем, если вы хотите автоматизировать процесс и обеспечить точность, например, для HR-планирования или расчета заработной платы.

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

1. Введите начальную дату в ячейку A1, например: 01.07.2015. В ячейке B1 введите конечную дату, например: 31.07.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 вниз, пока ячейка не станет пустой. Список динамически заполнит все рабочие дни (исключая выходные или любые указанные праздники).

Советы:

  • Если вам нужно определить пользовательские выходные дни (например, только воскресенье - выходной), рассмотрите использование функции РАБДЕНЬ.МЕЖД, которая позволяет указать, какие дни являются выходными, предоставив аргумент выходных (см. документацию Excel для подробностей).
  • Всегда убедитесь, что ваши праздничные даты содержатся в четком, отдельном диапазоне, чтобы избежать случайного включения их в последовательность рабочих дней.
  • Если праздники не являются проблемой, вы можете опустить необязательный диапазон праздников в формуле.

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

arrow blue right bubble Автоматический список будних/рабочих дней с помощью кода 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. Нажмите Run button кнопку или нажмите F5 для выполнения кода. Вам будет предложено ввести начальную и конечную дату для вашего списка. При необходимости вы можете выбрать диапазон праздничных дат для исключения (или просто нажать Отмена, если это не требуется). Макрос затем заполнит столбец C активного листа каждым рабочим днем, пропуская выходные (понедельник - пятница) и указанные праздники.

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

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

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

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных благодаря: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Kutools Functions
Популярные функции: Поиск, выделение или отметка дубликатов | Удалить пустые строки | Объединить столбцы или адреса без потери данных | Округлить ...
Супер ПОИСК: 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.

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