Как сгенерировать случайную дату буднего дня или выходного в Excel?
В этом руководстве показано, как генерировать в Excel только случайные даты будних дней или только случайные даты выходных. Следуйте приведённым ниже шагам, чтобы узнать подробности.
Генерация только случайных дат будних дней в Excel
Генерация только случайных дат будних дней или только выходных с помощью Kutools для Excel ![]()
Генерация только случайных дат будних дней в Excel
В Excel есть два метода, которые помогут вам генерировать в диапазоне дат только будние дни — именно так, как вам нужно.
Метод 1: генерация случайной даты буднего дня с помощью формулы
Выберите ячейку и введите формулу:=DATE(2014, 1, 1)+LARGE(IF(WEEKDAY(DATE(2014, 1, 1)+ROW($1:$365)-1, 2)<6, ROW($1:$365)-1, «»), RANDBETWEEN(1, SUM(--(WEEKDAY(DATE(2014, 1, 1)+ROW($1:$365)-1, 2)<6)))), затем одновременно нажмите клавиши Shift + Ctrl + Enter и перетащите маркер заполнения в диапазон, где нужно сгенерировать даты будних дней. См. снимок экрана:
Совет:
1. Чтобы сгенерировать уникальные случайные даты будних дней, используйте эту формулу:=DATE(2014, 1, 1)+(LARGE(IF(WEEKDAY((DATE(2014, 1, 1)+ROW($1:$365)-1)*((COUNTIF($A$1:A1, DATE(2014, 1, 1)+ROW($1:$365)-1))=0), 2)<6, ROW($1:$365)-1, «»), RANDBETWEEN(1, SUM(--(WEEKDAY((DATE(2014, 1, 1)+ROW($1:$365)-1)*((COUNTIF($A$1:A1, DATE(2014, 1, 1)+ROW($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. Нажмите кнопку ОК, чтобы применить настройки и закрыть диалоговое окно. После этого в выделенном диапазоне появятся уникальные даты выходных.
Совет: Если допускается вставка повторяющихся данных, просто снимите флажок Уникальные значения в диалоговом окне.
С помощью функции Вставить случайные данные вы также можете генерировать случайные целые числа, время, строки и Пользовательские списки.Щелкните здесь, чтобы узнать больше.
Связанные статьи
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал 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 и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек