Hur genererar jag slumpmässigt vardag eller helgedatum i Excel?
Denna handledning talar om att generera endast slumpmässiga vardagar eller bara slumpmässiga helgdatum i Excel, följ stegen nedan för att få mer information.
Skapa bara slumpmässig vardag i Excel
Skapa bara slumpmässig vardag eller bara slumpmässig helg med Kutools för Excel
Skapa bara slumpmässig vardag i Excel
I Excel finns det två metoder som kan hjälpa dig att randomisera endast vardagar i ett datumintervall som du behöver.
Metod 1 genererar slumpmässig vardag med formel
Välj en cell och skriv den här formeln = DATUM (2014, 1, 1) + STOR (OM (VECKODAG (DATUM (2014, 1, 1) + RAD ($ 1: $ 365) -1, 2) <6, ROW ($ 1: $ 365) -1, "" ), RANDBETWEEN (1, SUM (- (WEEKDAY (DATE (2014, 1, 1) + ROW ($ 1: $ 365) -1, 2) <6)))), Tryck sedan på Skift + Ctrl + Enter och dra sedan påfyllningshanteringen till ett intervall som du vill skapa vardag. Se skärmdump:
Dricks:
1. Om du vill skapa unika slumpmässiga vardagar kan du använda den här formeln =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))))) och kom ihåg att trycka på Skift + Ctrl + Enter.
2. I ovanstående formler är 2014,1,1 startdatumet för ditt datumintervall, 365 är antalet dagar i ditt datumintervall, du kan ändra dem efter behov.
3. Du kan inte placera formeln som genererar unika slumpmässiga vardagar i A1.
Metod 2 genererar slumpmässig vardag inom ett år med VBA
Om du vill randomisera vardagar inom ett år och är bekant med VBA kan du göra som nedan:
1. Tryck Alt + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.
2. klick Insert > Modulernaoch klistra sedan in under VBA-koden i de poppande fönstren.
VBA: Slumpmässig veckodag inom ett år.
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. Spara koden och stäng fönstret för att gå tillbaka till kalkylbladet och skriv den här formeln= RandomizeDates (2014) in i en cell och tryck sedan på ange tangenten och dra påfyllningshandtaget till ett intervall du behöver. Se skärmdump:
Skapa bara slumpmässig vardag eller bara slumpmässig helg med Kutools för Excel
Efter gratis installation Kutools för Excel, gör så här:
1. Välj ett intervall som du vill skapa vardagar eller helgdatum och klicka sedan på Kutools > Infoga slumpmässiga data. Se skärmdump:
2. I Infoga slumpmässiga data dialog, klicka Datum fliken och sedan kalenderknapp för att välja önskat startdatum och slutdatum och markera sedan Arbetsdag or Helgen alternativ du behöver, om du vill skapa ett unikt datum kan du kontrollera Unik alternativ. Se skärmdump:
3. klick Ok för att tillämpa och stänga dialogen, sedan i urvalet genereras de unika helgdatum.
Dricks: Om du får infoga duplikatdata, avmarkera bara Unika värden i dialogrutan
Med funktionen Infoga slumpmässig data kan du också randomisera heltal, tid, sträng och anpassad lista. Klicka här för mer information.
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!