EOMONTH in Google Sheets: trovare l'ultimo giorno del mese

Cos’è la funzione EOMONTH e quando usarla
EOMONTH è una funzione integrata nella categoria Date di Google Sheets. Restituisce la data corrispondente all’ultimo giorno del mese che si ottiene spostandosi di “n” mesi rispetto a una data di partenza.
Uso tipico: calcolare scadenze, date di fine contratto, data di fatturazione o controllare se una data cade entro la fine di un mese. Tiene conto degli anni bisestili e del numero variabile di giorni per ciascun mese.
Definizione rapida: EOMONTH(start_date, months) → data dell’ultimo giorno del mese, n mesi dopo (o prima se n è negativo).
Note rapide:
- La data di partenza può essere qualsiasi giorno del mese; EOMONTH considera solo il mese e l’anno della start_date per trovare l’ultimo giorno.
- Se passi un numero con la virgola per months, verrà troncato (ad esempio 5.7 diventa 5), non arrotondato.
Sintassi della funzione
=EOMONTH(start_date, months)Elementi della sintassi:
- = : indica l’inizio della formula.
- EOMONTH() : nome della funzione.
- start_date : argomento obbligatorio. Può essere una data letterale (“12/03/2022”), una cella con data (es. A2), o il risultato di un’altra funzione che produce una data.
- months : argomento obbligatorio. Numero intero che rappresenta quanti mesi spostarsi avanti (positivo) o indietro (negativo) rispetto alla start_date.
Esempio passo dopo passo
In questo esempio la colonna A contiene la data di partenza (formato dd/mm/yyyy) e la colonna B il numero di mesi.
.jpg?q=50&fit=crop&w=825&dpr=1.5)
- Seleziona la cella C2 dove vuoi che appaia il risultato.
- Digita la formula:
=EOMONTH(A2,B2). - Premi Invio: la cella C2 mostrerà l’ultimo giorno del mese ottenuto spostandosi di B2 mesi a partire da A2.
Esempi pratici:
=EOMONTH("12/03/2022",0)→ 31/03/2022 (ultimo giorno dello stesso mese).=EOMONTH(A2,1)dove A2 è 12/03/2022 → 30/04/2022 (ultimo giorno del mese successivo).=EOMONTH(A2,-2)→ restituisce l’ultimo giorno due mesi prima della data in A2.
Importante: Google Sheets potrebbe visualizzare il risultato come numero seriale della data. Se vedi un numero, cambia il formato della cella su Data.
Esempi pratici e modelli d’uso
Ottenere il primo giorno del mese successivo:
=EOMONTH(A2,0)+1Questo calcola l’ultimo giorno del mese corrente e aggiunge un giorno per ottenere il primo giorno del mese successivo.
Fissare una scadenza a 30 giorni dalla fine del mese:
=EOMONTH(A2,0)+30Calcolare il numero di giorni rimanenti fino alla fine del mese:
=EOMONTH(A2,0)-A2Usare EOMONTH con TODAY() per trovare l’ultima data del mese corrente o futuro:
=EOMONTH(TODAY(),0) // ultimo giorno del mese in corso =EOMONTH(TODAY(),3) // ultimo giorno tra 3 mesi
Alternative e quando EOMONTH fallisce
Quando non usare EOMONTH:
- Se ti serve il primo giorno del mese corrente, è più semplice usare
DATE(YEAR(A2),MONTH(A2),1). - Se vuoi aggiungere un numero di giorni preciso (non mesi), usa
A2 + 30oWORKDAYper escludere i weekend.
Alternative comuni:
- EDATE(start_date, months) → restituisce una data con lo stesso giorno, n mesi avanti/indietro (utile se vuoi lo stesso giorno del mese, non l’ultimo).
- Combinazione DATE/YEAR/MONTH per costruire date con maggiore controllo.
Counterexample (quando EOMONTH non è adatto):
- Hai bisogno esattamente di “30 giorni dopo” indipendentemente dal mese: EOMONTH restituisce la fine del mese, quindi non è adatta.
Errori comuni e come evitarli
- Formato data errato: assicurati che le celle siano formattate come Data o che la stringa di data sia riconosciuta da Google Sheets.
- Valore months non intero: i decimali vengono troncati, quindi evita input con virgola se non è voluto.
- Risultato mostrato come numero seriale: applica il formato Data alla cella.
Mini-cheat sheet (riassunto rapido)
- Ultimo giorno dello stesso mese:
=EOMONTH(A2,0) - Ultimo giorno n mesi dopo:
=EOMONTH(A2,n) - Primo giorno del mese successivo:
=EOMONTH(A2,0)+1 - Giorni fino a fine mese:
=EOMONTH(A2,0)-A2 - Ultimo giorno da oggi:
=EOMONTH(TODAY(),0)
Checklist per ruoli (cosa verificare prima di consegnare)
Per il contabile:
- Le date di partenza sono formattate correttamente.
- Le formule EOMONTH usano riferimenti assoluti dove necessario (es. $A$2).
- Verificare con esempi di mesi con 28/29/30/31 giorni.
Per il project manager:
- Le scadenze trimestrali si allineano all’ultimo giorno del mese previsto.
- I report mensili usano lo stesso criterio di fine mese in tutto il foglio.
Per lo sviluppatore/sheet builder:
- Gestire casi di input non validi con IFERROR o convalidazione dati.
- Documentare le assunzioni (es. fuso orario, formato data).
Suggerimenti avanzati e combinazioni utili
- Usare
IF(EOMONTH(A2,0)=A2,TRUE,FALSE)per testare se A2 è già l’ultimo giorno del mese. - Per scadenze che cadono il primo giorno utile lavorativo dopo la fine mese: combina con WORKDAY:
=WORKDAY(EOMONTH(A2,0),1) - Per raggruppare fatture per mese di scadenza: usa una colonna con
=EOMONTH(A2,0)e poi crea una tabella pivot su quella colonna.
Glossario in una riga
- start_date: data di riferimento iniziale; months: numero di mesi da sommare/sottrarre; EOMONTH: restituisce l’ultimo giorno del mese calcolato.
Buone pratiche e rischi
- Usa riferimenti assoluti ($A$2) se copi formule su un’area di celle per evitare errori di spostamento.
- Considera la localizzazione delle date: in alcuni fogli la stringa “03/04/2022” può essere interpretata come 3 aprile o 4 marzo. Preferisci date generate da funzioni o celle già formattate.
- Per fogli condivisi, documenta nel commento della cella la logica dietro all’uso di EOMONTH.
Quando estendere: combinare con altre funzioni
- Per aggiungere anni moltiplica months per 12 o usa YEAR/DATE:
=EOMONTH(A2,12*2) // +2 anni - Per calcolare scadenze ricorrenti ogni N mesi, usa EOMONTH in una colonna e filtra per valore crescente.
Riepilogo
EOMONTH è la soluzione rapida e affidabile per ottenere l’ultimo giorno di un mese partendo da una data iniziale spostata di un numero intero di mesi. È particolarmente utile per fatturazione, scadenze e report periodici. Combinala con TODAY, WORKDAY, DATE, e funzioni condizionali per creare regole di scadenza robuste.
Importante: non inventare numeri o ipotesi; testa sempre le formule con esempi reali, specialmente per i mesi di febbraio e gli anni bisestili.
Sintesi finale: EOMONTH semplifica il calcolo delle date di fine mese; impara le combinazioni comuni (EOMONTH+1, EOMONTH+WORKDAY) e applica la checklist per evitare errori di formattazione o di input.