21/02/2023
La gestión de fechas y la identificación de días festivos son tareas recurrentes y fundamentales en diversas áreas, desde la planificación de proyectos y la elaboración de nóminas hasta la simple organización personal. Microsoft Excel, con su potente conjunto de funciones, se convierte en una herramienta indispensable para automatizar estos cálculos, permitiéndonos determinar con precisión cuáles días son festivos, contar la cantidad de estos días en un período específico e incluso calcular días laborables excluyendo festivos y fines de semana. En este artículo, desglosaremos las fórmulas y métodos más efectivos para dominar la gestión de días festivos en Excel, asegurando que tus cálculos sean siempre exactos y eficientes.

- Preparación: Cómo Calcular los Días Festivos de un Año Específico en Excel
- Verificación: Cómo Comprobar si una Fecha es un Día Festivo en Excel
- Conteo Avanzado: Contar Días Festivos y Días Laborables Excluyendo Festivos
- Preguntas Frecuentes sobre Días Festivos en Excel
- ¿Cómo adapto estas fórmulas para días festivos de otros países?
- ¿Qué sucede si un día festivo cae en fin de semana? ¿Se traslada?
- ¿Necesito actualizar la lista de días festivos cada año?
- ¿Estas fórmulas consideran festivos religiosos móviles como la Semana Santa?
- ¿Cómo puedo resaltar los días festivos en mi calendario de Excel?
Preparación: Cómo Calcular los Días Festivos de un Año Específico en Excel
Antes de poder identificar si una fecha es un día festivo, o de contar cuántos festivos hay en un rango, es imprescindible tener una lista clara y precisa de dichos días. Para ello, podemos aprovechar las capacidades de Excel para generar automáticamente las fechas de los días festivos para un año dado. Es recomendable crear una tabla donde se listen los días festivos de interés, lo que facilitará su posterior referencia en otras fórmulas. Tomaremos como ejemplo los días festivos nacionales de Estados Unidos, que presentan diversas lógicas de cálculo.
Tipos de Días Festivos y sus Fórmulas en Excel
Los días festivos pueden clasificarse en diferentes categorías según la forma en que se determinan sus fechas. Excel nos permite manejar cada una de estas particularidades:
Días Festivos de Fecha Fija
Estos son los más sencillos de calcular, ya que ocurren en una fecha específica cada año (por ejemplo, el 1 de enero para Año Nuevo). La función DATE de Excel es perfecta para esto.
=FECHA(AñoDado, Mes, Día)
Donde "AñoDado" es una referencia a la celda donde se encuentra el año (por ejemplo, C1), "Mes" es el número del mes y "Día" es el número del día.
Ejemplo: Año Nuevo (1 de enero)
Si el año está en la celda C1, la fórmula sería: =FECHA(C1,1,1)
Ejemplo: Día de la Independencia (4 de julio)=FECHA(C1,7,4)
Ejemplo: Día de los Veteranos (11 de noviembre)=FECHA(C1,11,11)
Ejemplo: Día de Navidad (25 de diciembre)=FECHA(C1,12,25)
Días Festivos Basados en un Día de la Semana Fijo
Algunos festivos se celebran el "N-ésimo" día de la semana de un mes determinado (por ejemplo, el tercer lunes de enero para el Día de Martin Luther King Jr.). Para estos casos, combinamos las funciones DATE, WEEKDAY y CHOOSE.
La lógica general es: calcular la fecha del primer día del mes, luego añadir suficientes días para llegar a la semana deseada y finalmente ajustar para el día de la semana correcto.
Ejemplo: Día de Martin Luther King Jr. (Tercer Lunes de Enero)
La fórmula es: =FECHA(C1,1,1)+14+ELEGIR(DIASEM(FECHA(C1,1,1)),1,0,6,5,4,3,2)
Desglosemos esta fórmula:
FECHA(C1,1,1): Obtiene el 1 de enero del año especificado.+14: Avanza la fecha dos semanas completas para llegar a la tercera semana.DIASEM(FECHA(C1,1,1)): Determina el día de la semana del 1 de enero (1=Domingo, 7=Sábado por defecto).ELEGIR(DIASEM(...),1,0,6,5,4,3,2): Esta parte ajusta la fecha para que caiga en un lunes. Si el 1 de enero es domingo (1), suma 1 día; si es lunes (2), suma 0 días; si es martes (3), suma 6 días (para llegar al lunes siguiente), y así sucesivamente. Esta secuencia de números (1,0,6,5,4,3,2) garantiza que la fecha final sea un lunes.
Ejemplo: Día del Presidente (Tercer Lunes de Febrero)=FECHA(C1,2,1)+14+ELEGIR(DIASEM(FECHA(C1,2,1)),1,0,6,5,4,3,2)
Ejemplo: Día del Trabajo (Primer Lunes de Septiembre)=FECHA(C1,9,1)+ELEGIR(DIASEM(FECHA(C1,9,1)),1,0,6,5,4,3,2)
(Aquí no se suma +14 porque es el primer lunes, no el tercero).
Ejemplo: Día de Cristóbal Colón (Segundo Lunes de Octubre)=FECHA(C1,10,1)+7+ELEGIR(DIASEM(FECHA(C1,10,1)),1,0,6,5,4,3,2)
(Aquí se suma +7 para llegar a la segunda semana).
Ejemplo: Día de Acción de Gracias (Cuarto Jueves de Noviembre)=FECHA(C1,11,1)+21+ELEGIR(DIASEM(FECHA(C1,11,1)),4,3,2,1,0,6,5)
(Aquí se suma +21 para llegar a la cuarta semana, y la secuencia de ELEGIR se ajusta para el jueves).
Días Festivos Basados en el Último Día de la Semana de un Mes
Un caso particular es el Día de la Recordación (Memorial Day) en Estados Unidos, que se celebra el último lunes de mayo. La fórmula proporcionada es bastante ingeniosa:
Ejemplo: Día de la Recordación (Último Lunes de Mayo)=FECHA(C1,6,1)-DIASEM(FECHA(C1,6,6))
Analicemos esta fórmula para entender su funcionamiento:
FECHA(C1,6,1): Calcula el 1 de junio del año dado.FECHA(C1,6,6): Calcula el 6 de junio del año dado.DIASEM(FECHA(C1,6,6)): Devuelve el número de día de la semana para el 6 de junio. Por defecto, Domingo=1, Lunes=2, ..., Sábado=7.- Al restar este número al 1 de junio, la fórmula "retrocede" desde el 1 de junio hasta el último lunes de mayo. Por ejemplo, si el 6 de junio es un jueves (DIASEM devuelve 5), entonces restará 5 días al 1 de junio. Si el 1 de junio es un sábado, al restarle 5 días, llegamos al lunes 27 de mayo, que es el último lunes de mayo. Esta fórmula funciona porque la relación de días de la semana entre el 1 de junio y el 6 de junio es constante y se utiliza para "anclar" el cálculo al último lunes del mes anterior.
Tabla Resumen de Fórmulas para Días Festivos en Excel (Ejemplo USA)
Para facilitar la construcción de tu lista de días festivos, aquí tienes un resumen de las fórmulas clave, asumiendo que el año de referencia está en la celda C1:
| Día Festivo | Fórmula en Excel |
|---|---|
| Día de Año Nuevo | =FECHA(C1,1,1) |
| Día de Martin Luther King Jr. | =FECHA(C1,1,1)+14+ELEGIR(DIASEM(FECHA(C1,1,1)),1,0,6,5,4,3,2) |
| Día del Presidente | =FECHA(C1,2,1)+14+ELEGIR(DIASEM(FECHA(C1,2,1)),1,0,6,5,4,3,2) |
| Día de la Recordación | =FECHA(C1,6,1)-DIASEM(FECHA(C1,6,6)) |
| Día de la Independencia | =FECHA(C1,7,4) |
| Día del Trabajo | =FECHA(C1,9,1)+ELEGIR(DIASEM(FECHA(C1,9,1)),1,0,6,5,4,3,2) |
| Día de Cristóbal Colón | =FECHA(C1,10,1)+7+ELEGIR(DIASEM(FECHA(C1,10,1)),1,0,6,5,4,3,2) |
| Día de los Veteranos | =FECHA(C1,11,11) |
| Día de Acción de Gracias | =FECHA(C1,11,1)+21+ELEGIR(DIASEM(FECHA(C1,11,1)),4,3,2,1,0,6,5) |
| Día de Navidad | =FECHA(C1,12,25) |
Una vez que ingreses estas fórmulas en tu hoja de cálculo y arrastres para rellenar, tendrás una lista dinámica de días festivos que se actualizará automáticamente al cambiar el año en la celda de referencia.
Verificación: Cómo Comprobar si una Fecha es un Día Festivo en Excel
Con nuestra lista de días festivos ya generada, el siguiente paso lógico es poder verificar rápidamente si una fecha específica cae en uno de estos días. Esta funcionalidad es invaluable para la gestión de proyectos, el cálculo de plazos o la planificación de eventos.

Método 1: Usando la Función CONTAR.SI
La función CONTAR.SI (COUNTIF en inglés) es ideal para este propósito, ya que cuenta el número de veces que un valor específico aparece en un rango. Si el conteo es mayor que cero, significa que la fecha está en nuestra lista de festivos.
Supongamos que tu lista de días festivos calculados se encuentra en el rango $C$2:$C$11 (asegúrate de usar referencias absolutas con el signo de dólar para que el rango no cambie al arrastrar la fórmula) y que la fecha que deseas verificar está en la celda A18.
La fórmula sería:
=SI(CONTAR.SI($C$2:$C$11,A18),"Festivo","No Festivo")
Cómo funciona:
CONTAR.SI($C$2:$C$11,A18): Esta parte busca el valor de la celda A18 dentro del rango de tus días festivos. Si encuentra la fecha, devolverá 1 (o más si la fecha aparece múltiples veces, lo cual no debería ocurrir con días festivos únicos); si no la encuentra, devolverá 0.SI(...,"Festivo","No Festivo"): La función SI evalúa el resultado de CONTAR.SI. Si el resultado es cualquier número distinto de cero (es decir, TRUE en un contexto lógico), la fórmula devolverá "Festivo". Si el resultado es cero (FALSE), devolverá "No Festivo".
Puedes arrastrar esta fórmula hacia abajo a lo largo de tu lista de fechas para verificar rápidamente cada una de ellas.
Método 2: Usando una Fórmula de Matriz con O (OR)
Otra forma de lograr esto es utilizando una fórmula de matriz con la función O (OR en inglés). Esta opción es particularmente útil para aquellos familiarizados con el manejo de matrices en Excel, aunque en versiones modernas de Excel (Office 365) puede comportarse como una fórmula dinámica sin necesidad de Ctrl+Shift+Enter.
La fórmula sería:
=SI(O($C$2:$C$11=A18),"Festivo","No Festivo")
Consideraciones importantes:
- En versiones antiguas de Excel (anteriores a Office 365), esta fórmula debe introducirse como una fórmula de matriz presionando
Ctrl + Shift + Enterdespués de escribirla. Excel la encerrará automáticamente entre llaves{}. ($C$2:$C$11=A18): Esta parte compara cada celda en tu rango de festivos con la fecha en A18. El resultado es una matriz de valores VERDADERO o FALSO (por ejemplo, `{FALSO;FALSO;VERDADERO;FALSO;...}`).O(...): La función O toma esta matriz de VERDADERO/FALSO y devuelve VERDADERO si al menos uno de los valores en la matriz es VERDADERO. Si todos son FALSO, devuelve FALSO.SI(...): Luego, la función SI procesa este VERDADERO/FALSO para mostrar "Festivo" o "No Festivo".
Conteo Avanzado: Contar Días Festivos y Días Laborables Excluyendo Festivos
Más allá de la simple verificación, a menudo necesitamos contar la cantidad de días festivos dentro de un rango de fechas o, inversamente, determinar los días laborables excluyendo tanto fines de semana como días festivos. Estas son tareas cruciales para la gestión de proyectos, la planificación de recursos y el cálculo de la productividad.
Cómo Contar Días Festivos entre Dos Fechas
Cuando tienes una lista de días festivos y necesitas saber cuántos de ellos caen entre una fecha de inicio y una fecha de fin, puedes usar las funciones CONTAR.SI.CONJUNTO (COUNTIFS) o SUMAPRODUCTO (SUMPRODUCT).
Usando la Función CONTAR.SI.CONJUNTO
La función CONTAR.SI.CONJUNTO es ideal para contar celdas que cumplen con múltiples criterios. En este caso, queremos contar los días en nuestra lista de festivos que son mayores o iguales a la fecha de inicio Y menores o iguales a la fecha de fin.
Supongamos que tu lista de días festivos está en el rango C2:C11, la fecha de inicio en F3 y la fecha de fin en F4.
La fórmula sería:
=CONTAR.SI.CONJUNTO(C2:C11,">="&F3,C2:C11,"<="&F4)
Explicación:
C2:C11: Es el rango donde se encuentran tus días festivos.">="&F3: El primer criterio. Le dice a Excel que cuente solo las fechas enC2:C11que son mayores o iguales a la fecha enF3. El operador&concatena el operador de comparación con la referencia de la celda.C2:C11: El rango se repite para el segundo criterio."<="&F4: El segundo criterio. Le dice a Excel que cuente solo las fechas enC2:C11que son menores o iguales a la fecha enF4.
Esta fórmula devolverá el número total de días festivos que se encuentran dentro del rango de fechas especificado.
Usando la Función SUMAPRODUCTO
La función SUMAPRODUCTO es extremadamente versátil y puede realizar operaciones con matrices de una manera muy potente. Para contar días festivos, podemos usarla para evaluar dos condiciones booleanas (VERDADERO/FALSO) y luego sumar los resultados.

Con los mismos rangos y celdas de fecha de inicio/fin (C2:C11 para festivos, F3 para inicio, F4 para fin), la fórmula es:
=SUMAPRODUCTO((C2:C11>=F3)*(C2:C11<=F4))
Cómo funciona:
(C2:C11>=F3): Esta expresión evalúa cada fecha en el rangoC2:C11para ver si es mayor o igual a la fecha enF3. El resultado es una matriz de valores VERDADERO o FALSO (por ejemplo, `{FALSO;FALSO;...;VERDADERO;VERDADERO}`).(C2:C11<=F4): Similarmente, esta expresión evalúa cada fecha para ver si es menor o igual a la fecha enF4, produciendo otra matriz de VERDADERO/FALSO.*(multiplicación): Cuando multiplicas matrices de valores lógicos en Excel, VERDADERO se convierte en 1 y FALSO se convierte en 0. Por lo tanto, el resultado de la multiplicación de las dos matrices será una nueva matriz donde un 1 aparecerá solo si *ambas* condiciones son VERDADERAS para una fecha dada (es decir, la fecha está dentro del rango). Si alguna de las condiciones es FALSO, el resultado será 0.SUMAPRODUCTO(...): Finalmente, SUMAPRODUCTO suma todos los valores de esta matriz resultante de 1s y 0s, dándonos el conteo total de días festivos que cumplen ambos criterios.
Esta es una forma muy eficiente y compacta de realizar conteos condicionales en Excel.
Cómo Contar Días Laborables Excluyendo Fines de Semana y Días Festivos
Una de las aplicaciones más comunes de la gestión de festivos en Excel es calcular el número de días hábiles entre dos fechas, descontando no solo los fines de semana sino también los días festivos. La función DIAS.LAB.INTL (NETWORKDAYS.INTL en inglés) es la herramienta perfecta para esta tarea.
Esta función permite especificar qué días de la semana deben considerarse fines de semana (lo que la hace muy flexible para diferentes países) y también acepta un rango de días festivos a excluir.
La sintaxis general es:
=DIAS.LAB.INTL(Fecha_Inicial, Fecha_Final, [Fin_de_Semana], [Días_No_Laborables])
Fecha_Inicial: La fecha de inicio del período.Fecha_Final: La fecha de fin del período.[Fin_de_Semana](Opcional): Un número o una cadena que especifica los días de fin de semana.- 1 (por defecto): Sábado y Domingo.
- 2: Domingo y Lunes.
- ...
- 11: Solo Domingo.
- También puedes usar una cadena de 7 caracteres (1s y 0s) donde 1 es un día de fin de semana y 0 es un día laborable, comenzando por Lunes. Por ejemplo, "0000011" para Sábado y Domingo.
[DíasNoLaborables](Opcional): Un rango de celdas que contiene las fechas de los días festivos que deben excluirse del conteo. ¡Aquí es donde nuestra lista de festivos calculados previamente entra en juego!
Ejemplo: Contar días laborables entre dos fechas, excluyendo sábados y domingos, y una lista de festivos.
Si tu fecha de inicio está en A1, tu fecha de fin en A2 y tu lista de festivos en el rango C2:C11, la fórmula sería:
=DIAS.LAB.INTL(A1,A2,1,C2:C11)
Esta fórmula te dará el número exacto de días laborables, descontando eficientemente tanto los fines de semana estándar como todos los días festivos que hayas listado. Es una función increíblemente útil para la programación y la gestión del tiempo.
Preguntas Frecuentes sobre Días Festivos en Excel
¿Cómo adapto estas fórmulas para días festivos de otros países?
Las lógicas de cálculo presentadas son universales. Lo que necesitarías adaptar son las fechas y reglas específicas de los días festivos de tu país. Por ejemplo, si un día festivo se celebra el "primer jueves de abril", adaptarías la parte de +ELEGIR(DIASEM(...)) para que apunte al jueves y el +0 para que sea la primera semana. Para los días festivos de fecha fija, simplemente cambia el mes y el día en la función FECHA.
¿Qué sucede si un día festivo cae en fin de semana? ¿Se traslada?
Las fórmulas para calcular los días festivos (Parte 1) te darán la fecha exacta en la que cae el festivo, independientemente de si es un fin de semana. Si un día festivo se traslada al lunes siguiente (o viernes anterior) en tu país, deberías añadir una lógica condicional (con funciones como SI y DIASEM) para ajustar esa fecha en tu lista de festivos. Por ejemplo, si es un sábado, suma 2 días; si es un domingo, suma 1 día. Luego, esta fecha ajustada es la que usarías en tu rango de festivos para las funciones de verificación y conteo.
¿Necesito actualizar la lista de días festivos cada año?
Si utilizas las fórmulas dinámicas con una celda de referencia para el año (como C1 en nuestros ejemplos), solo necesitas cambiar el año en esa celda, y toda la lista de festivos se actualizará automáticamente. Esto hace que tu hoja de cálculo sea muy robusta y fácil de mantener año tras año.
¿Estas fórmulas consideran festivos religiosos móviles como la Semana Santa?
No directamente. Las fórmulas presentadas son para festivos con reglas de cálculo fijas o basadas en el calendario gregoriano. Para festivos religiosos móviles (como la Semana Santa, que depende del ciclo lunar), necesitarías fórmulas más complejas que calculen la fecha de Pascua (basada en el algoritmo de Gauss, por ejemplo) y a partir de ahí derivar otras fechas. Una vez que tengas esas fechas calculadas, puedes añadirlas a tu rango de días festivos para que las funciones CONTAR.SI, SUMAPRODUCTO y DIAS.LAB.INTL las tengan en cuenta.
¿Cómo puedo resaltar los días festivos en mi calendario de Excel?
Puedes usar el Formato Condicional. Selecciona el rango de fechas de tu calendario, ve a "Formato Condicional" > "Nueva Regla" > "Utilice una fórmula que determine las celdas para aplicar formato". La fórmula sería similar a la de verificación de festivos, por ejemplo: =CONTAR.SI($C$2:$C$11,A1), donde $C$2:$C$11 es tu lista de festivos y A1 es la primera celda de tu calendario (sin referencias absolutas en la fila para que se aplique a todo el rango seleccionado). Luego, elige el formato de color deseado.
Si quieres conocer otros artículos parecidos a Días Festivos en Excel: Cálculo y Gestión Eficiente puedes visitar la categoría Cálculos.
