Fórmula de Excel: Obtenga horas de trabajo entre fechas -

Tabla de contenido

Fórmula genérica

=NETWORKDAYS(start,end,holidays)*hours

Resumen

Para calcular el número total de horas de trabajo entre dos fechas, puede usar una fórmula basada en la función NETWORKDAYS, donde "inicio" es la fecha de inicio, "final" es la fecha de finalización, "vacaciones" es un rango que incluye fechas, y "horas" es el número de horas de trabajo en una jornada laboral. En el ejemplo que se muestra, la fórmula en D7 es:

=NETWORKDAYS(B7,C7,holidays)*8

donde "vacaciones" es el rango con nombre G6: G8.

Explicación

Esta fórmula utiliza la función NETWORKDAYS para calcular el total de días laborables entre dos fechas, teniendo en cuenta los fines de semana y (opcionalmente) los feriados. Los días festivos, si se proporcionan, deben ser un rango de fechas válidas de Excel. Una vez que se conocen los días de trabajo totales, simplemente se multiplican por un número fijo de horas por día, 8 en el ejemplo que se muestra.

La función NETWORKDAYS incluye tanto la fecha de inicio como la de finalización en el cálculo, y excluye tanto el sábado como el domingo de forma predeterminada. La función también excluirá los días festivos cuando se proporcionen como el argumento "festivos" como un rango de fechas válidas.

En el ejemplo que se muestra, las dos primeras fórmulas utilizan la función DÍAS RED.

D6=NETWORKDAYS(B6,C6)*8 // no holidays D7=NETWORKDAYS(B7,C7,holidays)*8 // holidays provided

Si su semana laboral incluye días que no sean de lunes a viernes, puede cambiar a la función NETWORKDAYS.INTL, que proporciona un argumento de "fin de semana" que se puede usar para definir qué días de la semana son días laborables y días de fin de semana. NETWORKDAYS.INTL se puede configurar como NETWORKDAYS, pero proporciona un argumento adicional llamado "weekend" para controlar qué días de la semana se consideran días laborables.

Las siguientes 4 fórmulas usan la función NETWORKDAYS.INTL:

D8=NETWORKDAYS.INTL(B8,C8)*8 // Mon-Fri, no holidays D9=NETWORKDAYS.INTL(B9,C9,11)*8 // Mon-Sat, no holidays D10=NETWORKDAYS.INTL(B10,C10)*8 // M-F, no holidays D11=NETWORKDAYS.INTL(B11,C11,1,holidays)*8 // M-F, w/ holidays

Haga clic en los nombres de las funciones anteriores para obtener más información sobre las opciones de configuración.

Horario de trabajo personalizado

Esta fórmula asume que todos los días laborales tienen la misma cantidad de horas laborales. Si necesita calcular las horas de trabajo con un horario personalizado donde las horas de trabajo varían según el día de la semana, puede probar una fórmula como esta:

=SUMPRODUCT(MID(schedule,WEEKDAY(ROW(INDIRECT(start&":"&end))),1)*ISNA(MATCH(ROW(INDIRECT(start&":"&end)),holidays,0)))

Puedes encontrar una explicación aquí.

Articulos interesantes...