Formula Excel: ottieni l'ultimo giorno della settimana del mese -

Sommario

Formula generica

=EOMONTH(date,0)+1-WEEKDAY(EOMONTH(date,0)+1-dow)

Sommario

Per ottenere l'ultimo giorno della settimana in un mese (ovvero l'ultimo sabato, l'ultimo venerdì, l'ultimo lunedì, ecc.) È possibile utilizzare una formula basata sulle funzioni EOMONTH e WEEKDAY.

Nell'esempio mostrato, la formula in D5 è:

=EOMONTH(B5,0)+1-WEEKDAY(EOMONTH(B5,0)+1-C5)

Spiegazione

Innanzitutto, questa formula determina il primo giorno del mese successivo * dopo * una determinata data. Lo fa usando EOMONTH per ottenere l'ultimo giorno del mese, quindi aggiungendo un giorno:

=EOMONTH(B5,0)+1

Successivamente, la formula calcola il numero di giorni necessari per "ripristinare" l'ultimo giorno della settimana richiesto nel mese precedente (ovvero il mese della data originale):

WEEKDAY(EOMONTH(B5,0)+1-C5)

All'interno di WEEKDAY, EOMONTH viene nuovamente utilizzato per ottenere il primo giorno del mese successivo. Da questa data, il valore del giorno della settimana viene sottratto e il risultato viene inserito in WEEKDAY, che restituisce il numero di giorni di cui eseguire il rollback.

Infine, i giorni di rollback vengono sottratti dal primo giorno del mese successivo, ottenendo il risultato finale.

Altri giorni feriali

Nella forma generale della formula nella parte superiore della pagina, il giorno della settimana è abbreviato "dow". È un numero compreso tra 1 (domenica) e 7 (sabato) che può essere modificato per ottenere un giorno della settimana diverso. Ad esempio, per ottenere l'ultimo giovedì di un mese, imposta dow su 5.

Nota: mi sono imbattuto in questa formula in una risposta sul forum MrExcel di Barry Houdini.

Buoni collegamenti

La risposta di Barry Houdini al forum MrExcel

Articoli interessanti...