Come calcolare il lunedì successivo dopo una determinata data?


11

Sto cercando una formula che può guardare un valore di cella che contiene una data e restituire il primo lunedì che si verifica dopo tale data.

Esempi (formato MM / gg / aaaa):

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

Risposte:


15

Lascia che B2la cella contenga la data.

=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 soluzione un po 'più elegante è quella di spostare ciascun input per il numero di giorni corretto.

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

Se vuoi essere intelligente, WEEKDAY non è necessario perché sappiamo che l'epoca è caduta di sabato (calcola WEEKDAY (0) per verificare questo)

=B2+MOD(9-B2,7)

1

Una soluzione generica ed elegante che funziona per un determinato giorno della settimana (N-day):

Cella B2: data per passare al prossimo N-day della settimana; Cella B3: giorno N successivo della settimana: lun = 1, mar = 2, ...;

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

Per un giorno specifico della settimana, in questo caso lunedì (giorno = 1), la formula può essere "codificata" per

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

Si noti che impostando il secondo parametro del giorno della settimana su '2' weekday(B2,2)questo restituisce il giorno della settimana coerente con l'N-day desiderato utilizzato nella formula sopra (cella B1), ovvero Mon = 1, Mar = 2, ...


0

La soluzione di Franck è perfetta per lunedì ma non funzionerà per altri giorni (ho testato solo la 2a formula). Tuttavia, la seguente formula funzionerà per altri giorni. Sia B2 la data e B3 è il giorno (B3 è da 1 a 7, dove domenica è 1):

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

Nota: questo troverà il giorno successivo anche se B2 è il giorno richiesto. Ma la formula successiva tornerà oggi se B2 è il giorno richiesto:

=IF(WEEKDAY(B2,1)<=B3, B2+B3-WEEKDAY(B2,1), B2+B3+7-WEEKDAY(B2,1))
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.