Crea un calendario semanal con una sola fórmula en Excel

Última actualización el 29/03/2025
Tiempo de leer: 4 minutos

Cómo crear un calendario semanal en una fórmula con las funciones de Excel 365. Este artículo es una idea de mi compañero MVP de Excel. leila garani.

Calendario semanal 2020 - Todos los meses

La particularidad de un calendario semanal es que siempre comienza en lunes o domingo. Por lo tanto, necesito crear una fórmula que siempre devuelva el último lunes o domingo del mes anterior (si el mes no empieza en lunes ni domingo).

Paso 1: crea la fórmula para el primer día del calendario semanal de Excel

Para calcular el primer día de cualquier mes, necesitamos el función FECHA

=FECHA($C$2,$C$3,1)

Si personalizas el formato de fecha, puedes ver que el 1 de enero de 2020 es miércoles. Y si cambias el formato a Estándar, tienes el número 43831. Esta información es importante para la siguiente parte..

Cálculo del primer día del mes.

Paso 2: escriba el día del primer mes como encabezado

Podemos escribir esta fórmula como cabecera de nuestro calendario semanal.

Primer día del mes como encabezado.

Por supuesto, se debe personalizar el formato para devolver el nombre del mes y el año con este formato.

Menú para abrir el formato personalizado

mmm aaaa

Personalice el formato de fecha para mostrar el mes y el año.

Paso 3: Cambia la fórmula para empezar siempre el mismo día de la semana (domingo, lunes,...)

Si deseas iniciar tu calendario semanal en domingo, debemos utilizar la función DÍA SEMANA y la función SI porque tenemos 2 situaciones:

  • El primer día del mes es domingo, WEEKDAY(B5,2) = 7, por lo que nuestro calendario comenzará el primer día
  • En caso contrario, reducimos el primer día del mes calculado en B5 por el número de días laborables para llegar al domingo.

Entonces, el domingo es:

=IF(WEEKDAY(B5,2)=7,B5,B5-WEEKDAY(B5,2))

Cálculo del domingo anterior

Ahora, el 1 de noviembre de 2020 es domingo. Entonces, en esta situación, la fórmula vuelve al 01/11/2020.

La fórmula devuelve el primer día del mes.

Si tu calendario semanal comienza el lunes, la fórmula es:

=IF(WEEKDAY(B5,3)=7,B5,B5-WEEKDAY(B5,3))

Paso 4: Genera los demás días con SECUENCIA

Ahora necesitamos escribir todos los demás días de nuestro calendario semanal. Esto es posible con la fórmula de matriz dinámica SECUENCIA. Esta función tiene 4 argumentos.

  • El número de filas (6 para cubrir toda la situación)
  • El número de columnas (fácil, son 7, 7 días en una semana)
  • El valor inicial es la fórmula anterior.
  • Y el paso 1.

=SEQUENCE(6,7, IF(WEEKDAY(B5,2)=7,B5,B5-WEEKDAY(B5,2)) ,1)

Calendario generado con la función SECUENCIA

Ahora bien, para entender cómo esto es posible, sólo debemos cambiar el formato numérico a Estándar para ver la lista de números generados por el función SECUENCIA

Valores devueltos por la función SECUENCIA en formato Estándar

Paso 5: Personaliza el formato de la fecha

In este artículo, verás todas las explicaciones para cambiar el formato de fecha. Aquí queremos mostrar solo el valor del día. Entonces, en la configuración personalizada del formato numérico, escribiremos solo el valor d

Código para devolver el día de una fecha.

Y ahora tenemos estos valores en el calendario semanal.

Paso 6: cambia el color del día dentro o fuera del mes seleccionado

Para tener una mejor visualización de los días del mes seleccionado, cambiaremos los colores de los días con formato condicional.

Formato condicional del menú

La regla para el día del mes seleccionado.

La primera regla para comprobar si las fechas están en el mes seleccionado es comparar si el mes de la fecha en B7 es igual al número del mes en C3. El formato a aplicar es color de fuente negro y texto en negrita.

=MES(B7)=$C$3

Regla para los días del mes seleccionado.

El $ para bloquear las referencias o no es muy importante aquí. MES(B7) es una referencia relativa para leer todas las celdas de nuestro calendario y se bloquea $C$3 en el mes seleccionado

La regla para los demás días, los que no están en el mes.

La fórmula para resaltar los días que no están en el mes seleccionado es muy fácil

=MES(B7)<>$C$3

El formato a aplicar en esta situación es un color de fuente gris.

La regla para los días de fin de semana.

La tercera regla, el color del día es el rojo y atrevido. Entonces la fórmula es

=Y(DÍA DE LA SEMANA(B7,2)>5,MES(B7)=$C$3)

El resultado final es tu calendario semanal

Calendario semanal

Deje un comentario

Su dirección de correo electrónico no será publicada. Las areas obligatorias están marcadas como requeridas *

Crea un calendario semanal con una sola fórmula en Excel

Tiempo de leer: 4 minutos
Última actualización el 29/03/2025

Cómo crear un calendario semanal en una fórmula con las funciones de Excel 365. Este artículo es una idea de mi compañero MVP de Excel. leila garani.

Calendario semanal 2020 - Todos los meses

La particularidad de un calendario semanal es que siempre comienza en lunes o domingo. Por lo tanto, necesito crear una fórmula que siempre devuelva el último lunes o domingo del mes anterior (si el mes no empieza en lunes ni domingo).

Paso 1: crea la fórmula para el primer día del calendario semanal de Excel

Para calcular el primer día de cualquier mes, necesitamos el función FECHA

=FECHA($C$2,$C$3,1)

Si personalizas el formato de fecha, puedes ver que el 1 de enero de 2020 es miércoles. Y si cambias el formato a Estándar, tienes el número 43831. Esta información es importante para la siguiente parte..

Cálculo del primer día del mes.

Paso 2: escriba el día del primer mes como encabezado

Podemos escribir esta fórmula como cabecera de nuestro calendario semanal.

Primer día del mes como encabezado.

Por supuesto, se debe personalizar el formato para devolver el nombre del mes y el año con este formato.

Menú para abrir el formato personalizado

mmm aaaa

Personalice el formato de fecha para mostrar el mes y el año.

Paso 3: Cambia la fórmula para empezar siempre el mismo día de la semana (domingo, lunes,...)

Si deseas iniciar tu calendario semanal en domingo, debemos utilizar la función DÍA SEMANA y la función SI porque tenemos 2 situaciones:

  • El primer día del mes es domingo, WEEKDAY(B5,2) = 7, por lo que nuestro calendario comenzará el primer día
  • En caso contrario, reducimos el primer día del mes calculado en B5 por el número de días laborables para llegar al domingo.

Entonces, el domingo es:

=IF(WEEKDAY(B5,2)=7,B5,B5-WEEKDAY(B5,2))

Cálculo del domingo anterior

Ahora, el 1 de noviembre de 2020 es domingo. Entonces, en esta situación, la fórmula vuelve al 01/11/2020.

La fórmula devuelve el primer día del mes.

Si tu calendario semanal comienza el lunes, la fórmula es:

=IF(WEEKDAY(B5,3)=7,B5,B5-WEEKDAY(B5,3))

Paso 4: Genera los demás días con SECUENCIA

Ahora necesitamos escribir todos los demás días de nuestro calendario semanal. Esto es posible con la fórmula de matriz dinámica SECUENCIA. Esta función tiene 4 argumentos.

  • El número de filas (6 para cubrir toda la situación)
  • El número de columnas (fácil, son 7, 7 días en una semana)
  • El valor inicial es la fórmula anterior.
  • Y el paso 1.

=SEQUENCE(6,7, IF(WEEKDAY(B5,2)=7,B5,B5-WEEKDAY(B5,2)) ,1)

Calendario generado con la función SECUENCIA

Ahora bien, para entender cómo esto es posible, sólo debemos cambiar el formato numérico a Estándar para ver la lista de números generados por el función SECUENCIA

Valores devueltos por la función SECUENCIA en formato Estándar

Paso 5: Personaliza el formato de la fecha

In este artículo, verás todas las explicaciones para cambiar el formato de fecha. Aquí queremos mostrar solo el valor del día. Entonces, en la configuración personalizada del formato numérico, escribiremos solo el valor d

Código para devolver el día de una fecha.

Y ahora tenemos estos valores en el calendario semanal.

Paso 6: cambia el color del día dentro o fuera del mes seleccionado

Para tener una mejor visualización de los días del mes seleccionado, cambiaremos los colores de los días con formato condicional.

Formato condicional del menú

La regla para el día del mes seleccionado.

La primera regla para comprobar si las fechas están en el mes seleccionado es comparar si el mes de la fecha en B7 es igual al número del mes en C3. El formato a aplicar es color de fuente negro y texto en negrita.

=MES(B7)=$C$3

Regla para los días del mes seleccionado.

El $ para bloquear las referencias o no es muy importante aquí. MES(B7) es una referencia relativa para leer todas las celdas de nuestro calendario y se bloquea $C$3 en el mes seleccionado

La regla para los demás días, los que no están en el mes.

La fórmula para resaltar los días que no están en el mes seleccionado es muy fácil

=MES(B7)<>$C$3

El formato a aplicar en esta situación es un color de fuente gris.

La regla para los días de fin de semana.

La tercera regla, el color del día es el rojo y atrevido. Entonces la fórmula es

=Y(DÍA DE LA SEMANA(B7,2)>5,MES(B7)=$C$3)

El resultado final es tu calendario semanal

Calendario semanal

Deje un comentario

Su dirección de correo electrónico no será publicada. Las areas obligatorias están marcadas como requeridas *