Hoe genereer je een willekeurige weekdag of weekenddatum in Excel?
Deze tutorial gaat over het genereren van alleen willekeurige weekdagen of alleen willekeurige weekenddatums in Excel. Volg onderstaande stappen voor meer details.
Genereer alleen willekeurige weekdagen in Excel
Genereer alleen willekeurige weekdagen of alleen willekeurige weekenden met Kutools voor Excel
Genereer alleen willekeurige weekdagen in Excel
In Excel zijn er twee methoden die u kunnen helpen om alleen weekdagen in een datumbereik te randomiseren zoals u nodig hebt.
Methode 1: genereer willekeurige weekdagen met een formule
Selecteer een cel en typ deze formule =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)))), en druk vervolgens op Shift + Ctrl + Enter gelijktijdig, sleep dan de vulgreep naar een bereik waarin u weekdagen wilt genereren. Zie screenshot:
Tip:
1. Als u unieke willekeurige weekdagen wilt genereren, kunt u deze formule gebruiken =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))))) en vergeet niet om Shift + Ctrl + Enter te drukken.
2. In bovenstaande formules is 2014,1,1 de startdatum van uw benodigde datumbereik, 365 is het aantal dagen in uw datumbereik, u kunt ze wijzigen zoals u nodig hebt.
3. U kunt de formule voor het genereren van unieke willekeurige weekdagen niet in A1 plaatsen.
Methode 2: genereer willekeurige weekdagen binnen een jaar met VBA
Als u weekdagen binnen een jaar wilt randomiseren en bekend bent met VBA, kunt u als volgt te werk gaan:
1. Druk op Alt + F11 toetsen om het Microsoft Visual Basic for Applications-venster te openen.
2. Klik op Invoegen > Module, plak vervolgens onderstaande VBA-code in het pop-upvenster.
VBA: Randomiseer weekdagen binnen een jaar.
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. Sla de code op en sluit het venster om terug te keren naar uw werkblad, en typ deze formule=RandomizeDates(2014) in een cel, druk vervolgens op Enter toets en sleep de vulgreep naar een bereik dat u nodig hebt. Zie screenshot:
Genereer alleen willekeurige weekdagen of alleen willekeurige weekenden met Kutools voor Excel
Na gratis installatie van Kutools voor Excel, doe dan als volgt:
1. Selecteer een bereik waarin u weekdagen of weekenddatums wilt genereren, klik vervolgens op Kutools > Willekeurige gegevens invoegen. Zie screenshot:
2. In de Willekeurige gegevens invoegen dialoogvenster, klik op Datum tab, en klik vervolgens op de kalenderknop om een startdatum en einddatum te selecteren die u wilt, en vink vervolgens aan Werkdag of Weekend optie die u nodig hebt. Als u unieke datums wilt genereren, kunt u Uniek aanvinken. Zie screenshot:
3. Klik op Ok om toe te passen en het dialoogvenster te sluiten, en in de selectie worden de unieke weekenddatums gegenereerd.
Tip: Als u dubbele waarden mag invoegen, vink dan Unieke waarden uit in het dialoogvenster.
Met de functie Willekeurige gegevens invoegen kunt u ook gehele getallen, tijd, tekst en aangepaste lijsten randomiseren. Klik hier voor meer informatie.
Gerelateerde artikelen
Beste Office-productiviteitstools
Versterk je Excel-vaardigheden met Kutools voor Excel en ervaar ongeëvenaarde efficiëntie. Kutools voor Excel biedt meer dan300 geavanceerde functies om je productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die je het meest nodig hebt...
Office Tab brengt een tabbladinterface naar Office en maakt je werk veel eenvoudiger
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
- Verhoog je productiviteit met50% en bespaar dagelijks honderden muisklikken!