Si cada enero tienes que rehacer la hoja de turnos, cumpleaños o vencimientos, este tutorial te enseña a construir un calendario dinámico en Excel: introduces el año y el mes en dos celdas, y la cuadrícula del mes se dibuja sola, con sus días, sus huecos al principio y el día de hoy resaltado. Al terminar tendrás una hoja lista para copiar todos los años y para añadir notas, turnos o recordatorios al lado de cada día. Funciona en Excel 2021, 2024 y Microsoft 365, y también en Excel 2019 y 2016 (ahorra una función con resultados equivalentes, que se señala donde toca).
Qué es un calendario dinámico y por qué te ahorra trabajo cada año
Un calendario dinámico es una hoja de Excel que muestra los días de un mes sin que tengas que escribirlos uno a uno. En lugar de teclear 1, 2, 3… hasta 31, introduces el año en una celda y el número del mes en otra; el resto (el nombre del mes en letras, los huecos antes del día 1, la cantidad exacta de días y el día de la semana en que cae cada día) lo calculan unas fórmulas. Cambias el mes en la celda y la cuadrícula se redibuja al instante.
Imagina la hoja de turnos de un pequeño negocio: cada enero cogías el ratón y escribías los 31 días del mes a mano, ajustabas los huecos para que el día 1 cayera en su columna, corregías los meses de 28 o 30 días… y al cambiar de año, vuelta a empezar. Con un calendario dinámico basta con cambiar dos celdas para tener el mes que necesitas, con sus festivos en rojo, el día de hoy pintado y una columna al lado para apuntar la nota del turno. Lo que hoy es una plantilla de turnos puede servir mañana para un registro de cumpleaños del equipo, un calendario de vencimientos de facturas o un planning mensual de tareas: la estructura es la misma.
La idea clave es que la fecha la construye Excel a partir de números con la función FECHA, y todos los demás datos (último día del mes, día de la semana, número total de días) se sacan de ahí. Una sola fórmula recorre después las seis filas y siete columnas del mes y va rellenando los días. Ese es el ahorro real: lo escribes una vez y lo reusas todos los años.
Las funciones que mueven el calendario: FIN.MES, DIASEM y FECHA
Tres funciones llevan el peso del calendario: FECHA arma una fecha a partir de año, mes y día; FIN.MES te dice cuál es el último día real de un mes (que en febrero son 28 o 29 y no siempre 30); y DIASEM convierte una fecha en un número del 1 al 7 según el día de la semana. El resto del calendario son aritmética y formato.
El calendario vive en dos celdas controladoras: el año en A1 y el mes en B1. A partir de ahí, =FECHA(A1;B1;1) te da siempre el día 1 de ese mes, aunque le pidas mes 13 (te lo trunca a enero del año siguiente, como hace Excel con cualquier fecha fuera de rango). Para sacar el último día del mes, en lugar de recordar que febrero tiene 28 o 30, le preguntas a Excel con =FIN.MES(FECHA(A1;B1;1);0), y te devuelve el 28, el 30 o el 31 que toque. Y para colocar el día 1 en su columna correcta necesitas saber en qué día de la semana cae, que es lo que hace =DIASEM(fecha;tipo).
FECHA: el punto de partida del calendario
=FECHA(año;mes;día)
=FECHA(A1;B1;1) te devuelve el día 1 del mes B1 del año A1. Como Excel guarda las fechas como números seriales (1 es 1 de enero de 1900), puedes restar fechas para saber cuántos días hay entre ellas y puedes sumarles días para moverte por el calendario. Casi todo lo demás se apoya en esta función: si el mes o el año cambian, todo lo calculado a partir de FECHA se actualiza solo.
FIN.MES: el último día del mes en una fórmula
=FIN.MES(fecha_inicio;meses)
=FIN.MES(FECHA(A1;B1;1);0) te da el último día real del mes en curso: 31/1/2026 si B1 vale 1, 28/2/2026 si vale 2, etc. El segundo argumento es el número de meses a desplazar; con 0 te quedas en el mes de la fecha de inicio. Si pones meses positivos avanzas (FIN.MES con 1 da el último día del mes siguiente), con negativos retrocedes. Útil cuando quieres saber si febrero tiene 29 días: =FIN.MES(FECHA(A1;2;1);0)=29.
DIASEM: en qué día de la semana cae el 1
=DIASEM(fecha;tipo)
=DIASEM(FECHA(A1;B1;1);2) devuelve 1 si el 1 cae en lunes, 2 en martes… 7 en domingo. Con tipo 1, en cambio, el domingo vale 1 y el lunes vale 2. Depende de cómo ordenes las columnas: si tu semana empieza en lunes, usa tipo 2; si empieza en domingo, tipo 1. Es lo que te permite colocar el 1 en la columna correcta y dejar huecos en blanco los días anteriores.
La hoja del calendario: títulos, días de la semana y la cuadrícula
Vamos a montar la hoja paso a paso. Crea un libro nuevo y guarda la primera pestaña con el nombre Calendario. Encima de la cuadrícula, en la fila 1, pondremos los controles: el año en A1, el número del mes en B1 y el nombre del mes en letras en C1. Debajo, la fila 3 llevará los siete días de la semana como referencia fija, y a partir de la fila 5 empezará la cuadrícula de 6 filas por 7 columnas donde aparecerán los días del mes.
| A | B | C | |
|---|---|---|---|
| 1 | Año | Mes | Mes en letras |
| 2 | 2026 | 2 |
Pasos para crear la estructura:
- Escribe
2026en A1 y2en B1. Estos dos valores controlan todo el calendario; el resto se calcula. - En C1 escribimos más tarde la fórmula del nombre del mes.
- En la fila 3, escribe los días de la semana empezando por el que uses como primer día. Si tu semana empieza en lunes:
Lun,Mar,Mié,Jue,Vie,Sáb,Dom. - Deja la fila 4 vacía a propósito: separa la cabecera de la cuadrícula y queda más limpio.
- Selecciona A1 para ver arriba a la izquierda el Cuadro de nombres con esa referencia.
Cabecera con el mes en letras que cambia al cambiar la mes
| A | B | C | |
|---|---|---|---|
| 1 | 2026 | 2 | febrero |
=TEXTO(FECHA(A1;B1;1);"mmmm") convierte el 1 de ese mes en su nombre completo en el idioma de tu Excel. Si prefieres abreviado, cambia "mmmm" por "mmm"; si lo quieres en mayúsculas, añade MAYUSC() alrededor. Cambia B1 entre 1 y 12 y verás cómo C1 pasa de "enero" a "diciembre" sin tocar nada más.
Los siete días de la semana como referencia fija
La fila 3 es fija: la escribes una vez y se queda ahí para siempre, porque los días de la semana no cambian de nombre. Lo que sí cambia cada mes es la posición del 1 dentro de esa fila, y eso lo gestiona la fórmula de la cuadrícula.
Copia manualmente estos encabezados en A3:G3 (si empiezas la semana en lunes): Lun, Mar, Mié, Jue, Vie, Sáb, Dom. Aplica negrita desde Inicio > Fuente > Negrita o con Ctrl+N, y centra el texto. Esta fila actúa como el «esqueleto» al que se ajusta la cuadrícula: las celdas vacías debajo de ella, al principio del mes, son las que crearán los huecos visuales antes del día 1.
Construir los días del mes con una sola fórmula
La cuadrícula del calendario empieza en A5 y ocupa seis filas (la 5 a la 10) y siete columnas (A a G), 42 celdas en total. Ahí dentro tienen que aparecer los días del mes colocados en su columna según el día de la semana, empezando por el día 1. La fórmula de A5 hace todo eso: genera una matriz con los días del 1 al 31, calcula el día de la semana del 1, descuenta los huecos y rellena hasta el último día real del mes.
Huecos en blanco antes del día 1
=LET(d;DIASEM(FECHA(A1;B1;1);2);SI(COLUMNA()-1<d;"";COLUMNA()-1-d+1+FILA(A1)*7-7-(COLUMNA()-1-d+1+FILA(A1)*7-7>DIAS(FECHA(A1;B1;1);FIN.MES(FECHA(A1;B1;1);0))+1-1)*DIAS(FECHA(A1;B1;1);FIN.MES(FECHA(A1;B1;1);0))+1)))
Esta fórmula larga hace lo siguiente: calcula el día de la semana del 1 con DIASEM, deja vacío ("") las celdas anteriores a esa columna, y rellena el resto con los días del mes hasta el último real con FIN.MES. Para la versión en Excel 2021/365, más corta, usa SECUENCIA:
=LET(d;DIASEM(FECHA(A1;B1;1);2);n;DIAS(FECHA(A1;B1;1);FIN.MES(FECHA(A1;B1;1);0))+1;SI(COLUMNA()-1+(FILA(A1)-1)*7<d;"";SI(COLUMNA()-1+(FILA(A1)-1)*7-d+1>n;"";COLUMNA()-1+(FILA(A1)-1)*7-d+1))))
Arrástrala desde A5 hasta G10 con el controlador de relleno y la cuadrícula del mes se rellena sola. Para febrero de 2026 queda así:
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 3 | Lun | Mar | Mié | Jue | Vie | Sáb | Dom |
| 4 | |||||||
| 5 | 1 | ||||||
| 6 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 7 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 8 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 9 | 23 | 24 | 25 | 26 | 27 | 28 | |
| 10 |
Los huecos que ves antes del día 1 (en la fila 5, todas las celdas anteriores al domingo) son los días de la semana previos al 1 de febrero de 2026, que cae en domingo. La fórmula deja esas celdas con "" para que no se vean, ni muestren un feo 0.
Resaltar los fines de vacaciones o el día de hoy
Para los días del fin de semana en gris y el día de hoy destacado:
Selecciona el rango A5:G10 y crea dos reglas:
- Sábados y domingos en gris claro: usa la fórmula =Y(A5<>"";DIASEM(A5;2)>5) y aplica un relleno gris claro.
- Día de hoy destacado: usa la fórmula =A5=HOY() con relleno amarillo y negrita.
Solo los días del mes que caben
La matriz usa FIN.MES para calcular el último día real del mes, así que los días 29, 30 y 31 que no existan quedan como "" automáticamente y la fórmula nunca escribe 31 de noviembre. La cuadrícula está limitada a seis filas (42 celdas), suficientes para cualquier mes: el mes más largo tiene 31 días y necesita 31 huecos más el desplazamiento del día de la semana, que siempre cabe en seis filas.
Añadir una columna de notas al lado
| G | H | |
|---|---|---|
| 3 | Dom | Nota |
| 4 | ||
| 5 | 1 | Turno Ana |
| 6 | 8 | Inventario |
Pasos:
- Escribe
Notaen H3 (negrita, igual que la cabecera de días). - Selecciona H5:H10 para las notas del mes.
- Aplica formato de texto plano desde Inicio > Fuente y, si quieres, pon un borde fino.
- Si quieres validar que las notas no sean demasiado largas, aplica Datos > Herramientas de datos > Validación de datos con Permitir: Longitud de texto y máximo 50 caracteres.
Cambiar de mes y de año con un desplegable
Que el mes y el año se controlen desde una lista desplegable evita escribir números a mano y, sobre todo, impide valores fuera de rango como mes 0 o mes 15. En B1 pondremos una lista con los doce meses del año, y en A1 limitaremos el año a un rango razonable.
Pasos para el desplegable del mes:
- Selecciona B1.
- Abre Datos > Herramientas de datos > Validación de datos.
- En Permitir elige Lista y en Origen escribe
1;2;3;4;5;6;7;8;9;10;11;12(o apúntalo a un rango con esos valores en otra columna). - Marca la casilla Celda con lista desplegable y acepta.
Al cambiar B1 verás cómo C1 (el nombre del mes) y la cuadrícula se actualizan.
Validación del año entre 1900 y 2100
Repite los pasos de validación en A1, pero eligiendo Permitir: Número entero, Datos: entre, Mínimo 1900 y Máximo 2100. Así evitas que alguien escriba "20255" y la hoja intente calcular fechas absurdas. Si escribes un valor fuera de rango, Excel muestra el aviso y no deja avanzar hasta corregirlo.
Volver a usar el calendario el año que viene sin rehacer nada
Una de las ventajas reales del calendario dinámico es que sirve para siempre: cambias A1 a 2027 (o a 2028), pulsas Entrar y todo se reorganiza. Los días de la semana de cada mes se ajustan solos, los huecos antes del día 1 cambian según el día de la semana en que caiga, y los meses de 28 o 29 días en febrero se calculan solos.
Pasos para comprobarlo:
- Cambia A1 de 2026 a 2027. La columna C1 sigue mostrando el mes actual (porque solo cambiaste el año), pero la cuadrícula recoloca los días: el 1 de febrero de 2027 cae en lunes, así que la fila 5 debería empezar con 1 en A5, no en G5.
- Cambia B1 entre 1 y 12 y comprueba que cada mes muestra los días correctos del año 2027.
- Vuelve a poner A1=2026 y B1=2 cuando termines de revisar.
Si quieres automatizar el cambio de año, puedes poner en A1 la fórmula =AÑO(HOY()) y el calendario se actualiza al llegar el 1 de enero, sin tocar nada. Para usos como turnos o cumpleaños, añade una segunda hoja por mes con una estructura similar, o una hoja por año con las doce cuadrículas apiladas, usando en cada una la misma fórmula pero referenciando el mes que toque.
Por qué el calendario muestra 0 o un día de otro mes
Tres fallos típicos aparecen al montar el calendario dinámico, todos con la misma raíz: no se ha protegido bien la fórmula contra valores fuera de rango. Lo normal es descubrirlos al cambiar de mes o de año.
Aparece 31 de septiembre al cambiar el mes
Si la fórmula usa algo como =FECHA(A1;B1;31) sin protección, al cambiar B1 a 4 (abril, que tiene 30 días) la celda mostrará el 1 de mayo en lugar del 31 de abril, porque Excel no tiene el 31 de abril y avanza al mes siguiente. La solución es envolver el día en MIN con FIN.MES:
=MIN(FECHA(A1;B1;31);FIN.MES(FECHA(A1;B1;1);0))
Con esto, sea cual sea el día que escribas, Excel lo limita al último día real del mes.
El día de la semana sale desfajado
Si el 1 cae en columna equivocada, casi siempre es por el tipo de DIASEM. Con tipo 1, el domingo vale 1 y el lunes vale 2; con tipo 2, el lunes vale 1 y el domingo vale 7. Si tu fila 3 empieza en lunes (Lun, Mar, Mié…) pero la fórmula usa DIASEM con tipo 1, el 1 de un día que cae en lunes se colocará en la columna del martes. Cambia a tipo 2 para que cuadre.
El formato condicional marca también las celdas vacías
Cuando el formato condicional pinta las celdas vacías ("") del inicio o del final del mes, el motivo es que la condición no incluye la verificación de celda con número. Ajusta la regla a =Y(A5<>"";DIASEM(A5;2)>5) para que solo aplique a las celdas con un día real.
Lo que ya sabes hacer con un calendario dinámico en Excel
- Cambiar el mes y el año desde dos celdas y dejar que la cuadrícula se rehaga sola con FECHA y FIN.MES.
- Calcular en qué día de la semana cae el día 1 con DIASEM y dejar huecos en blanco antes con "".
- Limitar el calendario al último día real del mes con FIN.MES, sin tener que recordar los 28, 29, 30 y 31.
- Aplicar formato condicional para resaltar fines de semana y el día de hoy con =HOY().
- Arrastrar una sola fórmula por toda la cuadrícula con el controlador de relleno, ahorrando teclear 42 celdas.
El siguiente paso es convertir esta hoja en una plantilla mensual: añade una columna de notas con validación de datos, una hoja por cada mes del año, o una hoja por año con las doce cuadrículas apiladas y un selector arriba.
Dudas al montar un calendario dinámico en Excel
1. ¿Cómo crear un calendario 2026 editable en Excel gratis?
Abre un libro nuevo, escribe el primer día de cada mes en una columna y usa la función DIASEM para obtener el día de la semana. Con SECUENCIA (Microsoft 365 y 2021) puedes generar los 31 días de un mes con una sola fórmula. Después aplicas formato de número personalizado «ddd d» para ver «lun 1» en cada celda.
2. ¿Cómo hacer un calendario 2026 en horizontal en Excel?
Coloca los doce meses en una misma hoja, cada mes ocupando un bloque de 7 filas (una por día de la semana) y 5 o 6 columnas para las semanas. Así tienes el año completo visible a la vez en pantalla, ideal para imprimir en apaisado. Solo necesitas cambiar el mes en una celda y el resto se recalcula.
3. ¿Cómo descargar un calendario dinámico en Excel gratis?
En la propia web de Microsoft hay plantillas gratuitas de calendario listas para abrir y editar. Si prefieres uno personalizado, construye el tuyo con la fórmula SECUENCIA y formatos condicionales para resaltar fines de semana: el archivo .xlsx que guardes lo puedes reutilizar cada año cambiando solo la celda del año.
4. ¿Cómo añadir los festivos al calendario 2026 en Excel?
Crea una lista auxiliar con la fecha y el nombre de cada festivo, y aplícale formato condicional con la opción «Duplicar valores» sobre el rango del calendario. Cada vez que actualices el año en la celda principal, los festivos del nuevo año se resaltarán automáticamente. Si trabajas con varios países, usa una lista por país en hojas separadas.
5. ¿Cómo hacer un calendario 2026 en vertical en Excel?
Reserva una columna por día de la semana y una fila por semana del mes, dejando la primera columna para el número de semana. Es la disposición más cómoda para imprimir en A4 vertical y para añadir notas o tareas al lado de cada día. Con DIASEM y FIN.MES generas las fechas a partir de una sola celda con el mes.
6. ¿Dónde consigo una plantilla de calendario mensual 2026 gratis para Excel?
En la galería de plantillas de Microsoft (templates.office.com) hay decenas de mensuales, semanales y anuales listas para descargar. Guárdala como .xlsx y, si quieres que cambie de mes solo, sustituye las fechas fijas por fórmulas que dependan de una celda con el mes y el año. Así la misma plantilla te sirve enero, febrero y cualquier otro mes.
7. ¿Cómo configurar el calendario para que la semana empiece en lunes?
En Archivo > Opciones > Idioma o en Configuración regional del sistema puedes cambiar el primer día de la semana a lunes, lo que afecta a los formatos «dddd» y a los encabezados de tabla. Si prefieres no tocar la configuración, usa la función DIASEM con el tipo 2, que devuelve 1 para lunes, 2 para martes y así hasta 7 para domingo. Con ese número decides tú el orden de las columnas sin depender del sistema.
8. ¿Qué plantillas de calendario gratis hay en Excel?
Microsoft ofrece en su web oficial plantillas de calendario anual, mensual, académico y de turnos totalmente gratuitas en formato .xlsx. También hay calendarios perpetuos que calculan los días de cualquier año a partir de una celda, ideales si vas a reutilizar el archivo año tras año. Para personalizarlos solo tienes que cambiar colores, festivos y formato de fecha desde Inicio > Formato de celdas.
Fuentes
- MicrosoftDESREF — documentación oficialconsultado el 12/10/2026
- MicrosoftIMPORTARDATOSDINAMICOS — documentación oficialconsultado el 12/10/2026
- MicrosoftLLAMAR — documentación oficialconsultado el 12/10/2026
- MicrosoftID.REGISTRO — documentación oficialconsultado el 12/10/2026