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

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

Как сгенерировать случайную дату рабочего дня или выходного в Excel?

Author Sun Last modified

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

Генерация только случайных рабочих дней в Excel

Генерация только случайных рабочих дней или только случайных выходных с помощью Kutools для Excel good idea3


arrow blue right bubble Генерация только случайных рабочих дней в Excel

В Excel есть два метода, которые помогут вам рандомизировать только рабочие дни в выбранном диапазоне дат.

Метод 1: Генерация случайного рабочего дня с помощью формулы

Выберите ячейку и введите эту формулу =ДАТА(2014; 1; 1)+НАИБОЛЬШИЙ(ЕСЛИ(ДЕНЬНЕДЕЛИ(ДАТА(2014; 1; 1)+СТРОКА($1:$365)-1; 2)<6; СТРОКА($1:$365)-1; ""); СЛЧИСЛОМЕЖДУ(1; СУММ(—(ДЕНЬНЕДЕЛИ(ДАТА(2014; 1; 1)+СТРОКА($1:$365)-1; 2)<6)))), затем нажмите Shift + Ctrl + Enter одновременно, затем перетащите маркер заполнения до нужного диапазона для генерации рабочих дней. Смотрите скриншот:
 generate random weekday with formula

Совет:

1. Если вы хотите генерировать уникальные случайные рабочие дни, вы можете использовать эту формулу =ДАТА(2014; 1; 1)+(НАИБОЛЬШИЙ(ЕСЛИ(ДЕНЬНЕДЕЛИ((ДАТА(2014; 1; 1)+СТРОКА($1:$365)-1)*((СЧЁТЕСЛИ($A$1:A1; ДАТА(2014; 1; 1)+СТРОКА($1:$365)-1))=0); 2)<6; СТРОКА($1:$365)-1; ""); СЛЧИСЛОМЕЖДУ(1; СУММ(—(ДЕНЬНЕДЕЛИ((ДАТА(2014; 1; 1)+СТРОКА($1:$365)-1)*((СЧЁТЕСЛИ($A$1:A1; ДАТА(2014; 1; 1)+СТРОКА($1:$365)-1))=0); 2)<6))))) и не забудьте нажать Shift + Ctrl + Enter.

2. В приведенных выше формулах 2014,1,1 — это начальная дата вашего диапазона дат, а 365 — количество дней в вашем диапазоне дат. Вы можете изменить их по своему усмотрению.

3. Формулу для генерации уникальных случайных рабочих дней нельзя размещать в A1.

Метод 2: Генерация случайного рабочего дня в пределах года с помощью VBA

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

1. Нажмите клавиши Alt + F11, чтобы открыть окно Microsoft Visual Basic for Applications.

2. Нажмите Вставка > Модуль, затем вставьте приведенный ниже код VBA в появившееся окно.

VBA: Рандомизация рабочих дней в пределах года.

Dim RandomizedYet As Boolean
'Updateby20150108
Function RandomizeDates(pYear As Long)
	Dim i As Long
	Dim DaysInYear As Long
	Dim xIndex As Long
	Dim RndIndex As Long
	Dim Temp As Date
	Dim Weekdays() As Variant
	If Not RandomizedYet Then
		RandomizedYet = True
		Randomize
	End If
	DaysInYear = DateSerial(pYear + 1, 1, 1) - DateSerial(pYear, 1, 1)
	ReDim Weekdays(1 To DaysInYear)
	For i = 1 To DaysInYear
		If Weekday(DateSerial(pYear, 1, i), vbMonday) < 6 Then
			xIndex           = xIndex + 1
			Weekdays(xIndex) = DateSerial(pYear, 1, i)
		End If
	Next
	ReDim Preserve Weekdays(1 To xIndex)
	For i = xIndex To 1 Step - 1
		RndIndex = Int(i * Rnd + 1)
		Temp = Weekdays(RndIndex)
		Weekdays(RndIndex) = Weekdays(i)
		Weekdays(i) = Temp
	Next
	RandomizeDates = Application.WorksheetFunction.Transpose(Weekdays)
End Function

3. Сохраните код и закройте окно, чтобы вернуться на лист, затем введите эту формулу=RandomizeDates(2014) в ячейку, затем нажмите Enter и перетащите маркер заполнения до нужного диапазона. Смотрите скриншот:
 generate random weekday within a year with user defined function


arrow blue right bubble Генерация только случайных рабочих дней или только случайных выходных с помощью Kutools для Excel

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

После бесплатной установки Kutools для Excel выполните следующие действия:

1. Выберите диапазон, в котором вы хотите сгенерировать рабочие дни или даты выходных, затем нажмите Kutools > Вставить случайные данные. Смотрите скриншот:
click Insert Random Data feature of kutools

2. В окне Вставить случайные данные нажмите Дата вкладку, затем кнопку календаря для выбора начальной и конечной даты, затем отметьте Рабочий день или Выходные опцию, которая вам нужна. Если вы хотите генерировать уникальные даты, вы можете отметить опцию Уникальные значения . Смотрите скриншот:
specify the start and end date in the dialog box

3. Нажмите Ok для применения и закрытия диалогового окна, затем в выбранном диапазоне будут сгенерированы уникальные даты выходных.
the unique weekend dates are generated

Совет: Если вам разрешено вставлять повторяющиеся данные, просто снимите флажок Уникальные значения в диалоговом окне.

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


Связанные статьи

Лучшие инструменты для повышения продуктивности в 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-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
  • Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек