¿Cómo calcular el próximo lunes después de una fecha determinada?


11

Estoy buscando una fórmula que pueda ver el valor de una celda que contiene una fecha y devolver el primer lunes después de esa fecha.

Ejemplos (formato MM / dd / aaaa):

10/22/2013 (Tuesday) would return 10/28/2013 (Monday)
10/28/2013 (Monday)  would return 10/28/2013 (Monday)

Respuestas:


15

Deje B2la celda que contiene la fecha.

=IF(WEEKDAY(B2)=2, B2, IF(WEEKDAY(B2)=1,B2+1, B2+9-WEEKDAY(B2)))

o

=IF(WEEKDAY(B2,3)=0, B2, B2+7-WEEKDAY(B2,3))

3

Una solución un poco más elegante es cambiar cada entrada por la cantidad adecuada de días.

=B2+MOD(9-WEEKDAY(B2),7)

Si quiere ser inteligente, el DÍA DE LA SEMANA no es necesario ya que sabemos que la época cayó un sábado (calcule el DÍA DE LA SEMANA (0) para verificar esto)

=B2+MOD(9-B2,7)

1

Una solución genérica y elegante que funciona para cualquier día de la semana (día N):

Celda B2: fecha para cambiar al siguiente día N de la semana; Celda B3: próximo día N de la semana: lunes = 1, martes = 2, ...;

=B2+MOD(B3-WEEKDAY(B2,2),7)

Para un día específico de la semana, en este caso lunes (día = 1), la fórmula puede ser 'codificada' para

=B2+MOD(1-WEEKDAY(B2,2),7)

Tenga en cuenta que al establecer el segundo parámetro del día de la semana en '2', weekday(B2,2)esto devuelve el día de la semana consistente con el día N deseado utilizado en la fórmula anterior (celda B1), es decir, Mon = 1, Tue = 2, ...


0

La solución de Franck es perfecta para el lunes, pero no funcionará durante otros días (solo probé la segunda fórmula). Sin embargo, la siguiente fórmula funcionará para otros días. Sea B2 la fecha y B3 el día (B3 es del 1 al 7, donde el domingo es el 1):

=IF(WEEKDAY(B2,1)<B3, B2+B3-WEEKDAY(B2,1), B2+B3+7-WEEKDAY(B2,1))

Nota: Esto encontrará el día siguiente, incluso si B2 es el día solicitado. Pero la próxima fórmula volverá hoy si B2 es el día solicitado:

=IF(WEEKDAY(B2,1)<=B3, B2+B3-WEEKDAY(B2,1), B2+B3+7-WEEKDAY(B2,1))
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.