¿Cómo generar una fecha aleatoria de un día de la semana o un fin de semana en Excel?
Este tutorial habla de generar solo días de semana aleatorios o solo fechas de fin de semana aleatorias en Excel, siga los pasos a continuación para obtener más detalles.
Genere solo un día de la semana aleatorio en Excel
Genere solo un día de la semana aleatorio o solo un fin de semana aleatorio con Kutools para Excel
Genere solo un día de la semana aleatorio en Excel
En Excel, hay dos métodos que pueden ayudarlo a aleatorizar solo los días de la semana en un rango de fechas según lo necesite.
Método 1 generar un día de la semana aleatorio con fórmula
Seleccione una celda y escriba esta fórmula = FECHA (2014, 1, 1) + GRANDE (SI (DÍA DE LA SEMANA (FECHA (2014, 1, 1) + FILA ($ 1: $ 365) -1, 2) <6, FILA ($ 1: $ 365) -1, "" ), RANDBETWEEN (1, SUM (- (WEEKDAY (DATE (2014, 1, 1) + ROW ($ 1: $ 365) -1, 2) <6)))), entonces presione Mayús + Ctrl + Entrar simultáneamente, luego arrastre el controlador de relleno al rango que desee generar el día de la semana. Ver captura de pantalla:
Consejo:
1. Si desea generar días de la semana aleatorios únicos, puede usar esta fórmula =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))))) y recuerda presionar Mayús + Ctrl + Entrar.
2. En las fórmulas anteriores, 2014,1,1 es la fecha de inicio de su rango de fechas necesario, 365 es el número de días en su rango de fechas, puede cambiarlos según lo necesite.
3. No puede poner la fórmula que genera días de semana aleatorios únicos en A1.
El método 2 genera un día de la semana aleatorio dentro de un año con VBA
Si desea aleatorizar los días de la semana dentro de un año y está familiarizado con VBA, puede hacer lo siguiente:
1. Prensa Alt + F11 llaves para abrir Microsoft Visual Basic para aplicaciones ventana.
2. Hacer clic en recuadro > Módulo, luego pegue debajo del código VBA en las ventanas emergentes.
VBA: Aleatorizar el día de la semana dentro de un año.
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. Guarde el código y cierre la ventana para volver a su hoja de trabajo y escriba esta fórmula= RandomizeDates (2014) en una celda, luego presione Participar y arrastre el controlador de relleno al rango que necesite. Ver captura de pantalla:
Genere solo un día de la semana aleatorio o solo un fin de semana aleatorio con Kutools para Excel
Kutools for Excel, con más de 300 funciones prácticas, facilita su trabajo. |
Después instalación gratuita Kutools para Excel, haga lo siguiente:
1. Seleccione un intervalo que desee generar días laborables o fechas de fin de semana y, a continuación, haga clic en Kutools > Insertar datos aleatorios. Ver captura de pantalla:
2. En el Insertar datos aleatorios diálogo, haga clic Fecha pestaña, y luego botón de calendario para seleccionar una fecha de inicio y una fecha de finalización que desee, luego marque Workday or Fin de semana opción que necesita, si desea generar una fecha única, puede verificar Unique opción. Ver captura de pantalla:
3. Hacer clic en Ok para aplicar y cerrar el diálogo, luego en la selección, se generan las fechas únicas de fin de semana.
Consejo: Si se le permite insertar datos duplicados, simplemente desmarque Valores únicos en el dialogo
Con la función Insertar datos aleatorios, también puede aleatorizar enteros, tiempos, cadenas y listas personalizadas. Haga clic aquí para obtener más información.
Las mejores herramientas de productividad de oficina
Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haga clic aquí para obtener la función que más necesita...
Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
- ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!