¿Cómo generar una fecha aleatoria de un día laborable o fin de semana en Excel?
Este tutorial explica cómo generar exclusivamente fechas aleatorias de días laborables o únicamente de fines de semana en Excel. Siga los pasos a continuación para obtener más detalles.
Generar únicamente fechas aleatorias de días laborables en Excel
Generar únicamente fechas aleatorias de días laborables en Excel
En Excel, hay dos métodos que le permiten generar fechas aleatorias exclusivamente en días laborables dentro de un rango de fechas, según sus necesidades.
Método 1: generar fechas aleatorias de días laborables con fórmula
Seleccione una celda y escriba esta fórmula:=FECHA(2014;1;1)+GRANDE(SI(DIA.LAB(FECHA(2014;1;1)+FILA($1:$365)-1;2)<6;FILA($1:$365)-1;«»),ALEATORIO.ENTRE(1;SUMA(--(DIA.LAB(FECHA(2014;1;1)+FILA($1:$365)-1;2)<6)))). Luego, pulse simultáneamente Mayús + Ctrl + Intro y arrastre el controlador de relleno al rango en el que desee generar fechas de días laborables. Vea la captura de pantalla:
Consejo:
1. Si desea generar fechas únicas y aleatorias de días laborables, puede utilizar esta fórmula:=FECHA(2014;1;1)+(GRANDE(SI(DIA.LAB((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))))). Recuerde pulsar Mayús + Ctrl + Intro.
2. En las fórmulas anteriores, 2014,1,1 es la fecha de inicio del rango de fechas que necesita y 365 es el número de días de dicho rango; puede ajustarlos según sus necesidades.
3. No puede introducir en la celda A1 la fórmula que genera fechas únicas y aleatorias de días laborables.
Método 2: generar fechas aleatorias de días laborables dentro de un año con VBA
Si desea generar fechas aleatorias de días laborables dentro de un año y está familiarizado con VBA, proceda como se indica a continuación:
1. Pulse Alt + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. Haga clic en Insertar > Módulo y pegue el siguiente código VBA en la ventana emergente.
VBA: generar fechas aleatorias de 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 escriba =RandomizeDates(2014) en una celda, pulse la tecla Intro y arrastre el controlador de relleno al rango que necesite. Vea la captura de pantalla:
Generar únicamente fechas aleatorias de días laborables o únicamente de fines de semana con Kutools para Excel
Después de instalar gratuitamenteKutools para Excel, proceda como se indica a continuación:
1. Seleccione el rango en el que desee generar fechas de días laborables o fines de semana y haga clic en Kutools > Insertar datos al azar. Vea la captura de pantalla:
2. En el cuadro de diálogo Insertar datos al azar, haga clic en la pestaña Fecha y, a continuación, en el botón de calendario para seleccionar la fecha de inicio y la fecha de fin que desee. Después, active la opción Día laborable o Fin de semana según sus necesidades. Si desea generar fechas únicas, active la opción Único. Vea la captura de pantalla:
3. Haga clic en Aceptar para aplicar y cerrar el cuadro de diálogo. A continuación, se generarán fechas únicas de fines de semana en la selección.
Consejo: Si se le permite insertar datos duplicados, desactive simplemente la casilla Valores únicos en el cuadro de diálogo.
Con la función Insertar datos al azar también puede generar números enteros, horas, cadenas de texto y Listas personalizadas.Haga clic aquí para obtener más información.
Artículos relacionados
Las mejores herramientas de productividad para Office
Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...
Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Active 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 dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!
Todos los complementos de Kutools en un solo instalador.
Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.
- Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un instalador, una licencia— configuración en minutos (compatible con MSI)
- Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
- Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
- La mejor relación calidad-precio— ahorre frente a la compra individual de complementos