• Calcoli e KPI
  • Aggiungere mesi a una data - formule Excel, SQL e KPI

Aggiungere mesi a una data - formule Excel, SQL e KPI

Bruno De luca 29 luglio 2026
Logo Microsoft Excel e testo "DATA.MESE", utile per aggiungere mesi a una data.

Indice

Una scadenza spostata di tre mesi non si calcola sempre sommando 90 giorni. Per aggiungere mesi a una data bisogna considerare la durata reale dei mesi, gli anni bisestili e il comportamento atteso per date come il 31 gennaio. In queste righe mostro il metodo corretto, le formule per Excel e SQL e il modo di usare il risultato nei principali KPI aziendali.

Il metodo corretto dipende dalla regola del calendario

  • Un mese non equivale a 30 giorni: il risultato va calcolato sul calendario.
  • 31 gennaio più un mese diventa normalmente 28 o 29 febbraio, cioè l’ultimo giorno disponibile.
  • In Excel puoi usare DATA.MESE oppure FINE.MESE quando ti serve una scadenza a fine periodo.
  • In SQL le funzioni più comuni sono DATEADD e ADD_MONTHS, secondo il database utilizzato.
  • Per i KPI è utile separare data di origine, data calcolata e regola applicata.

Che cosa significa aggiungere mesi a una data

Quando sposto una data di un certo numero di mesi, mantengo il più possibile lo stesso giorno del mese di destinazione. Ad esempio, 15 gennaio più 3 mesi diventa 15 aprile. Non sto sommando 90 giorni, perché gennaio, febbraio, marzo e aprile hanno durate diverse.

La difficoltà nasce quando il giorno iniziale non esiste nel mese di arrivo. Il caso più noto è 31 gennaio più 1 mese. Poiché febbraio non ha 31 giorni, la regola più usata nei fogli di calcolo e nei database porta al 28 febbraio negli anni normali e al 29 febbraio negli anni bisestili.

Questa è una scelta di calendario, non una conseguenza matematica universale. In un contratto, in un piano di ammortamento o in un KPI finanziario conviene quindi dichiarare prima la regola. Se invece l’accordo parla di “90 giorni”, il calcolo deve usare i giorni effettivi e non i mesi.

Il calcolo manuale senza errori

Per un calcolo occasionale bastano pochi passaggi, purché la data sia stata interpretata correttamente. Io parto sempre dal formato giorno, mese e anno separati, perché valori come 03/04/2026 possono essere letti in modo diverso da sistemi italiani e internazionali.

  1. Individua il mese e l’anno della data iniziale.
  2. Somma o sottrai il numero di mesi richiesto.
  3. Conserva lo stesso giorno, se esiste nel mese di destinazione.
  4. Se il giorno non esiste, applica la regola dell’ultimo giorno disponibile.

Per esempio, 30 novembre 2026 più 3 mesi porta a febbraio 2027. Poiché il 30 febbraio non esiste, il risultato diventa 28 febbraio 2027. Con la stessa logica, 29 febbraio 2024 più 12 mesi diventa 28 febbraio 2025, a meno che il processo aziendale non imponga una gestione diversa.

Per sottrarre mesi si applica lo stesso principio. 31 marzo meno 1 mese diventa normalmente 28 febbraio in un anno non bisestile. Nei calcoli ripetitivi, però, consiglio di non procedere a mano: un foglio di calcolo o una query riduce gli errori e rende il risultato verificabile.

Le formule più utili in Excel e Google Sheets

In Excel in lingua italiana la funzione principale è DATA.MESE. Se la data iniziale è nella cella A2 e il numero di mesi nella cella B2, la formula è:

=DATA.MESE(A2;B2)

Con A2 uguale a 15/01/2026 e B2 uguale a 3, il risultato è 15/04/2026. Un valore negativo in B2 permette di tornare indietro nel tempo, ad esempio per calcolare la data di rinnovo precedente o l’inizio di una finestra di analisi.

Quando serve sempre l’ultimo giorno del mese, uso FINE.MESE:

=FINE.MESE(A2;B2)

Con questa formula, una data qualsiasi di gennaio spostata di un mese restituisce l’ultimo giorno di febbraio. È la scelta più adatta per chiusure contabili, report mensili e scadenze espresse come “fine del mese successivo”. In alcune installazioni o interfacce la funzione può apparire con il nome inglese EDATE.

Esigenza Funzione Risultato tipico
Conservare il giorno, quando possibile DATA.MESE 15/01 + 1 mese = 15/02
Ottenere la fine del mese di arrivo FINE.MESE 15/01 + 1 mese = 28/02
Calcolare mesi precedenti Numero negativo 15/04 - 3 mesi = 15/01

Un errore frequente consiste nel formattare come data una cella che contiene testo. Prima della formula controllo che Excel riconosca davvero il valore come data seriale, non come semplice stringa. Se il risultato appare come un numero, spesso basta applicare il formato Data; se la formula restituisce un errore, il problema può essere nella conversione iniziale.

Come gestire il calcolo in SQL

Nei database il principio è identico, ma il nome della funzione cambia. In SQL Server si usa DATEADD:

SELECT DATEADD(month, 3, data_inizio) AS data_futura
FROM contratti;

La funzione accetta anche valori negativi e gestisce il passaggio tra anni. Quando il giorno non esiste nel mese risultante, SQL Server restituisce l’ultimo giorno del mese disponibile. È un comportamento importante da conoscere prima di confrontare una query con un calcolo fatto manualmente.

In Oracle la sintassi abituale è:

SELECT ADD_MONTHS(data_inizio, 3) AS data_futura
FROM contratti;

In PostgreSQL si può usare un intervallo di mesi, ad esempio data_inizio + mesi * INTERVAL '1 month'. Non conviene però copiare la stessa formula tra database diversi senza testarla. Le regole su tipo restituito, orario e fine mese possono cambiare, soprattutto quando si lavora con timestamp e fusi orari.

Nel modello dati per la business intelligence creo di solito colonne distinte come data_inizio, mesi_validità, data_scadenza e regola_scadenza. In questo modo il KPI resta tracciabile e chi legge il report capisce perché una determinata data è stata ottenuta.

Come trasformare la data calcolata in un KPI

Lo spostamento di mesi è raramente il risultato finale. Di solito serve a costruire una misura più utile, come la data di rinnovo, la scadenza di un contratto o il momento in cui verificare la permanenza di un cliente.

  • Retention a M+3: verifica se il cliente è ancora attivo tre mesi dopo l’acquisto.
  • Rinnovo abbonamenti: confronta la data odierna con la scadenza calcolata.
  • Churn: identifica i clienti che non hanno effettuato attività entro una finestra di 1, 3 o 6 mesi.
  • Forecast commerciale: raggruppa opportunità o contratti per mese di scadenza.
  • Ammortamento: distribuisce un costo su un numero definito di mesi calendario.

Per una coorte di clienti, ad esempio, la domanda non è solo “qual è la data tre mesi dopo?”. Serve anche sapere se l’attività osservata appartiene davvero alla finestra M+3. Io definisco sempre se il periodo è inclusivo o esclusivo, per evitare che un evento avvenuto esattamente alla mezzanotte o nell’ultimo giorno del mese finisca nella coorte sbagliata.

Nei dashboard preferisco inoltre una tabella calendario con mese, trimestre, anno fiscale e indicatore di fine mese. La data calcolata si collega così a dimensioni coerenti e non viene rielaborata diversamente in ogni grafico.

Gli errori che falsano il risultato

Il primo errore è trattare ogni mese come un blocco fisso di 30 giorni. Questa approssimazione può sembrare innocua, ma su 12 mesi produce uno scarto rilevante e altera scadenze, retention e analisi di puntualità.

Errore Conseguenza Controllo consigliato
Sommare 30 giorni per ogni mese Data finale non allineata al calendario Usare una funzione specifica per i mesi
Ignorare il 29 febbraio Scadenze e coorti spostate Testare almeno un anno bisestile
Non definire la regola per il 31 del mese Risultati diversi tra sistemi Adottare la logica dell’ultimo giorno o una regola aziendale esplicita
Mescolare date e timestamp Problemi con orari e fusi Separare data locale e istante temporale

Per validare una pipeline preparo sempre casi limite come 28 febbraio, 29 febbraio, 30 aprile e 31 dicembre. Se il risultato è corretto su questi esempi, è molto più probabile che lo sia anche sulle date ordinarie. La verifica costa pochi minuti e può evitare errori che si propagano per mesi nei report.

La regola da fissare prima di calcolare

Il calcolo più affidabile non è necessariamente quello con la formula più sofisticata. È quello basato su una regola chiara: mesi di calendario oppure giorni effettivi, mantenimento del giorno oppure fine mese, data locale oppure timestamp.

Per un uso personale basta spesso DATA.MESE o una calcolatrice online. In un processo di BI, invece, conviene centralizzare la logica nel modello dati, testare i casi limite e conservare la data di origine insieme al numero di mesi applicato.

Quando questa convenzione è documentata, la data futura diventa un dato affidabile per scadenze, coorti e KPI, non soltanto un risultato calcolato una volta e difficile da spiegare.

Questo articolo ha carattere esclusivamente informativo ed educativo. Il materiale è stato elaborato con il supporto di moderni strumenti analitici e linguistici (IA). Prima di prendere una decisione, consulta un esperto.

Domande frequenti

I mesi hanno durate diverse, quindi il calcolo corretto segue il calendario. Per esempio, 15 gennaio più 3 mesi diventa 15 aprile, mentre un accordo espresso in 90 giorni richiede il conteggio dei giorni effettivi.

Se il giorno iniziale non esiste nel mese di destinazione, si applica normalmente la regola dell'ultimo giorno disponibile. Di conseguenza, 31 gennaio più un mese diventa 28 febbraio negli anni normali e 29 febbraio negli anni bisestili.

Usa =DATA.MESE(A2;B2) per conservare lo stesso giorno quando possibile, anche con un numero negativo di mesi. Usa =FINE.MESE(A2;B2) quando ti serve l'ultimo giorno del mese di arrivo, ad esempio per chiusure contabili o report mensili.

In SQL Server si usa DATEADD(month, 3, data_inizio), mentre in Oracle si usa ADD_MONTHS(data_inizio, 3). In PostgreSQL puoi usare un intervallo, ma le regole su fine mese, tipo restituito, orari e fusi possono variare tra database e vanno testate.

È utile separare data di origine, numero di mesi applicato, data calcolata e regola di scadenza. Per KPI come retention M+3, rinnovi e churn bisogna inoltre definire se la finestra è inclusiva o esclusiva e verificare i casi limite del calendario.

Valuta l'articolo

Valutazione: 0.00 Numero di voti: 0

Tag

excel
sql
scadenze
ammortamento
coorti
Autor Bruno De luca
Bruno De luca
Mi chiamo Bruno De Luca e da 9 anni mi dedico con passione all'analisi dei dati, alla Business Intelligence e alla Data Science. Quello che mi affascina di questo campo è la capacità di trasformare numeri grezzi in storie comprensibili, aiutando a prendere decisioni più informate e strategiche. Sul sito mondobi.it, il mio obiettivo è condividere conoscenze, semplificare concetti complessi e offrire prospettive aggiornate, basandomi su un approccio rigoroso di verifica delle fonti e organizzazione delle informazioni. Cerco sempre di rendere i contenuti accessibili e utili, per chiunque voglia navigare nel mondo dei dati con maggiore consapevolezza.

Condividi post

Scrivi un commento