domingo, 14 de junio de 2020

EXCEL: Obtener horas de trabajo entre fechas

Excel formula: Get work hours between dates

Fórmula genérica

=DIAS.LAB(start,end,holidays)*hours

Explicación

Para calcular el número total de horas de trabajo entre dos fechas, puede usar una fórmula basada en la función DIAS.LAB, donde "inicio" es la fecha de inicio, "fin" es la fecha de finalización, "vacaciones" es un rango que incluye fechas y "horas" es la cantidad de horas de trabajo en un día laboral. En el ejemplo que se muestra, la fórmula en D7 es:
=DIAS.LAB(B7,C7,holidays)*8
donde "vacaciones" es el rango con nombre G6: G8.

Cómo funciona esta fórmula

Esta fórmula utiliza la función DIAS.LAB para calcular el total de días hábiles entre dos fechas, teniendo en cuenta los fines de semana y (opcionalmente) días festivos. 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 DIAS.LAB incluye tanto la fecha de inicio como la de finalización en el cálculo, y excluye los sábados y domingos de forma predeterminada. La función también excluirá los días festivos cuando se proporcionan como el argumento "días festivos" como un rango de fechas válidas.
En el ejemplo que se muestra, las dos primeras fórmulas usan la función DIAS.LAB.
D6=DIAS.LAB(B6,C6)*8 // no holidays
D7=DIAS.LAB(B7,C7,holidays)*8 // holidays provided
Si su semana laboral incluye días distintos de lunes a viernes, puede cambiar a la función DIAS.LAB.INTL, que proporciona un argumento de "fin de semana" que puede usarse para definir qué días de la semana son días laborables y días de fin de semana. DIAS.LAB.INTL se puede configurar como DIAS.LAB, pero proporciona un argumento adicional llamado "fin de semana" para controlar qué días de la semana se consideran días laborables.
Las siguientes 4 fórmulas usan la función DIAS.LAB.INTL:
D8=DIAS.LAB.INTL(B8,C8)*8 // Mon-Fri, no holidays
D9=DIAS.LAB.INTL(B9,C9,11)*8 // Mon-Sat, no holidays
D10=DIAS.LAB.INTL(B10,C10)*8 // M-F, no holidays
D11=DIAS.LAB.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 supone que todos los días hábiles tienen la misma cantidad de horas de trabajo. 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:
=SUMAPRODUCTO(EXTRAE(schedule,DIASEM(FILA(INDIRECTO(start&":"&end))),1)*ESNOD(COINCIDIR(FILA(INDIRECTO(start&":"&end)),holidays,0)))
Puedes encontrar una explicación aquí.

Comentarios en Facebook


0 comentarios:

Copyright © 2021 TRUJILLOSOFT