Dan está configurando una hoja de trabajo para usar en su empresa y necesita una forma de calcular el primer día hábil de un mes calendar. Sabe cómo calcular el primer día de un mes, pero ese día posiblemente sea un fin de semana o un día festivo.

Hay varias formas de calcular el primer día de la semana de un mes determinado. La siguiente fórmula es un buen lugar para comenzar:

=DATE(YEAR(A1),MONTH(A1),1)+CHOOSE(WEEKDAY(DATE(YEAR(A1),MONTH(A1),1)),1,0,0,0,0,0,2)

Esta fórmula asume que desea el primer día de la semana para el mes de cualquier fecha en la celda A1. Por lo tanto, si la fecha en la celda A1 es 26 de marzo de 2011, la fórmula asume que desea el primer día de la semana de marzo de 2011.

Si tiene el paquete de herramientas de análisis instalado en su sistema, la fórmula se vuelve mucho más simple:

=WORKDAY(EOMONTH(A1,-1), 1)

La función EOMONTH devuelve el último día del mes anterior a la fecha en la celda A1 y luego la función WORKDAY devuelve el primer día de la semana del mes siguiente. La función se arma así (usando EOMONTH) porque WORKDAY es un poco peculiar; asume que el primer parámetro es un día laboral válido. Esto significa que no verifica si la fecha utilizada en el parámetro cae en la semana laboral de lunes a viernes. Al forzar el parámetro a ser un día antes del mes en el que desea determinar el primer día de trabajo y establecer el segundo parámetro en 1, la función devuelve el primer día de la semana real para el mes deseado.

La función DÍA LABORAL también le permite especificar opcionalmente que se deben tener en cuenta las vacaciones. La forma más sencilla de hacer esto es configurar una lista de fechas de vacaciones, en un rango de celdas, y luego nombrar ese rango. (Cómo nombrar un rango se discute en otros números de ExcelTips.) Si le da al rango un nombre como MyHolidays, entonces puede usar la siguiente versión de la fórmula:

=WORKDAY(EOMONTH(A1,-1), 1, MyHolidays)

Aquí hay un buen truco si desea calcular el día laborable inicial para un mes determinado en un año. Suponga que la celda A1 contiene un año, como 2011, y que la celda A2 contiene un número de mes, del 1 al 12, que representa el mes para el que desea comenzar el día laboral. Luego puede usar esta fórmula para obtener la fecha deseada:

=WORKDAY(DATE(A1,1,0), A2, MyHolidays)

La forma en que se usa la función FECHA en esta fórmula devuelve el último día del año anterior al año especificado en la celda A1. Luego, el valor en A2 se usa para avanzar esa cantidad de meses, y MyHolidays (como antes) contabiliza los días festivos que puedan ocurrir en ese mes.

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (10199) se aplica a Microsoft Excel 97, 2000, 2002 y 2003.

Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y posterior) aquí:

link: / excelribbon-Calculating_the_First_Business_Day_of_the_Month [Cálculo del primer día hábil del mes].