Excel-formel: Få dagar, månader och år mellan datum -

Generisk formel

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

Sammanfattning

För att beräkna och visa tiden mellan datum i dagar, månader och år kan du använda en formel baserad på DATEDIF-funktionen.

I exemplet som visas är formeln i D6:

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

där startdatum finns i kolumn B och slutdatum finns i kolumn C.

Förklaring

Funktionen DATEDIF är utformad för att beräkna skillnaden mellan datum i år, månader och dagar. Det finns flera varianter tillgängliga (t.ex. tid i månader, tid i månader som ignorerar dagar och år osv.) Och dessa ställs in av argumentet "enhet" i funktionen. Se den här sidan i DATEDIF-funktionen för en fullständig lista över tillgängliga enheter.

I exemplet som visas beräknar vi år, månader och dagar separat och "limmar" sedan resultaten tillsammans med sammankoppling. För att få hela år använder vi:

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

För att få hela månader använder vi:

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

Och vi beräknar dagar med:

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

Resten av formeln är helt enkelt den erforderliga texten sammanfogad med sammanfogningsoperatören (&).

Utan nollvärden

För att förhindra utdata från dagar, månader eller år med nollvärden kan du slå in varje DATEDIF-funktion i IF, som visas här (radbrytningar har lagts till för läsbarhet):

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

För att förhindra att extra komma visas i slutresultatet har kommatecken ersatts med mellanslag. Att använda den ursprungliga DATEDIF-formeln som "logiskt test" inuti IF fungerar eftersom IF behandlar alla resultat som inte är noll som sanna.

Bra länkar

Detaljerad artikel om DATEDIF (Ablebits)

Intressanta artiklar...