Guida alle tecnologie

Funzione EOMONTH in Excel: guida completa e casi d'uso

11 min read Excel Aggiornato 16 Sep 2025
EOMONTH in Excel: guida completa
EOMONTH in Excel: guida completa

EOMONTH restituisce l’ultimo giorno del mese relativo a una data di partenza, spostandosi avanti o indietro di un numero specifico di mesi. È ideale per scadenze mensili, budget, forecast e serie temporali; per ottenere lo stesso giorno del mese usa EDATE.

Collegamenti rapidi

  • La sintassi di EOMONTH
  • Calcolare fine mese futuro
  • Calcolare fine mese passato
  • Calcolare fine mese per periodi pluriennali
  • Fine mese del mese corrente
  • Generare sequenze di date di fine mese

La funzione EOMONTH in Microsoft Excel restituisce l’ultimo giorno di un mese nel passato, del mese corrente o in un mese futuro. Che tu debba calcolare scadenze, terminazioni contrattuali, date di fatturazione, ricavi mensili o proiezioni, EOMONTH velocizza il processo.

Per impostazione predefinita EOMONTH restituisce un numero seriale di data. Prima di usarla, applica un formato data alle celle interessate per visualizzare i risultati come date leggibili.

La sintassi di EOMONTH

La funzione EOMONTH richiede due argomenti:

=EOMONTH(a,b)

dove l’argomento a è la data di partenza (qualsiasi giorno di un mese/anno) e l’argomento b è il numero di mesi da spostare avanti o indietro rispetto alla data di partenza. Dopo lo spostamento, Excel restituisce l’ultimo giorno del mese in cui si arriva.

L’argomento a può essere: un riferimento a una cella che contiene la data di partenza, una data inserita con la funzione DATE o una data generata da un’altra funzione, p.es. TODAY.

Argomento aDescrizione
=EOMONTH(A1,La data di partenza è la data inserita nella cella A1.
=EOMONTH(DATE(2025,05,31),La data di partenza è il 31 maggio 2025.
=EOMONTH(TODAY(),La data di partenza è la data odierna.

Per l’argomento b, un numero positivo rappresenta i mesi dopo la data di partenza, un numero negativo i mesi prima, e zero indica lo stesso mese. Puoi inserire questo argomento manualmente o riferire una cella che contiene il numero di mesi da avanzare o retrocedere:

Argomento bDescrizione
=EOMONTH(A1, 5)Restituisce l’ultimo giorno del mese cinque mesi dopo la data in A1.
=EOMONTH(A1, -5)Restituisce l’ultimo giorno del mese cinque mesi prima della data in A1.
=EOMONTH(A1, 0)Restituisce l’ultimo giorno del mese della data in A1.
=EOMONTH(A1, A2)Usa il valore in A2 come numero di mesi da avanzare e restituisce l’ultimo giorno del mese risultante.
=EOMONTH(A1, -A2)Usa il valore in A2 come numero di mesi da retrocedere e restituisce l’ultimo giorno del mese risultante.

Calcolare date di fine mese future

L’uso più comune di EOMONTH è restituire l’ultimo giorno di un mese futuro.

Immagina che tu sia il responsabile di progetto di un’azienda di costruzioni e abbia assegnato progetti a dieci risorse. Ogni progetto richiede una certa durata e le scadenze sono fissate alla fine del mese.

Un calendario realizzato in Excel appoggiato su un tavolo e il logo di Excel accanto.

Una tabella in Excel con numeri di progetto nella colonna A, durata nella colonna B, assegnatari nella colonna C, date di inizio nella colonna D e la colonna E, intestata 'End date', vuota.

Per calcolare le date di fine nella colonna E, usa EOMONTH.

Nella cella E2, digita:

=EOMONTH(

Seleziona quindi la cella che contiene la data di inizio e aggiungi la virgola:

=EOMONTH([@[Start date]],

Infine seleziona la cella con il numero di mesi da avanzare, chiudi la parentesi e premi Invio:

=EOMONTH([@[Start date]],[@Months])

Se i dati sono formattati come tabella Excel, la formula userà riferimenti strutturati alle intestazioni e la colonna si completerà automaticamente a partire dalla prima riga. Se invece si tratta di un intervallo tradizionale, usa il quadratino di riempimento per estendere la formula alle righe successive.

La funzione EOMONTH in Excel prende la data di inizio in colonna D, avanza del numero di mesi in colonna B e restituisce la data di fine mese del mese risultante.

Esempio: data di inizio 4 gennaio 2025, +3 mesi → 4 aprile 2025 → EOMONTH restituisce 30 aprile 2025.

Vantaggi di usare riferimenti di cella invece di valori hard-coded:

  • Formula dinamica per ogni riga; rimane corretta se cambi i dati.
  • Facile aggiornare durate o date di inizio senza modificare la formula.

Calcolare date di fine mese passate

EOMONTH può anche restituire la data di fine mese di un mese che dista un certo numero di mesi prima della data di partenza.

Esempio pratico: hai una tabella con dieci progetti e vuoi determinare il punto più tardi possibile in cui iniziare ciascun progetto per rispettare la scadenza in colonna E.

Una tabella in Excel con numeri di progetto nella colonna A, durata nella colonna B, assegnatari nella colonna C, scadenze in colonna E e la colonna D (non popolata) con intestazione 'Start date'.

Se un progetto richiede cinque mesi, puoi calcolare l’ultimo giorno utile per iniziare ritornando la fine del mese che è sei mesi prima della scadenza (un mese extra come margine). Nella cella D2 usa:

=EOMONTH([@Deadline],-[@Months]-1)

Dove: [@Deadline] è la scadenza nella colonna E, -[@Months] retrocede del numero di mesi indicato e -1 aggiunge un mese extra. EOMONTH restituisce l’ultimo giorno del mese risultante.

La funzione EOMONTH in Excel prende la data finale in colonna E, retrocede del numero di mesi in colonna B e aggiunge un mese extra per restituire la data di inizio.

Esempio: scadenza 27 gennaio 2026, -5 mesi → agosto 2025, -1 mese → luglio 2025 → EOMONTH restituisce 31 luglio 2025. Se l’assegnatario inizia il progetto il 31/07/2025 dovrebbe finire con qualche giorno di margine, se tutto procede come previsto.

Calcolare date di fine mese per periodi pluriennali

EOMONTH lavora in mesi: per saltare anni, moltiplica gli anni per 12.

Immagina di voler calcolare la data di fine per progetti a lungo termine in anni (p.es. 2 anni). In E2:

=EOMONTH([@[Start date]],[@Years]*12)

Premendo Invio otterrai la fine del mese corrispondente dopo il numero di anni moltiplicati per 12.

Per retrocedere anni usa il segno meno:

=EOMONTH([@[Start date]],-[@Years]*12)

La funzione EOMONTH in Excel calcola la fine del mese dopo aver avanzato il numero di anni convertiti in mesi.

Fine mese del mese corrente

EOMONTH può restituire l’ultimo giorno del mese corrente in combinazione con TODAY:

=EOMONTH(TODAY(),0)

Se vuoi sapere quanti giorni mancano alla fine del mese:

=EOMONTH(TODAY(),0)-TODAY()

Questo restituisce un numero (giorni rimanenti). Se Excel lo formatta come data, imposta il formato cella su “Generale” o “Numero”.

Le funzioni EOMONTH e TODAY usate in Excel per calcolare i giorni rimanenti nel mese corrente.

Esempio pratico: in una scheda di budget mensile puoi dividere l’importo residuo per i giorni rimanenti per ottenere la spesa giornaliera massima. Se in B6 hai l’eccedenza e in B1 i giorni rimanenti, in B7:

=B6/B1

Un foglio di budget Excel che calcola l'eccedenza giornaliera dividendo il totale residuo per i giorni rimanenti.

Generare sequenze di date di fine mese

Combinare funzioni eleva le potenzialità del foglio: ad esempio annidare SEQUENCE dentro EOMONTH restituisce una lista di date di fine mese.

La funzione SEQUENCE ha quattro argomenti:

=SEQUENCE(a,b,c,d)
  • a è il numero di righe da restituire,
  • b è il numero di colonne,
  • c è il primo numero della sequenza,
  • d è l’incremento.

Esempio: un array di date di fine mese per il 2025:

=EOMONTH(DATE(2024,12,31),SEQUENCE(12))

La SEQUENCE restituisce 12 valori e EOMONTH li interpreta come mesi successivi a dicembre 2024, producendo le date di fine mese per ogni mese del 2025.

Le funzioni EOMONTH, DATE e SEQUENCE usate insieme per restituire un array di date di fine mese nel 2025.

Nota: SEQUENCE restituisce un array dinamico (spill). Le formule che generano array dinamici non funzionano dentro una tabella Excel; devono essere in un intervallo normale.

Per restituire date ogni due mesi:

=EOMONTH(DATE(2024,12,31),SEQUENCE(6,,,2))

Per date trimestrali (ogni 3 mesi):

=EOMONTH(DATE(2025,2,28),SEQUENCE(4,,,3))

Dopo aver generato l’elenco, puoi copiarlo e incollare i valori (Ctrl+C, poi Ctrl+Shift+V) per fissare le date e trasformare l’intervallo in tabella.

EOMONTH e SEQUENCE usate insieme per restituire date trimestrali.


Suggerimenti pratici e migliori pratiche

  • Formatta sempre la cella con il formato “Data” per vedere le date; altrimenti otterrai un numero seriale.
  • Assicurati che la cella di partenza contenga una data riconosciuta da Excel (formato data reale). Date memorizzate come testo possono restituire errori o risultati errati.
  • Per mantenere dashboard e report riproducibili, usa riferimenti di cella o parametri (p.es. una cella con numero di mesi) invece di numeri hard-coded nella formula.
  • Quando usi SEQUENCE con EOMONTH, non essere in una tabella Excel: le funzioni dinamiche non sono compatibili con strutture di tabella.

Limitazioni e casi in cui EOMONTH non è la scelta giusta

  • Se vuoi lo stesso giorno del mese risultante (p.es. il 15 del mese dopo), usa EDATE anziché EOMONTH: EDATE sposta la data mantenendo il giorno relativo.
  • EOMONTH restituisce sempre l’ultimo giorno del mese: se la logica di business richiede un giorno specifico o un giorno lavorativo (es. ultimo giorno lavorativo), devi combinare con altre funzioni (WORKDAY, NETWORKDAYS, o regole personalizzate).
  • Date memorizzate come testo o in formati locali non riconosciuti possono causare errori; converti le date al formato data di Excel.

Alternative rapide e confronti

  • EOMONTH vs EDATE

    • EOMONTH: restituisce l’ultimo giorno del mese risultante.
    • EDATE: restituisce la stessa posizione del giorno nel mese risultante (se esiste), altrimenti adatta la data.
  • Metodo senza EOMONTH (formula classica che usa DATE):

=DATE(YEAR(A1),MONTH(A1)+1,0)

Questa formula restituisce l’ultimo giorno del mese di A1 senza usare EOMONTH: costruisce il primo giorno del mese successivo (MONTH+1) e sottrae 0 giorni, che Excel interpreta come l’ultimo giorno del mese precedente.

Snippets e cheat sheet comuni

  • Ultimo giorno del mese successivo:
=EOMONTH(A1,1)
  • Ultimo giorno del mese corrente:
=EOMONTH(A1,0)
  • Ultimo giorno di N mesi dopo la data in A1:
=EOMONTH(A1,N)
  • Ultimo giorno N anni avanti (A1 è data di partenza, Years è numero di anni):
=EOMONTH(A1,Years*12)
  • Giorni rimanenti nel mese:
=EOMONTH(TODAY(),0)-TODAY()

Mini-metodologia per introdurre EOMONTH in un report

  1. Identifica le date di partenza e crea colonne dedicate (Start date, Months, Years, Deadline).
  2. Verifica che tutte le date siano valori data validi (usa ISNUMBER o DATEVALUE per testare).
  3. Definisci le regole: ultimo giorno del mese per reporting o giorno equivalente?
  4. Inserisci formule EOMONTH con riferimenti strutturati se usi tabelle.
  5. Formatta le colonne come date, testa con casi limite (anno bisestile, fine febbraio, date all’ultimo giorno del mese).
  6. Documenta la logica nel foglio o in una legenda per i colleghi.

Checklist per ruolo

Project manager

  • Colonna durata (mesi) è corretta?
  • Date di inizio sono valori data validi?
  • Sono previsti margini (es. -1 mese)?
  • Le scadenze finali usano EOMONTH per allineare al mese.

Analista finanziario

  • I risultati sono formattati in “Data”?
  • Le serie temporali sono generate con SEQUENCE dove serve?
  • Copiati/incollati i valori prima di trasformare in tabella?

Contabilità

  • Le date di fatturazione corrispondono all’ultimo giorno del mese richiesto?
  • Si usano regole per giorni lavorativi dove necessario?

Test cases e criteri di accettazione

  • Caso base: A1 = 2025-01-04, EOMONTH(A1,3) → 2025-04-30.
  • Fine febbraio (anno non bisestile): A1 = 2023-02-10, EOMONTH(A1,0) → 2023-02-28.
  • Fine febbraio (anno bisestile): A1 = 2024-02-10, EOMONTH(A1,0) → 2024-02-29.
  • Valore come testo: A1 = “10/01/2025” (testo), EOMONTH(A1,1) → errore o risultato inatteso: converti con DATEVALUE.

Esempi pratici: template pronto all’uso

Crea una tabella con colonne: Project, Months, Assignee, Start date, End date.

Nella colonna End date inserisci:

=EOMONTH([@[Start date]],[@Months])

Per calcolare la data di inizio da una scadenza e durata inserisci in Start date:

=EOMONTH([@Deadline],-[@Months]-1)

Flusso decisionale rapido (Mermaid)

flowchart TD
  A[Hai bisogno dell'ultimo giorno del mese?] -->|Sì| B{Hai la data di partenza}
  B -->|Sì| C[EOMONTH'data, mesi']
  B -->|No| D[Usa TODAY'' o DATE per impostare data]
  A -->|No, voglio lo stesso giorno| E[Usa EDATE'data, mesi']
  C --> F{Serve una sequenza?}
  F -->|Sì| G[Annida SEQUENCE in EOMONTH]
  F -->|No| H[Usa EOMONTH normale]

Glossario in una riga

  • EOMONTH: funzione che restituisce l’ultimo giorno del mese risultante.
  • EDATE: funzione che restituisce la stessa posizione del giorno nel mese risultante.
  • SEQUENCE: genera un array di numeri (utile per serie temporali).
  • TODAY: restituisce la data corrente.

Compatibilità e note di migrazione

  • EOMONTH è supportata nelle versioni moderne di Excel (desktop, web e mobile). Le funzioni dinamiche (SEQUENCE) sono disponibili in Excel con supporto per array dinamici (Excel 365 e versioni più recenti). Se lavori in una versione più vecchia, evita SEQUENCE o crea la serie manualmente.
  • Quando condividi file con team internazionali, verifica le impostazioni locali della data per evitare interpretazioni diverse (gg/mm/aaaa vs mm/gg/aaaa).

Sicurezza e privacy

La funzione EOMONTH non invia dati esternamente; tuttavia, quando gestisci date sensibili (contratti, scadenze clienti), proteggi i fogli con protezione o controlla i permessi di condivisione per evitare esposizione non autorizzata.

Quando EOMONTH fallisce: esempi ed errori comuni

  • #VALUE! se l’argomento data non è una data valida.
  • Risultati inattesi se la data è testo: converti con DATEVALUE o DATE.
  • Spill di SEQUENCE bloccato se la cella successiva contiene dati: libera lo spazio per l’array o copia/incolla valori.

Riepilogo

EOMONTH è uno strumento semplice e robusto per lavorare con date di fine mese: calcola scadenze, pianificazioni e serie temporali in modo coerente. Quando hai bisogno dello stesso giorno del mese risultante, preferisci EDATE. Se generi serie, abbina SEQUENCE con attenzione alle limitazioni di compatibilità.

Importante: dopo aver creato sequenze dinamiche che vuoi rendere stabili, copia e incolla i valori per evitare dipendenze dinamiche.


Se vuoi, posso generare un file Excel di esempio con tutte le formule pronte (tabella di progetti, tabella di budget, sequenze mensili). Dimmi solo quale template preferisci.

Autore
Redazione

Materiali simili

Installare e usare Podman su Debian 11
DevOps

Installare e usare Podman su Debian 11

Guida rapida a apt-pinning su Debian
Linux

Guida rapida a apt-pinning su Debian

Forzare FSR 4 con OptiScaler: guida completa
Guide.

Forzare FSR 4 con OptiScaler: guida completa

Dansguardian + Squid NTLM su Debian Etch
Rete

Dansguardian + Squid NTLM su Debian Etch

Riparare errore installazione SD su Android
Android

Riparare errore installazione SD su Android

Cartelle di rete con KNetAttach e remote:/
Linux

Cartelle di rete con KNetAttach e remote:/