Как сгенерировать случайную дату рабочего дня или выходного в Excel?
Это руководство рассказывает о том, как генерировать только случайные рабочие дни или только случайные выходные даты в Excel. Следуйте приведенным ниже шагам для получения дополнительной информации.
Генерация только случайных рабочих дней в Excel
Генерация только случайных рабочих дней или только случайных выходных с помощью Kutools для Excel
Генерация только случайных рабочих дней в 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 одновременно, затем перетащите маркер заполнения до нужного диапазона для генерации рабочих дней. Смотрите скриншот:
Совет:
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 и перетащите маркер заполнения до нужного диапазона. Смотрите скриншот:
Генерация только случайных рабочих дней или только случайных выходных с помощью Kutools для Excel
После бесплатной установки Kutools для Excel выполните следующие действия:
1. Выберите диапазон, в котором вы хотите сгенерировать рабочие дни или даты выходных, затем нажмите Kutools > Вставить случайные данные. Смотрите скриншот:
2. В окне Вставить случайные данные нажмите Дата вкладку, затем кнопку календаря для выбора начальной и конечной даты, затем отметьте Рабочий день или Выходные опцию, которая вам нужна. Если вы хотите генерировать уникальные даты, вы можете отметить опцию Уникальные значения . Смотрите скриншот:
3. Нажмите Ok для применения и закрытия диалогового окна, затем в выбранном диапазоне будут сгенерированы уникальные даты выходных.
Совет: Если вам разрешено вставлять повторяющиеся данные, просто снимите флажок Уникальные значения в диалоговом окне.
С помощью функции Вставить случайные данные вы также можете рандомизировать целые числа, время, строки и пользовательские списки. Нажмите здесь для получения дополнительной информации.
Связанные статьи
Лучшие инструменты для повышения продуктивности работы с Office
Ускорьте работу в Excel с Kutools для Excel и ощутите новую степень эффективности. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Нажмите здесь, чтобы выбрать нужную вам функцию...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна, а не в отдельных окнах.
- Увеличьте свою продуктивность на50% и сократите сотни лишних кликов мышью каждый день!