Calcolo dell’età in Excel

Data.Diff Excel

Per calcolare l’età in Excel possiamo usare differenti approcci. Il più semplice è ricorrere a una funzione non documentata nell’help. Stiamo parlando di DATA.DIFF. Non appare nell’elenco delle funzioni e quando la scriviamo in una cella non viene in nostro aiuto l’intellisense (vedi https://support.microsoft.com/it-it/kb/625201). La sintassi è la seguente:

DATADIFF(prima_data;seconda_data;formato)

dove:

  • prima_data: la data più vecchia, per esempio potrebbe essere la data di nascita
  • seconda_data: la data più recente, per esempio potrebbe essere la data di oggi, se voglio calcolare l’età
  • formato: in base al formato sarà restituito il risultato.

Con i seguenti tre formati posso calcolare esattamente il numero di anni, mesi e giorni trascorsi tra due date:

  • y: anni trascorsi
  • ym: mesi trascorsi. sono ignorati gli anni e i giorni. Come dire: dopo aver calcolato gli anni, se avanzano dei mesi, chiedo a Excel di calcolare i mesi.
  • md: giorni trascorsi. sono ignorati gli anni e i mesi. Come dire: dopo aver calcolato gli anni e i mesi, se avanzano dei giorni, chiedo a Excel di calcolare i giorni.

Con questi tre formati, invece, posso calcolare

  • m: mesi trascorsi complessivamente
  • d: giorni trascorsi complessivamente
  • yd: giorni trascorsi complessivamente. sono ignorati gli anni.

Osservazioni

La diversità tra md e yd è la seguente:

  • con md calcolo il numero di giorni che intercorrono tra le due date senza considerare né i mesi né gli anni. Esempio: dal 10 di un mese al 30 del mese, ottengo 20, indipendentemente dal fatto che le due date siano, per es., 10/1/2015 e 30/4/2015.
  • con yd calcolo il numero di giorni trascorsi considerando anche i mesi (ma non gli anni). Esempio: dal 10 di marzo al 30 aprile ottengo 51 giorni. Ma dal 10 febbraio 2015 al 30 marzo 2015 ottengo 48, perché la funzione considera se l’anno della prima data sia bisestile o meno e conta i giorni esistenti tra le due date.
    Se conto dal 10 febbraio 2015 al 30 marzo 2016 ottengo 48, perché Excel non considera gli anni di differenza.
    Se invece conto dal 10 febbraio 2016 al 30 marzo 2017 ottengo 49. Perché? Perché Excel considera che il mese di febbraio 2016 ha 29 giorni.

Attenzione! Il risultato in F2, I2, J2, dove abbiamo usato i formati  yd  md, non considera il giorno di partenza. Perciò, se devo contare i giorni intercorsi tra due date incluso quello di partenza, è necessario aggiungere +1 alle relative formule. Osserva l’esempio:

datadiff_2a

Dal giorno 1 al giorno 5 i giorni da contare non sono 5-1 = 4, ma 5.