Calcolare la data del primo martedì di un determinato mese

Cristina ha bisogno di un modo per calcolare il primo martedì di un dato mese. Quindi, dato un mese e un anno, ha bisogno di ottenere la data di quel primo martedì.

Esistono diverse formule che puoi utilizzare per ottenere il risultato desiderato. La maggior parte degli approcci utilizza la funzione GIORNO.SETTIMANA perché può restituire un valore numerico che rappresenta il giorno della settimana per una determinata data. Supponendo di inserire un mese nella cella A1 (da 1 a 12) e un anno a quattro cifre nella cella A2, le seguenti formule restituiranno tutte una data che corrisponde al primo martedì del mese.

=DATA(A2;A1;1)+SE(GIORNO.SETTIMANA(DATA(A2;A1;1))=3;0;SE(GIORNO.SETTIMANA(DATA(A2;A1;1))>3;7-GIORNO.SETTIMANA(DATA(A2;A1;1))+3;3-GIORNO.SETTIMANA(DATA(A2;A1;1))))
=SE(3-GIORNO.SETTIMANA(DATA(A2;A1;1))>=0;DATA(A2;A1;1)+3-GIORNO.SETTIMANA(DATA(A2;A1;1));DATA(A2;A1;1)+7+3-GIORNO.SETTIMANA(DATA(A2;A1;1)))
=DATA(A2;A1;1)+SE(3-GIORNO.SETTIMANA(DATA(A2;A1;1))>=0;3-GIORNO.SETTIMANA(DATA(A2;A1;1));10-GIORNO.SETTIMANA(DATA(A2;A1;1)))
=DATA(A2;A1;1)-GIORNO.SETTIMANA(DATA(A2;A1;1);1)+3+SE(GIORNO.SETTIMANA(DATA(A2;A1;1);1)>3;7;0)
=DATA(A2;A1;1)+8-GIORNO(DATA(A2;A1;1))-GIORNO.SETTIMANA(DATA(A2;A1;1)-GIORNO(DATA(A2;A1;1))-2)
=DATA(A2;A1;1)+3-GIORNO.SETTIMANA(DATA(A2;A1;1))+(1-(3>=GIORNO.SETTIMANA(DATA(A2;A1;1))))*7
=DATA.VALORE(A2&"/"&A1&"/1")+RESTO(10-GIORNO.SETTIMANA(DATA.VALORE(A2&"/"&A1&"/1"));7)
=DATA(A2;A1;CONFRONTA(VERO;GIORNO.SETTIMANA(DATA(A2;A1;{1.2.3.4.5.6.7}))=3;0))
=DATA(A2;A1;RESTO(10-GIORNO.SETTIMANA(DATA(A2;A1;1));7)+1)
=DATA(A2;A1;1)+RESTO(3-GIORNO.SETTIMANA(DATA(A2;A1;1));7)
=DATA(A2;A1;1)+7-GIORNO.SETTIMANA(DATA(A2;A1;1);13)
=DATA(A2;A1;8-GIORNO.SETTIMANA(DATA(A2;A1;1);13))
=DATA(A2;A1;8-GIORNO.SETTIMANA(DATA(A2;A1;5)))
=DATA(A2;A1;8)-GIORNO.SETTIMANA(DATA(A2;A1;5))
=DATA(A2;A1;7)-RESTO(DATA(A2;A1;7)-3;7)
=ARROTONDA.ECCESSO(DATA(A2;A1;5);7)-4

 

Se ritieni più conveniente specificare una data all’interno del mese che desideri valutare, puoi modificare le formule per tenerne conto. Di seguito sono riportate solo alcune formule che potresti utilizzare se inserisci una data nella cella A1:

=DATA(ANNO(A1);MESE(A1);CONFRONTA(VERO;GIORNO.SETTIMANA(DATA(ANNO(A1);MESE(A1);{1.2.3.4.5.6.7}))=3;0))
=DATA(ANNO(A1);MESE(A1);RESTO(10-GIORNO.SETTIMANA(DATA(ANNO(A1);MESE(A1);1));7)+1)
=DATA(ANNO(A1);MESE(A1);1)+RESTO(3-GIORNO.SETTIMANA(DATA(ANNO(A1);MESE(A1);1));7)
=DATA(ANNO(A1);MESE(A1);1)+7-GIORNO.SETTIMANA(DATA(ANNO(A1);MESE(A1);1);13)
=DATA(ANNO(A1);MESE(A1);8-GIORNO.SETTIMANA(DATA(ANNO(A1);MESE(A1);1);13))
=DATA(ANNO(A1);MESE(A1);8-GIORNO.SETTIMANA(DATA(ANNO(A1);MESE(A1);5)))
=DATA(ANNO(A1);MESE(A1);8)-GIORNO.SETTIMANA(DATA(ANNO(A1);MESE(A1);5))
=DATA(ANNO(A1);MESE(A1);7)-RESTO(DATA(ANNO(A1);MESE(A1);7)-3;7)
=A1-GIORNO(A1)+7-GIORNO.SETTIMANA(A1-GIORNO(A1)-1;3)

 

Infine, potresti prendere in considerazione un approccio basato su macro. Quella che segue è una funzione definita dall’utente che calcola rapidamente il primo martedì:

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

ABBONATI

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

Tutto quello che devi fare nel tuo foglio di lavoro è passare alla funzione definita dall’utente il numero del mese e dell’anno desiderati:

=FirstTuesday(6;2023)

 

Se preferisci, puoi specificare che il mese e l’anno sono in una cella:

=FirstTuesday(A2;A1)

 

Tags: , , , , , , , , , , , , , ,

Ti è stato utile?