
Všeobecný vzorec
=DATEDIF(start,end,"y") &" years,"&DATEDIF(start,end,"ym") &" months," &DATEDIF(start,end,"md") &" days"
Zhrnutie
Ak chcete vypočítať a zobraziť čas medzi dátumami v dňoch, mesiacoch a rokoch, môžete použiť vzorec založený na funkcii DATEDIF.
V zobrazenom príklade je vzorec v D6:
=DATEDIF(B6,C6,"y") &" years,"&DATEDIF(B6,C6,"ym") &" months," &DATEDIF(B6,C6,"md") &" days"
kde dátumy začatia sú v stĺpci B a dátumy ukončenia sú v stĺpci C.
Vysvetlenie
Funkcia DATEDIF je navrhnutá na výpočet rozdielu medzi dátumami v rokoch, mesiacoch a dňoch. Existuje niekoľko variácií (napr. Čas v mesiacoch, čas v mesiacoch ignorujúcich dni a roky atď.) A sú nastavené argumentom „jednotka“ vo funkcii. Na tejto stránke nájdete funkciu DATEDIF, kde nájdete kompletný zoznam dostupných jednotiek.
V zobrazenom príklade počítame roky, mesiace a dni osobitne, potom výsledky „zlepíme“ spolu so zreťazením. Aby sme dostali celé roky, používame:
DATEDIF(B6,C6,"y")&" years,"
Na získanie celých mesiacov používame:
DATEDIF(B6,C6,"ym")&" months,"
A dni počítame s:
DATEDIF(B6,C6,"md")&" days"
Zvyšok vzorca je jednoducho požadovaný text spojený s operátorom zreťazenia (&).
Bez nulových hodnôt
Ak chcete zabrániť výstupu dní, mesiacov alebo rokov s nulovými hodnotami, môžete zabaliť každú funkciu DATEDIF dovnútra IF, ako je to znázornené tu (za účelom čitateľnosti sú pridané konce riadkov):
= 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","")
Aby sa v konečnom výsledku nezobrazili čiarky, boli čiarky nahradené medzerami. Použitie pôvodného vzorca DATEDIF ako „logického testu“ vo vnútri funkcie IF funguje, pretože funkcia IF považuje akýkoľvek nenulový výsledok za pravdivý.