Как да генерирам произволна дата от седмицата или уикенда в Excel?
Този урок говори за генериране само на случайни дни от седмицата или само на произволни дати през уикенда в Excel, следвайте стъпките по-долу, за да получите повече подробности.
Генерирайте само случаен ден от седмицата в Excel
Генерирайте само произволен ден от седмицата или само произволен уикенд с Kutools за Excel
Генерирайте само случаен ден от седмицата в Excel
В Excel има два метода, които могат да ви помогнат да рандомизирате само дни от седмицата в диапазон от дати, както ви е необходимо.
Метод 1 генерира произволен ден от седмицата с формула
Изберете клетка и въведете тази формула =ДАТА(2014, 1, 1)+ГОЛЯМ(АКО(ДЕН ДЕН(ДАТА(2014, 1, 1)+РЕД($1:$365)-1, 2)<6, РЕД($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 за приложения прозорец.
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. Запазете кода и затворете прозореца, за да се върнете обратно към вашия работен лист, и въведете тази формула=Случайни дати (2014) в клетка, след което натиснете Въведете и плъзнете манипулатора за попълване до диапазон, от който се нуждаете. Вижте екранна снимка:
Генерирайте само произволен ден от седмицата или само произволен уикенд с Kutools за Excel
Kutools за Excel, с повече от 300 удобни функции, прави работата ви по-лесна. |
След безплатно инсталиране Kutools за Excel, моля, направете следното:
1. Изберете диапазон, който искате да генерирате дни от седмицата или уикенда, след което щракнете Kutools > Вмъкване на произволни данни. Вижте екранна снимка:
2. В Вмъкване на произволни данни кликнете върху Дата раздел, а след това бутон за календар за да изберете начална дата и крайна дата, които желаете, след което проверете работен ден or През уикенда опция, от която се нуждаете, ако искате да генерирате уникална дата, можете да проверите Уникална опция. Вижте екранна снимка:
3. кликване Ok за да приложите и затворите диалоговия прозорец, след което в селекцията се генерират уникалните дати през уикенда.
Съвет: Ако имате право да вмъквате дублирани данни, просто махнете отметката Уникални ценности в диалоговия прозорец
С функцията за вмъкване на произволни данни можете също така да рандомизирате цяло число, време, низ и потребителски списък. Кликнете тук за повече информация.
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!