¿Cómo generar una fecha aleatoria de día laborable o fin de semana en Excel?
Este tutorial trata sobre cómo generar solo días laborables aleatorios o solo fechas de fin de semana aleatorias en Excel. Siga los pasos a continuación para obtener más detalles.
Generar solo días laborables aleatorios en Excel
Generar solo días laborables aleatorios o solo fines de semana aleatorios con Kutools para Excel
Generar solo días laborables aleatorios en Excel
En Excel, hay dos métodos que pueden ayudarte a randomizar solo días laborables en un rango de fechas según sea necesario.
Método 1: Generar días laborables aleatorios con fórmula
Seleccione una celda y escriba esta fórmula =FECHA(2014, 1, 1)+GRANDE(SI(DIASEM(FECHA(2014, 1, 1)+FILA($1:$365)-1, 2)<6, FILA($1:$365)-1, ""), ALEATORIO.ENTRE(1, SUMA(--(DIASEM(FECHA(2014, 1, 1)+FILA($1:$365)-1, 2)<6)))), luego presione las teclas Mayús + Ctrl + Enter simultáneamente, luego arrastre el controlador de relleno hacia un rango donde desee generar días laborables. Ver captura de pantalla:
Consejo:
1. Si desea generar días laborables aleatorios únicos, puede usar esta fórmula =FECHA(2014, 1, 1)+(GRANDE(SI(DIASEM((FECHA(2014, 1, 1)+FILA($1:$365)-1)*((CONTAR.SI($A$1:A1, FECHA(2014, 1, 1)+FILA($1:$365)-1))=0), 2)<6, FILA($1:$365)-1, ""), ALEATORIO.ENTRE(1, SUMA(--(DIASEM((FECHA(2014, 1, 1)+FILA($1:$365)-1)*((CONTAR.SI($A$1:A1, FECHA(2014, 1, 1)+FILA($1:$365)-1))=0), 2)<6))))) y recuerde presionar Mayús + Ctrl + Enter.
2. En las fórmulas anteriores, 2014,1,1 es la fecha de inicio del rango de fechas que necesita, 365 es el número de días en su rango de fechas, puede cambiarlos según sea necesario.
3. No puede colocar la fórmula que genera días laborables aleatorios únicos en A1.
Método 2: Generar días laborables aleatorios dentro de un año con VBA
Si desea randomizar días laborables dentro de un año y está familiarizado con VBA, puede hacer lo siguiente:
1. Presione las teclas Alt + F11 para abrir la ventana Microsoft Visual Basic para Aplicaciones.
2. Haga clic en Insertar > Módulo, luego pegue el siguiente código VBA en la ventana emergente.
VBA: Randomizar días laborables 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 regresar a su hoja de cálculo, y escriba esta fórmula=RandomizeDates(2014) en una celda, luego presione la tecla Enter y arrastre el controlador de relleno hacia el rango que necesite. Ver captura de pantalla:
Generar solo días laborables aleatorios o solo fines de semana aleatorios con Kutools para Excel
Después de instalar gratuitamente Kutools para Excel, por favor haga lo siguiente:
1. Seleccione un rango donde desea generar días laborables o fechas de fin de semana, luego haga clic en Kutools > Insertar datos al azar. Ver captura de pantalla:
2. En el Insertar datos al azar cuadro de diálogo, haga clic en la pestaña Fecha y luego en el botón de calendario para seleccionar una fecha de inicio y una fecha de fin que desee, luego marque la opción Día laborable o Fin de semana que necesite. Si desea generar una fecha única, puede marcar la opción Único . Ver captura de pantalla:
3. Haga clic en Aceptar para aplicar y cerrar el cuadro de 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 cuadro de diálogo.
Con la función Insertar datos al azar, también puede randomizar enteros, tiempo, cadenas y listas personalizadas. Haga clic aquí para más información.
Artículos Relacionados
Las mejores herramientas de productividad para Office
Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...
Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!