Determinar si una fecha y hora están dentro del horario laboral (Microsoft Excel)
Ken tiene una fecha y una hora almacenadas en la celda C3. Necesita una fórmula para determinar si esta fecha y hora están dentro del horario laboral normal (de 8 am a 5 pm, de lunes a viernes). Ken puede verificar fácilmente la hora, pero no puede encontrar una manera de verificar si es en un día laboral.
Hay una multitud de fórmulas que se le podrían ocurrir para resolver esta situación. Los componentes clave de cualquier fórmula son que usted determina si la fecha está dentro del rango de lunes a viernes (lo que Ken dice que sabe hacer) y determina si la hora está en el rango de 8 am a 5 pm. Una vez que determine estos dos hechos, puede usar la función Y para determinar una condición general «verdadera» o «falsa».
Como ejemplo, podría utilizar la siguiente fórmula para determinar si la fecha está en el rango de lunes a viernes:
=WEEKDAY(C3, 2) < 6
Esto devuelve True o False y funciona porque el segundo parámetro de la función WEEKDAY, cuando se establece en 2, indica que WEEKDAY devuelve un valor de 1 a 7, donde 1 = lunes y 7 = domingo. Por lo tanto, WEEKDAY devolvería 1, 2, 3, 4 o 5 para el rango de lunes a viernes.
Para la parte de tiempo de la fórmula, puede usar la función HORA, de esta manera:
=HOUR(C3) >= 8
Esto devuelve Verdadero o Falso dependiendo de si la hora es mayor o igual a las 8:00 am. Puede probar, de manera similar, si la hora es antes de las 5:00 pm de esta manera:
=HOUR(C3) <= 17
Con estas tres pruebas resueltas, puede combinarlas todas usando la función AND:
=AND(WEEKDAY(C3, 2) < 6, HOUR(C3) >= 8, HOUR(C3) <= 17)
Dado que la función HORA devuelve un valor entero (de 0 a 23), puede acortar la fórmula aún más de esta manera:
=AND(WEEKDAY(C3, 2) < 6, HOUR(C3) > 7, HOUR(C3) < 18)
Si se cumplen las tres condiciones, la función AND devuelve True.
Por lo tanto, podría envolver esta fórmula dentro de una declaración IF, como esta:
=IF(AND(WEEKDAY(C3, 2) < 6, HOUR(C3) > 7, HOUR(C3) < 18), "Working", "Non-Working")
Esto funciona muy bien, a menos que desee comenzar a tener en cuenta los días festivos o que su semana laboral sea diferente a la de lunes a viernes. En ese caso, solo necesita modificar la primera parte de la fórmula; la parte que usa la función WEEKDAY. Mi sugerencia sería confiar, en cambio, en las funciones NETWORKDAYS o NETWORKDAYS.INTL. En lugar de describir aquí cómo usar esas funciones, querrá consultar el ExcelTip titulado «` enlace: / excelribbon-Calculating_Business_Days [Calculating Business Days] `.»
ExcelTips es su fuente de formación rentable en Microsoft Excel.
Este consejo (4270) se aplica a Microsoft Excel 2007, 2010, 2013 y 2016.