Excel vzorec: Získajte dni, mesiace a roky medzi dátumami -

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ý.

Dobré odkazy

Podrobný článok o DATEDIF (Ablebits)

Zaujímavé články...