Comment générer une date aléatoire en semaine ou en week-end dans Excel?
Ce tutoriel parle de générer uniquement des jours de semaine aléatoires ou uniquement des dates de week-end aléatoires dans Excel, suivez les étapes ci-dessous pour obtenir plus de détails.
Générer uniquement un jour de semaine aléatoire dans Excel
Générer uniquement un jour de semaine aléatoire dans Excel
Dans Excel, deux méthodes peuvent vous aider à ne randomiser que les jours de la semaine dans une plage de dates selon vos besoins.
Méthode 1 générer un jour de semaine aléatoire avec la formule
Sélectionnez une cellule et tapez cette 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)))), puis appuyez Maj + Ctrl + Entrée touches simultanément, puis faites glisser la poignée de recopie vers une plage que vous souhaitez générer le jour de la semaine. Voir la capture d'écran:
Conseil:
1. Si vous souhaitez générer des jours de semaine aléatoires uniques, vous pouvez utiliser cette formule =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))))) et n'oubliez pas d'appuyer Maj + Ctrl + Entrée.
2. Dans les formules ci-dessus, 2014,1,1 est la date de début de votre plage de dates nécessaire, 365 est le nombre de jours dans votre plage de dates, vous pouvez les modifier selon vos besoins.
3. Vous ne pouvez pas mettre la formule générant des jours de semaine aléatoires uniques dans A1.
Méthode 2 générer un jour de semaine aléatoire dans un an avec VBA
Si vous souhaitez randomiser les jours de la semaine dans l'année et que vous êtes familier avec VBA, vous pouvez faire comme ci-dessous:
1. presse Alt + F11 clés pour ouvrir Microsoft Visual Basic pour applications fenêtre.
2. Cliquez insérer > Module, puis collez sous le code VBA dans les fenêtres contextuelles.
VBA: Randomize jour de la semaine en un an.
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. Enregistrez le code et fermez la fenêtre pour revenir à votre feuille de calcul et tapez cette formule= RandomizeDates (2014) dans une cellule, puis appuyez sur Entrer et faites glisser la poignée de recopie vers une plage dont vous avez besoin. Voir la capture d'écran:
Générez uniquement un jour de semaine aléatoire ou uniquement un week-end aléatoire avec Kutools for Excel
Après installation gratuite Kutools for Excel, procédez comme suit:
1. Sélectionnez une plage pour laquelle vous souhaitez générer des dates de semaine ou de week-end, puis cliquez sur Kutools > Insérer des données aléatoires. Voir la capture d'écran:
2. dans le Insérer des données aléatoires dialogue, cliquez sur Date onglet, puis bouton de calendrier pour sélectionner une date de début et une date de fin souhaitées, puis cochez Journée de travail or Fin de semaine option dont vous avez besoin, si vous souhaitez générer une date unique, vous pouvez cocher Unique option. Voir la capture d'écran:
3. Cliquez Ok pour appliquer et fermer la boîte de dialogue, puis dans la sélection, les dates de week-end uniques sont générées.
Conseil: Si vous êtes autorisé à insérer des données en double, décochez simplement Valeurs uniques dans la boîte de dialogue
Avec la fonction Insérer des données aléatoires, vous pouvez également randomiser des entiers, des heures, des chaînes et une liste personnalisée. Cliquez ici pour plus d'informations.
Articles relatifs
Meilleurs outils de productivité bureautique
Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et facilite grandement votre travail
- Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!