Un calendario perpetuo es una hoja de Excel que muestra los doce meses del año y que, al cambiar el año en una sola celda, se vuelve a colocar sola: los días caen en su columna correcta y los bisiestos se resuelven sin tocar fórmulas. Te sirve para una hoja de turnos, un planning de cobros mensuales o una agenda donde cada mes vive en su pestaña. Al terminar el tutorial lo verás funcionando con el año 2026 y sabrás cambiarlo a 2027, 2030 o al que necesites, en Microsoft 365, Excel 2024 y Excel 2021 (también en Excel 2019 y 2016, porque las funciones que usamos existen desde hace tiempo).
Qué es un calendario perpetuo y para qué te sirve en Excel
Un calendario perpetuo es una hoja que, en vez de estar hecha a mano para un año concreto, se construye con fórmulas que dependen de UNA sola celda: la del año. Cambias esa celda y los doce meses se recolocan solos, con sus días en la columna correcta, con febrero de 28 o 29 días según el año y con los fines de semana bien alineados. No tienes que rehacer la hoja cada enero.
El caso típico es una agenda de tareas: cada día tiene un bloque donde apuntar lo que toca, y al llegar el nuevo año solo cambias el número. También vale para turnos de trabajo (la rotación del personal), para cobros mensuales (el día 1 de cada mes, el día 15, el último día) o para un registro escolar donde cada profesor anota la sesión de su asignatura. La ventaja frente a imprimir un calendario o a copiar el de internet es que el tuyo vive dentro del mismo libro donde están los datos: las fechas y las cifras se cruzan con BUSCARX, SUMAR.SI.CONJUNTO o un formato condicional, sin tener que pasar nada a mano.
Las piezas de Excel que vas a usar para construirlo
Las funciones que sostienen el calendario son cinco: FECHA (DATE), DIASEM (WEEKDAY), FIN.MES (EOMONTH), SI (IF) y DIAS.LAB (NETWORKDAYS). Encajan así: FECHA construye el día 1 de cada mes con el año que tú escribes; DIASEM te dice en qué columna de la semana cae ese día 1; FIN.MES te da el último día del mes, para saber cuántos días pintar; SI se usa para dejar en blanco las celdas que quedan fuera del mes (por ejemplo, el 31 de un mes de 30 días); y DIAS.LAB, si lo necesitas, cuenta los días laborables de cada mes ignorando los fines de semana.
El formato condicional no es una función, pero actúa como una sexta pieza: con una regla basada en =DIASEM(celda;2)>5 pinta los sábados y domingos de gris sin que tengas que tocarlos uno a uno. Todo esto funciona en Excel 2007 en adelante, así que da igual que tengas 2021, 2019 o 2016; la única función que cambia entre versiones es BUSCARX (que usaremos al final), y esa sí está solo desde Excel 2021 y Microsoft 365.
FECHA: el primer día del mes que cambia con el año
FECHA (DATE) recibe tres números: año, mes y día. Con =FECHA(2026;1;1) Excel devuelve 01/01/2026. La gracia es que si el año está en una celda y el mes en otra, la fórmula se recalcula sola al cambiar cualquiera de los dos. En este calendario el día siempre es 1, porque lo que nos interesa es el primer día de cada mes; los demás días se obtienen sumando.
DIASEM: el número del día de la semana para alinear las filas
DIASEM (WEEKDAY) devuelve un número del 1 al 7 según el día de la semana de una fecha. Aquí usamos el argumento tipo 2, que asigna lunes=1 y domingo=7, porque así el 1 siempre cae en la columna del lunes y el 7 en la del domingo. Si usas el tipo 1 (domingo=1) o el tipo 3 (lunes=0), la cuadrícula sale desplazada.
FIN.MES y la regla para saber dónde acaba el mes
FIN.MES (EOMONTH) recibe una fecha y un número de meses a sumar; con 0 te da el último día del mes de esa fecha. =FIN.MES(FECHA(2026;2;1);0) devuelve 28/02/2026 en un año normal y 29/02/2026 en uno bisiesto. Con eso sabemos si el mes tiene 28, 29, 30 o 31 días y cuántas celdas pintar.
SI y formato condicional: la cuadrícula que cambia de tamaño sola
SI (IF) decide si una celda muestra un día o se queda vacía. Combinada con FECHA y FIN.MES resuelve el problema del 31 de un mes de 30 días: si la fecha calculada se pasa del último día del mes, la celda queda en blanco en vez de mostrar 31 de un mes que no existe. El formato condicional, por otro lado, pinta las celdas según una regla (color de fondo, color de texto) sin tocar la fórmula.
Montar la cuadrícula de un mes sobre la hoja
La idea es sencilla: una hoja con doce columnas (una por mes) y seis filas por mes, y en una esquina la celda del año que controla todo. Vamos a usar el libro Agenda 2026, con una hoja llamada Calendario donde escribiremos los meses en horizontal.
Escribir el año que controla todo el calendario
Empezamos reservando la zona de control en la columna M, a la derecha del calendario.
- Selecciona la celda M1 y escribe
2026. - Selecciona M2 y escribe
1. - Con M2 seleccionada, pon el cursor sobre el controlador de relleno (la esquina inferior derecha de la celda) y arrastra hasta M13 para que aparezcan los números del 1 al 12, uno por mes.
| A | B | C | D | E | F | G | H | I | J | K | L | M | N | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | A | B | C | D | E | F | G | H | I | J | K | L | M | |
| 2 | 2 | 1 | ||||||||||||
| 3 | 3 | 2 |
El primer día de cada mes con FECHA
Ahora colocamos el día 1 de cada mes en la fila 3, usando la celda del año (M1) y el número de mes (M2 a M13).
- Selecciona B3 y escribe la fórmula.
- Arrastra el controlador de relleno hasta M3.
=FECHA($M$1;M2;1)
| A | B | C | D | E | F | G | H | I | J | K | L | M | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2026 | ||||||||||||
| 2 | 1 | ||||||||||||
| 3 | 01/01/2026 | 01/02/2026 | 01/03/2026 | 01/04/2026 | 01/05/2026 | 01/06/2026 | 01/07/2026 | 01/08/2026 | 01/09/2026 | 01/10/2026 | 01/11/2026 | 01/12/2026 |
#####, ensancha la columna B hasta que se vean.Calcular los 31 días de cada mes en una columna auxiliar
Para colocar cada día en su columna de la semana necesitamos los 31 días del mes, pero solo los que existan. Usamos la columna A como auxiliar y la fórmula que se queda en blanco cuando el día se pasa del mes.
- En A5 escribe
1, en A6 escribe2, y así hasta A35 con31. - Selecciona B5 y escribe la fórmula.
- Arrastra el controlador de relleno hasta M5 (un mes) y luego hasta la fila 35 (todos los días).
=SI(FECHA($M$1;M$2;$A5)=FIN.MES(FECHA($M$1;M$2;1);0);$A5;"")
| A | B | C | D | E | F | G | H | I | J | K | L | M | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 5 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 6 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
| 7 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
| 8 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
| 9 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 |
| 10 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 |
| 11 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 | 30 |
| 12 | 31 | 31 | 31 | 31 | 31 | 31 |
=SI(FECHA($M$1,M$2,$A5)=FIN.MES(FECHA($M$1,M$2,1),0),$A5,"").Alinear los días en sus columnas con DIASEM
Ahora sí: cada día va a su columna de la semana. La cuadrícula del mes ocupa seis filas (la 5 a la 10, por ejemplo), con siete columnas: lunes, martes, miércoles, jueves, viernes, sábado y domingo. Para colocar el 1 en su columna usamos DIASEM con tipo 2.
- En B5 sustituye la fórmula anterior por esta.
- Arrastra hacia la derecha hasta H5 (siete columnas, lunes a domingo).
- Arrastra hacia abajo hasta H10 (seis filas).
=SI(FECHA($M$1;M$2;$A5)="";"";SI(DIASEM(FECHA($M$1;M$2;$A5);2)=COLUMNA()-1;$A5;""))
| A | B | L | M | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|---|---|
| 5 | 1 | 1 | ||||||||
| 6 | 2 | 2 | ||||||||
| 7 | 3 | 3 | ||||||||
| 8 | 4 | 4 | ||||||||
| 9 | 5 | 5 | ||||||||
| 10 | 6 | 6 |
Crear las hojas de cada mes a partir del año y el mes de inicio
Si prefieres una hoja por mes (enero, febrero…), en vez de doce columnas en horizontal, también se puede. La plantilla clásica de Vertex42 funciona así: una hoja resumen con el año, el mes de inicio y el título, y doce hojas (una por mes) que se generan copiando una plantilla y renombrándola. Aquí lo hacemos en el mismo libro Agenda 2026.
La celda que decide el año y el mes de inicio
En una hoja nueva llamada Config:
- En Y2 escribe
2026(el año). - En Y3 escribe
1(el mes de inicio: 1 = enero, 4 = abril, etc.).
El título del calendario que se actualiza en todas las hojas
En Y4 escribe Agenda 2026. En la celda A1 de cada hoja mensual, escribe la fórmula que trae el título desde Config:
=Config!$Y$4
| A | |
|---|---|
| 1 | Agenda 2026 |
Nombrar las hojas como los meses que tocan
- Clic derecho sobre la pestaña de la primera hoja mensual > Cambiar nombre.
- Escribe
Eneroy pulsa Entrar. - Repite con las demás hojas:
Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Septiembre,Octubre,Noviembre,Diciembre.
Pintar fines de semana y festivos con formato condicional
Ahora la parte visual: que los sábados y domingos se vean diferentes sin tener que marcarlos uno a uno, y que un festivo se destaque al escribirlo en una celda.
Seleccionar todo el mes y abrir Formato condicional
- Selecciona el rango de la cuadrícula del mes (por ejemplo, B5:H10 en la hoja Enero).
- Abre la ruta para crear una regla nueva basada en fórmula.
- Elige Usar una fórmula que determine las celdas para aplicar formato.
Formato de valores donde esta formula sea verdadera:
La regla que pinta los sábados y domingos
En el campo de fórmula del cuadro de diálogo:
=DIASEM($A5;2)>5
Pulsa Formato…, elige un relleno gris claro y acepta. Aplica la regla al rango seleccionado.
Pintar un día concreto cambiando solo el valor de la celda
Para destacar un festivo al escribirlo:
- Selecciona la celda L1 de la hoja Enero y escribe
06/01/2026(el día de Reyes). - Selecciona otra vez el rango del mes (B5:H10) y crea una regla nueva.
- En Usar una fórmula que determine las celdas para aplicar formato, escribe:
=Y($A5=$L$1)
- Pulsa Formato…, elige relleno naranja y acepta.
01/05/2026 y la nueva fecha se pinta sola.$L$1) para que al comparar con cada celda del rango el festivo siga siendo el mismo.Cuando el calendario falla: errores reales y cómo arreglarlos
Tres fallos que pasan mucho y se arreglan en menos de un minuto.
La fórmula devuelve #¡NUM! al cambiar el año
Si al escribir 2027 en M1 la fila 3 muestra #¡NUM!, el problema es que la celda M1 contiene texto en vez de un número (lo ves alineado a la izquierda, en verde si tienes la corrección automática activada).
- Selecciona M1.
- Pulsa Ctrl+1, abre Formato de celdas.
- En la pestaña Número, elige Número y acepta.
- Escribe el año otra vez (2027) y pulsa Entrar.
Los meses aparecen desplazados, no empiezan en lunes
Si el 1 de enero de 2026 cae en la columna del martes en vez del miércoles (que es lo correcto para 2026), o si las cabeceras L M X J V S D están desplazadas, el problema es el tipo de DIASEM.
- Localiza todas las fórmulas que usen
DIASEMen la hoja. - Cambia el segundo argumento de
1a2.
=DIASEM(FECHA($M$1;M$2;$A5);2)
El 29 de febrero aparece en años que no son bisiestos
Si cambias M1 a 2027 y la columna de febrero sigue mostrando el día 29, la fórmula auxiliar no está comprobando el límite del mes.
- Sustituye la fórmula de la columna auxiliar por la versión con FIN.MES:
=SI(FECHA($M$1;M$2;$A5)=FIN.MES(FECHA($M$1;M$2;1);0);$A5;"")
Cuando conviene una plantilla en vez de un calendario a mano
Si lo que necesitas es UN calendario para UN año concreto (la agenda del colegio de este curso, el planning de la boda, el calendario de adviento), las plantillas de Microsoft y de CalendarLabs ya resuelven: las descargas, escribes el año en una celda y listo. Construirlo a mano solo merece la pena cuando el calendario va a cambiar de año dentro del mismo libro, cuando necesitas que las fechas se crucen con datos (un BUSCARX que traiga el evento del día) o cuando quieres pintarlo a tu manera celda a celda. También tiene sentido si tus meses no empiezan en enero: una agenda escolar que arranca en septiembre se beneficia de la celda del mes de inicio (Y3) que vimos antes.
Lo que ya sabes hacer y el siguiente paso
- FECHA construye cualquier fecha a partir del año, el mes y el día que tú escribes.
- DIASEM con tipo 2 (lunes=1) alinea los días en las columnas correctas.
- FIN.MES te dice cuántos días tiene el mes, incluidos los bisiestos.
- SI combinado con FIN.MES deja en blanco las celdas que sobran.
- El formato condicional con fórmula pinta sábados, domingos y festivos sin tocar las celdas.
- Cambiar el año en M1 recoloca los doce meses y respeta los bisiestos.
El siguiente paso es crear una hoja Eventos con una columna de fechas y otra de texto, y usar BUSCARX (en Microsoft 365, Excel 2024 o Excel 2021; en versiones anteriores, INDICE y COINCIDIR) para que el calendario traiga el evento del día al hacer clic en su celda.
Dudas al montar un calendario perpetuo en Excel
1. ¿Cómo descargar una plantilla de calendario perpetuo en Excel?
En Excel ve a Archivo > Nuevo, escribe "calendario perpetuo" en el buscador de plantillas y elige una de las oficiales; si prefieres una externa, descarga solo de sitios fiables y comprueba que el archivo sea .xlsx o .xltx para evitar macros no deseadas. Una vez descargado, ábrelo y personaliza los festivos en una columna auxiliar.
2. ¿Dónde consigo un calendario 2026 editable en Excel gratis?
Microsoft ofrece plantillas gratuitas en Archivo > Nuevo con solo buscar "calendario 2026" en español; aparecerán opciones mensuales, semanales y anuales listas para editar. También puedes crear el tuyo en blanco siguiendo los pasos del tutorial: una hoja con los meses y la fórmula que ajusta el día de la semana a cada fecha.
3. ¿Cómo se hace un calendario del 2026 en Excel?
Escribe en una celda la fecha 1/1/2026, aplica formato de fecha larga y usa la función DIA.LAB para arrastrar los 365 días del año con el controlador de relleno. Luego, en otra columna, calcula el nombre del mes con TEXTO("…";"mmmm") y el día de la semana con TEXTO(…;"dddd") para tener todo ordenado.
4. ¿Puedo hacer un calendario 2026 en horizontal en Excel?
Sí, el truco es escribir los meses en una fila superior (de B1 a M1) y los días del 1 al 31 en la columna A; después, en cada celda del rango colocas la fecha con =FECHA(AÑO;COLUMNA();FILA()-1) y le das formato de día. Así el calendario se lee de izquierda a derecha, ideal para imprimir en A4 horizontal.
5. ¿Cómo hago un calendario mensual de 2026 gratis en Excel?
Crea una hoja por mes y, en la celda A1, escribe la fecha del primer día; al usar formato "mmmm 2026" obtienes el título automáticamente. Con la función DIA.LAB y los botones de tamaño de fuente desde Inicio > Fuente, en menos de cinco minutos tienes los doce meses listos para imprimir o compartir.
6. ¿Cómo hago que el calendario de 2026 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 y, si quieres, nombrarlo como inicio en la propia hoja con una celda que diga "lunes a domingo". Así las funciones DIASEM y DIA.LAB devolverán el 1 en lunes en lugar de domingo.
7. ¿Cómo añadir los festivos al calendario 2026 en Excel?
Crea una hoja "Festivos" con las fechas oficiales en una columna y su nombre en otra; después, usa la función CONTAR.SI(rango_festivos;fecha_del_día)>0 junto a un formato condicional que pinte de rojo las celdas que coincidan. Así verás en un vistazo qué días son festivos sin revisarlos uno a uno.