Hojas de cálculo

Cómo hacer un calendario perpetuo para imprimir en Excel

noviembre 2, 2026 Tuto Excel 14 min read
Cómo hacer un calendario perpetuo para imprimir en Excel

Un calendario perpetuo sirve para cualquier año: solo cambia un número y los días se recolocan solos. En este tutorial lo vas a montar en una sola hoja de Excel, con fórmulas que calculan el día de la semana de cada fecha, y lo dejarás listo para imprimir los doce meses en un A4 vertical. Necesitas Excel 2007 o posterior (las funciones usadas —DIASEM, FIN.MES, DESREF, FECHA— están en todas las versiones de escritorio, en Excel para la web y en Excel para Mac).

Qué es un calendario perpetuo y por qué hacerlo en Excel

Un calendario perpetuo es un calendario que sirve para cualquier año sin tener que rehacerlo. El truco está en que los días no están escritos a mano: cada celda los calcula a partir del año que tú escribes en una sola celda. Cambias 2026 por 2027 y todo el año se recoloca solo.

En Excel esto se resuelve con una hoja que tiene los doce meses en una sola página, pensada para imprimir en A4 vertical. Tú pones el año en una celda, el número de mes (del 1 al 12) en otra, y una fórmula coloca el día 1 en la columna del lunes, del martes o del domingo según corresponda. Es el mismo razonamiento que usan los calendarios perpetuos de pared: una maqueta fija y un mecanismo que la mueve.

El libro que vas a montar se llama Calendario. Tendrá una sola hoja, también llamada Calendario, con un bloque para un mes que se repite doce veces hacia abajo. La celda B1 guarda el año y la celda B2 guarda el mes. Como las fórmulas leen esas dos celdas, no tienes que tocar nada más para pasar de enero a diciembre: solo cambias el número de mes y, cuando quieras, el año.

Las piezas que necesita la hoja antes de tocar fórmulas

Antes de escribir fórmulas necesitas tres cosas en la hoja: el año, el mes y el nombre de los días de la semana. Con esas tres piezas, las fórmulas pueden calcular dónde va cada día.

La primera pieza es el año, en la celda B1. La segunda es el número de mes, en B2: 1 para enero, 2 para febrero, hasta 12 para diciembre. La tercera es la cabecera de la cuadrícula: una fila con las letras L M X J V S D (lunes a domingo), que es el orden que usa el calendario internacional (ISO 8601). Con esa cabecera, lunes es la columna 1 y domingo la 7.

Luego viene la fórmula que coloca cada número en su columna. Esa fórmula se apoya en dos funciones: DIASEM (WEEKDAY), que dice qué día de la semana es una fecha, y FIN.MES (EOMONTH), que devuelve el último día del mes. Con esas dos tienes todo lo necesario para dibujar cualquier mes sin escribir los días a mano.

La función DIASEM en español y sus dos tipos de cuenta

DIASEM (en inglés WEEKDAY) devuelve un número del 1 al 7 que representa el día de la semana de una fecha. Su sintaxis es =DIASEM(fecha;tipo), donde tipo decide qué día es el 1.

=DIASEM(FECHA(2026;1;1);2)

El segundo argumento, tipo, tiene estas posibilidades:

Tipo Domingo Lunes Martes Miércoles Jueves Viernes Sábado
1 7 1 2 3 4 5 6
2 6 7 1 2 3 4 5
3 5 6 7 1 2 3 4

Para un calendario con cabecera L M X J V S D, lo natural es el tipo 2: lunes devuelve 1, martes devuelve 2, y así hasta domingo, que devuelve 7. Con el tipo 1, en cambio, domingo devuelve 1 y la columna del lunes quedaría descolocada.

Nota: en Excel configurado con punto decimal (México, Estados Unidos), el separador de argumentos es la coma en vez del punto y coma.

La función FIN.MES para el último día de cada mes

FIN.MES (en inglés EOMONTH) devuelve el último día del mes de una fecha. Su sintaxis es =FIN.MES(fecha_inicio;meses). Si pones meses = 0, te quedas en el mismo mes; si pones meses = 1, saltas al mes siguiente; si pones meses = -1, vas al mes anterior.

=FIN.MES(FECHA(2026;2;1);0)

Con FECHA(2026;2;1) (1 de febrero de 2026) y meses = 0, devuelve 28, porque 2026 no es bisiesto. Para enero del mismo año, =FIN.MES(FECHA(2026;1;1);0) devuelve 31. Esa diferencia entre 28 y 31 es la que te permite cortar la cuadrícula del mes en su último día real sin escribir 29, 30 ni 31 a mano.

Consejo: FIN.MES pertenece a las funciones de fecha y hora que requieren el complemento "Herramientas para análisis" en Excel 2003; desde Excel 2007 viene ya activado por defecto.

Montar la cuadrícula de un mes con fórmulas

Ahora vas a montar la cuadrícula de un mes en la hoja Calendario. El bloque empieza en la fila 4 con la cabecera L M X J V S D, y los días van en las filas 5 a 10, seis filas en total para cubrir cualquier mes (incluso los que empiezan en sábado y necesitan seis semanas).

  1. En B1 escribe 2026 y en B2 escribe 1 (enero).
  2. En la fila 4, escribe L en A4, M en B4, X en C4, J en D4, V en E4, S en F4 y D en G4.
  3. Selecciona A5 y escribe la fórmula del día 1; al pulsar Entrar verás 1 en la columna del viernes (porque el 1 de enero de 2026 es jueves, y con tipo 2 la columna del jueves es la 4).
  4. Arrastra el controlador de relleno de A5 hasta G5 para cubrir la primera semana.
  5. Copia A5:G5 y pega en A6:G10 hasta tener el bloque completo.
A5fx=SI(FILA()-4<=$B$1*0+FECHA($B$1;$B$2;1);FILA()-3;"")
A B C D E F G
1 Año 2026
2 Mes 1
3
4 L M X J V S D
5 1 2 3 4
6 5 6 7 8 9 10 11
7 12 13 14 15 16 17 18
8 19 20 21 22 23 24 25
9 26 27 28 29 30 31
10
B1 año · B2: mes
Calendario
Comprueba: en la columna D de la fila 5 ves 1; en la fila 9 ves 26, 27, 28, 29, 30, 31 y luego las celdas vacías. Si no es así, revisa que B1 y B2 sean números, no texto.

La fórmula que coloca el día 1 en su columna

La fórmula que coloca el día 1 en su columna combina FECHA, DIASEM y un condicional. La idea es: calculo el día de la semana del día 1, y dependiendo de qué día sea, lo pongo en una columna u otra usando DESREF.

=DESREF(A5;0;DIASEM(FECHA($B$1;$B$2;1);2)-1)

El primer argumento es la celda de partida (A5). El segundo, 0, dice que no se mueva de fila. El tercero, DIASEM(FECHA($B$1;$B$2;1);2)-1, dice cuántas columnas se desplaza a la derecha: si el día 1 es lunes, DIASEM da 1 y el desplazamiento es 0 (columna A); si es jueves, DIASEM da 4 y el desplazamiento es 3 (columna D).

Para los días siguientes, la fórmula es más simple. En la fila 5, las celdas que no contienen el día 1 muestran vacío. En la fila 6, el primer día numérico es 5 (porque la primera semana tiene 4 días), y así hasta el último día del mes. La fórmula que escribe los días del mes, fila por fila, es esta:

=SI(FILA()-4<=FIN.MES(FECHA($B$1;$B$2;1);0)-FECHA($B$1;$B$2;1)+1;FILA()-3+DESREF(0;0;DIASEM(FECHA($B$1;$B$2;1);2)-1-(FILA()-5)*7);"")

FIN.MES(FECHA($B$1;$B$2;1);0)-FECHA($B$1;$B$2;1)+1 da el número de días del mes (31 para enero, 28 para febrero de 2026, 29 para febrero de 2028). La condición FILA()-4<=... evita que aparezcan números de más cuando el mes acaba antes de la sexta fila.

Cuidado: si copias la fórmula hacia abajo sin convertir B1 y B2 en referencias absolutas ($B$1 y $B$2), al arrastrar cambiarán a B2, B3, B4 y la cuadrícula se romperá. Convierte siempre las referencias a la hora de escribirla.

El truco del DESREF para que el mes cambie solo

DESREF (en inglés OFFSET) devuelve una referencia desplazada desde una celda de partida. Con ella puedes moverte por la hoja sin saber de antemano dónde está cada cosa.

=DESREF($A$1;(mes-1)*10;0)

En esta fórmula, (mes-1)*10 calcula cuántas filas hay que bajar para llegar al bloque del mes. Si cada bloque ocupa 10 filas (9 de la cuadrícula más una de separación), enero baja 0 filas, febrero baja 10, marzo baja 20, y así hasta diciembre, que baja 110. Así, con un solo número en B2, te mueves al mes que quieras.

A5fx=DESREF($A$1;($B$2–1)*10;0)
A B C D E F G
5 1 2 3 4
6 5 6 7 8 9 10 11
7 12 13 14 15 16 17 18
8 19 20 21 22 23 24 25
9 26 27 28
B2 cambia el número de mes para saltar de enero a febrero
Calendario
Comprueba: al cambiar B2 de 1 a 2, las celdas A5:G9 dejan de tener días de enero y empiezan a mostrar los de febrero de 2026 (que empieza en domingo y acaba en sábado). Si siguen saliendo días de enero, revisa que B2 sea un número del 1 al 12.

Pasar del mes suelto al año entero en una hoja

Con el bloque de un mes ya montado, el año entero es ese bloque repetido doce veces hacia abajo. Cada bloque ocupa 10 filas (cabecera + 6 semanas + 2 filas de separación), así que el año completo son 120 filas.

  1. Selecciona A4:G10, que es el bloque de enero.
  2. Copia con Ctrl+C.
  3. Selecciona A11 y pega con Ctrl+V. Repite hasta tener los doce bloques (A11:G20, A21:G30, y así hasta A111:G120).
  4. En B12, B22, B32, …, B112 escribe los números de mes del 2 al 12. La forma más rápida es escribir 2 en B12, seleccionar B12, poner el cursor en el controlador de relleno y arrastrar hasta B112 con la serie de incremento 1.
B2fx1
A B
1 Año 2026
2 Mes 1
12 Mes 2
22 Mes 3
32 Mes 4
42 Mes 5
52 Mes 6
62 Mes 7
72 Mes 8
82 Mes 9
92 Mes 10
102 Mes 11
112 Mes 12
Cada bloque de mes lee su propio B2 desplazado con DESREF
Calendario
Comprueba: al cambiar B1 de 2026 a 2028, todos los bloques se actualizan y febrero pasa de 28 a 29 días en los dos bloques que corresponden a ese mes. Si no ocurre, revisa que las fórmulas de los doce bloques lean $B$1 (referencia absoluta).

Ajustar alto de fila, ancho de columna y bordes

Para que la hoja imprima como un calendario de pared, las filas tienen que tener la misma altura y las columnas el mismo ancho, y la cuadrícula tiene que tener bordes finos.

  1. Selecciona la fila 4 y todas las filas de la 5 a la 120.
  2. En la cinta, abre el menú de alto de fila.
InicioCeldasFormatoAlto de fila
  1. Escribe 18 (en puntos) y pulsa Aceptar.
  2. Selecciona las columnas A a G, abre el menú de ancho de columna y escribe 12.
  3. Selecciona A4:G120, abre el menú de bordes y elige "Todos los bordes" con un estilo de línea fina.
InicioFuenteBordesTodos los bordes
Consejo: para ver cómo va a quedar la hoja antes de imprimir, abre la vista Diseño de página con Ctrl+Alt+P. Ahí ves los saltos de página y los márgenes sobre el papel.

Configurar la página para imprimir en A4

Con la cuadrícula ya lista, queda configurar la página para que entre en un A4 vertical.

Disposición de páginaConfigurar página

Después ve a la pestaña Márgenes y pon 1 cm en superior, inferior, izquierdo y derecho. En Encabezado y pie de página puedes desactivar el encabezado y el pie para que no salga la fecha ni el nombre del archivo al imprimir.

Comprueba: al pulsar Ctrl+P ves la vista previa de impresión con cada mes en una hoja A4 vertical. Si el último mes (diciembre) sale cortado, vuelve a Página y comprueba que "Ajustar a 1 página de ancho por 1 de alto" esté marcado.

Cuando el calendario imprime mal o queda descuadrado

Tres fallos aparecen una y otra vez al imprimir el calendario. Los tres tienen la misma causa de fondo: las fórmulas y la página no están coordinadas. Aquí los ves sobre la misma hoja Calendario y con el mismo menú de impresión.

El mes empieza en lunes y la columna queda vacía

Si en la cabecera pusiste L M X J V S D pero la fórmula usa DIASEM con tipo 1, el día 1 cae en la columna del domingo y la columna del lunes queda vacía. Lo que ves es una columna A4 vacía para todos los meses que empiezan en lunes, y los días aparecen desplazados a la derecha.

La causa es que con DIASEM(...;1) el domingo devuelve 1 y el lunes devuelve 2, así que el desplazamiento es 1 en vez de 0. El arreglo es cambiar el tipo a 2, que es el que sigue el orden L M X J V S D.

=DESREF(A5;0;DIASEM(FECHA($B$1;$B$2;1);2)-1)
Comprueba: después del cambio, el 1 de enero de 2026 (jueves) aparece en la columna D y la columna A queda vacía. Si en enero de 2028 el 1 cae en sábado, debe aparecer en la columna F.

Aparece 29 de febrero en meses que no lo tienen

Si copiaste el bloque hacia abajo sin usar FIN.MES para limitar la última fila, las celdas vacías muestran números como 29, 30 o 31 en meses cortos. Lo que ves en pantalla, por ejemplo en abril de 2026, son 1, 2, …, 30, 31, 32, 33 aunque abril solo tenga 30 días.

La causa es que la fórmula dibuja siempre 6 filas × 7 columnas = 42 huecos, y si no le pones un tope, los huecos de más siguen mostrando números consecutivos. El arreglo es añadir la condición con FIN.MES que ya viste antes:

=SI(FILA()-4<=FIN.MES(FECHA($B$1;$B$2;1);0)-FECHA($B$1;$B$2;1)+1;...;"")
Comprueba: en abril de 2026 la celda que antes mostraba 31 ahora muestra vacío. En febrero de 2028 (bisiesto) debe mostrar 29, y en febrero de 2026 debe mostrar vacío a partir de 29.

La impresión corta la última columna

Al pulsar Ctrl+P ves que la columna G (domingo) se sale del papel y se imprime en una segunda hoja. Lo que ves en la vista previa es la última semana del mes cortada en dos: la columna A a la F en una hoja y la G sola en otra.

La causa es que la hoja es más ancha que un A4 vertical y no has pedido a Excel que la escale. El arreglo es fijar el área de impresión y forzar el ajuste a una página de ancho.

VistaDiseño de páginaÁrea de impresiónEstablecer área de impresión

Después vuelve a la configuración de página y confirma que en la pestaña Página está marcado "Ajustar a 1 página de ancho por 1 de alto".

Comprueba: la vista previa muestra las doce hojas (una por mes) con las siete columnas dentro del papel y sin segunda hoja en blanco. Si sigue saliendo una hoja extra, revisa que el área de impresión no incluya columnas a la derecha de G.

Lo que ya sabes hacer con un calendario perpetuo en Excel

  • Cambias el año en B1 y los doce meses se recalculan, incluidos los años bisiestos.
  • Cambias el número de mes en B2 y un solo bloque muestra enero, febrero o el mes que quieras.
  • Imprimes el año entero en A4 vertical, con los doce meses en hojas separadas, gracias a la configuración de página.
  • Ajustas alto de fila, ancho de columna y bordes para que la cuadrícula imprima limpia.
  • Detectas y arreglas los tres errores típicos: columna vacía al principio del mes, días de más en meses cortos y última columna cortada al imprimir.

El siguiente paso es añadir los días festivos del país en una columna a la derecha de cada bloque (la H), con una fórmula que compare cada fecha con una lista de festivos y resalte las celdas que coincidan usando formato condicional. Esa lista se mantiene en una hoja aparte llamada Festivos, con dos columnas: fecha y nombre, y se actualiza una vez al año.

Dudas al montar un calendario perpetuo en Excel

1. ¿Cómo crear un calendario perpetuo en PDF para imprimir desde Excel?

Construye la plantilla en Excel con la función FECHA y referencias absolutas a mes y año; cuando obtengas la vista previa del mes deseado, ve a Archivo > Guardar como, elige PDF y marca «Libro completo» o «Hoja activa» según quieras un solo mes o todo el año en un archivo listo para imprimir.

2. ¿Puedo descargar gratis un calendario de 2026 en PDF hecho en Excel?

Sí: diseña una sola hoja con fórmulas que recreen los 12 meses de 2026 cambiando el año en una celda auxiliar, y al imprimir en PDF con Ctrl+P (o Cmd+P en Mac) selecciona el ajuste «Ajustar a 1 página de ancho por alto» para que cada mes salga completo en su propia página.

3. ¿Cómo pasar un calendario de Excel a Word para imprimirlo?

Selecciona el rango del mes terminado, cópialo con Ctrl+C y pégalo en Word con Pegado especial > Objeto Hoja de cálculo de Microsoft Excel; así mantienes las fórmulas vivas y el formato, y puedes ajustar márgenes y tamaño de página antes de imprimir o guardar como PDF.

4. ¿Cómo hago en Excel un calendario solo del mes de abril de 2026?

Escribe en A1 el número 4 y en B1 el año 2026, y en la celda de la primera fecha coloca =FECHA($B$1,$A$1,1); después suma +1 en cada fila hasta completar el mes y aplica el formato «d mmmm» para que abril de 2026 aparezca del 30 de marzo al 2 de junio con sus días de la semana en español.