Excel-formel: Få dage, måneder og år mellem datoer -

Generisk formel

=DATEDIF(start,end,"y") &" years,"&DATEDIF(start,end,"ym") &" months," &DATEDIF(start,end,"md") &" days"

Resumé

For at beregne og vise tiden mellem datoer i dage, måneder og år kan du bruge en formel baseret på DATEDIF-funktionen.

I det viste eksempel er formlen i D6:

=DATEDIF(B6,C6,"y") &" years,"&DATEDIF(B6,C6,"ym") &" months," &DATEDIF(B6,C6,"md") &" days"

hvor startdatoer er i kolonne B, og slutdatoer er i kolonne C.

Forklaring

DATEDIF-funktionen er designet til at beregne forskellen mellem datoer i år, måneder og dage. Der er flere tilgængelige variationer (f.eks. Tid i måneder, tid i måneder, hvor dage og år ignoreres osv.), Og disse er indstillet af "enhed" -argumentet i funktionen. Se denne side i DATEDIF-funktionen for en komplet liste over tilgængelige enheder.

I det viste eksempel beregner vi år, måneder og dage hver for sig, og "limer" derefter resultaterne sammen med sammenkædning. For at få hele år bruger vi:

DATEDIF(B6,C6,"y")&" years,"

For at få hele måneder bruger vi:

DATEDIF(B6,C6,"ym")&" months,"

Og vi beregner dage med:

DATEDIF(B6,C6,"md")&" days"

Resten af ​​formlen er simpelthen den krævede tekst sammenføjet med sammenkædningsoperatoren (&).

Uden nul værdier

For at forhindre output af dage, måneder eller år med nulværdier kan du pakke hver DATEDIF-funktion inde i IF, som vist her (linjeskift tilføjet for læsbarhed):

= 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","")

For at forhindre, at ekstra komma vises i det endelige resultat, er komma blevet erstattet af mellemrum. Brug af den originale DATEDIF-formel som "logisk test" inde i IF fungerer, fordi IF behandler ethvert resultat, der ikke er nul, som sandt.

Gode ​​links

Detaljeret artikel om DATEDIF (Ablebits)

Interessante artikler...