
Formula generica
=DATEDIF(start,end,"y") &" years,"&DATEDIF(start,end,"ym") &" months," &DATEDIF(start,end,"md") &" days"
Sommario
Per calcolare e visualizzare il tempo tra le date in giorni, mesi e anni, è possibile utilizzare la formula a basata sulla funzione DATEDIF.
Nell'esempio mostrato, la formula in D6 è:
=DATEDIF(B6,C6,"y") &" years,"&DATEDIF(B6,C6,"ym") &" months," &DATEDIF(B6,C6,"md") &" days"
dove le date di inizio sono nella colonna B e le date di fine sono nella colonna C.
Spiegazione
La funzione DATEDIF è progettata per calcolare la differenza tra le date in anni, mesi e giorni. Sono disponibili diverse variazioni (es. Tempo in mesi, tempo in mesi ignorando giorni e anni, ecc.) E sono impostate dall'argomento "unit" nella funzione. Vedi questa pagina sulla funzione DATEDIF per un elenco completo delle unità disponibili.
Nell'esempio mostrato, calcoliamo separatamente anni, mesi e giorni, quindi "incolliamo" i risultati insieme alla concatenazione. Per ottenere anni interi, usiamo:
DATEDIF(B6,C6,"y")&" years,"
Per ottenere mesi interi, usiamo:
DATEDIF(B6,C6,"ym")&" months,"
E calcoliamo i giorni con:
DATEDIF(B6,C6,"md")&" days"
Il resto della formula è semplicemente il testo richiesto unito all'operatore di concatenazione (&).
Senza valori zero
Per impedire l'output di giorni, mesi o anni con valori zero, è possibile racchiudere ogni funzione DATEDIF all'interno di IF, come mostrato qui (interruzioni di riga aggiunte per la leggibilità):
= IF(DATEDIF(B6,C6,"y"), DATEDIF(B6,C6,"y")&"yr ","")& IF(DATEDIF(B6,C6,"ym"), DATEDIF(B6,C6,"ym")&" mo ","")& IF(DATEDIF(B6,C6,"md"), DATEDIF(B6,C6,"md") &" dy","")
Per evitare la comparsa di virgole aggiuntive nel risultato finale, le virgole sono state sostituite da spazi. L'utilizzo della formula DATEDIF originale come "test logico" all'interno di IF funziona perché IF tratta come vero qualsiasi risultato diverso da zero.