Ya sabemos cómo contar los días hábiles entre dos fechas, pero en ocasiones necesitamos conocer específicamente el primer y último día hábil del mes con solo proporcionar el año y el mes del cual queremos obtener la información.
Así que en esta ocasión te mostraré dos fórmulas que podemos utilizar para alcanzar este objetivo, pero antes debo hacer un recordatorio de las funciones de Excel que vamos a utilizar.
La función FECHA
La función FECHA es muy fácil de explicar porque solo tiene tres argumentos: año, mes y día. Lo que esta función hace es devolvernos una fecha válida en Excel basada en los datos proporcionados. Por ejemplo, si quiero obtener la fecha para el 5 de octubre del 2013, entonces debo utilizar la función del a siguiente manera:
=FECHA(2013, 10, 5)
Esta función la utilizaremos para obtener una fecha válida a partir del mes y año de nuestro interés y que utilizaremos posteriormente para obtener el primer y último día hábil del mes.
La función DIA.LAB
La función DIA.LAB es frecuentemente confundida con la función DIAS.LAB pero observa que esta función tiene la palabra DIA (en singular). La gran diferencia es que esta función nos devuelve el día laborable a partir de una fecha inicial. Por ejemplo, si quiero conocer el día hábil que está a cinco días hábiles de la fecha de hoy, puedo utilizar la siguiente fórmula:
=DIA.LAB(HOY(), 5)
La función DIA.LAB contará 5 días hábiles a partir de hoy y nos devolverá la fecha que corresponde a dicho día. Por días hábiles nos referimos a los días entre lunes y viernes, ya que la función DIA.LAB siempre considera el fin de semana como sábado y domingo.
La función DIA.LAB.INTL
La función DIA.LAB.INTL funciona exactamente igual que la función DIA.LAB pero con la diferencia de que nos permite elegir un día diferente para el fin de semana. Por ejemplo, si quiero contar 5 días hábiles a partir de hoy pero considerando solamente el día sábado como el día de fin de semana, entonces utilizo la siguiente fórmula:
=DIA.LAB.INTL(HOY(), 5, 17)
Tanto la función DIA.LAB como DIA.LAB.INTL tienen un último argumento que nos permite indicar días festivos que deseamos excluir del cálculo, lo cual será muy conveniente para obtener adecuadamente el primer y último día hábil del mes.
Primer día hábil del mes con Excel
Ahora que ya tenemos una idea clara de las funciones a utilizar, la fórmula que nos ayudará a obtener el primer día hábil del mes es la siguiente:
=DIA.LAB(FECHA(B2, B1, 0), 1)
En esta fórmula estoy suponiendo que el año está en la celda B2 y el mes en la celda B1, pero observa que como tercer argumento de la función FECHA estoy indicando el día cero. Este es un truco de Excel que era muy utilizado en el pasado para obtener el último día del mes anterior. El hecho es que, al pedir a Excel el día cero de cualquier mes, obtendremos el último día del mes anterior. Si no conocías este truco te invito a leer el artículo Último día del mes en Excel donde explico que esta técnica era muy utilizada antes de que existiera la función FIN.MES.
Pero regresando a la explicación de la lógica de nuestra fórmula, la función FECHA devolverá el último día del mes anterior al especificado en B1 y a partir de esa fecha la función DIA.LAB contará un día hábil. Observa el resultado de utilizar esta fórmula:
En este ejemplo el mes indicado es el mes de mayo. La función FECHA devuelve el 30 de abril y a partir de ahí se cuenta 1 día hábil para llegar al 1 de mayo que es el primer día hábil del mes. Ahora supongamos que el 1 de mayo es un día festivo. Podemos indicar a la función DIA.LAB que tome en cuenta dicho día utilizando el tercer argumento de la función:
Observa que la fórmula omite el día festivo en el cálculo y nos dice que el primer día hábil del mes es el 2 de mayo. De esta manera podemos indicar tantos días festivos como necesitemos ya que el tercer argumento de la función DIA.LAB es un rango que pueden contener cualquier cantidad de fechas.
Por último debemos recordar que al hacer el cálculo con la función DIA.LAB estamos considerando los días sábado y domingo como el fin de semana. Suponiendo que en tu empresa se descansa el miércoles y el jueves, entonces debo utilizar la función DIA.LAB.INTL de la siguiente manera:
=DIA.LAB.INTL(FECHA(B2, B1, 0), 1, 5)
El número 5 que está como el tercer argumento de la función DIA.LAB.INTL hacen que considere el miércoles y jueves como el fin se semana y por lo tanto obtenemos como resultado el día 3 de mayo:
Si queremos especificar días festivos en esta última fórmula debemos indicarlos como el cuarto argumento de la función DIA.LAB.INTL de manera similar como lo hicimos en el ejemplo anterior. Es así como podemos obtener el primer día hábil del mes con Excel considerando días festivos e inclusive personalizando los días que conforman el descanso semanal.
Último día hábil del mes con Excel
Para obtener el último día hábil del mes utilizaremos la siguiente fórmula:
=DIA.LAB(FECHA(B2, B1+1, 1), -1)
Observa con detenimiento que la función FECHA nos devuelve el primer día del mes siguiente al que hemos indicado. El objetivo de colocarnos en el mes siguiente es poder hacer la resta de un día hábil, razón por la cual el segundo argumento de la función DIA.LAB es un valor negativo. El resultado de utilizar esta fórmula es el siguiente:
También podemos indicar días festivos a la función DIA.LAB de manera que sean considerados en el cálculo. Por ejemplo, si el 31 de mayo fuera un día festivo, entonces el último día hábil del mes sería diferente:
También podemos utilizar la función DIA.LAB.INTL para modificar los días de descanso semanal. Por ejemplo, si los días de descanso fueran jueves y viernes, entonces el último día hábil del mes de mayo del 2013 sería el día 29, tal como lo puedes notar en la siguiente imagen.
De esta manera podemos utilizar las funciones FECHA, DIA.LAB y DIA.LAB.INTL para obtener el primer y último día hábil del mes con Excel.