Excel vzorec: Získejte dny, měsíce a roky mezi daty -

Obecný vzorec

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

souhrn

Chcete-li vypočítat a zobrazit čas mezi daty ve dnech, měsících a letech, můžete použít vzorec založený na funkci DATEDIF.

V zobrazeném příkladu je vzorec v D6:

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

kde počáteční data jsou ve sloupci B a koncová data jsou ve sloupci C.

Vysvětlení

Funkce DATEDIF je určena k výpočtu rozdílu mezi daty v letech, měsících a dnech. Existuje několik variant (např. Čas v měsících, čas v měsících ignorujících dny a roky atd.) A ty jsou nastaveny argumentem „jednotka“ ve funkci. Na této stránce o funkci DATEDIF najdete úplný seznam dostupných jednotek.

V zobrazeném příkladu počítáme roky, měsíce a dny samostatně, poté výsledky „slepíme“ společně se zřetězením. Abychom získali celé roky, používáme:

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

K získání celých měsíců používáme:

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

A dny počítáme pomocí:

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

Zbytek vzorce je jednoduše požadovaný text spojený s operátorem zřetězení (&).

Bez nulových hodnot

Chcete-li zabránit výstupu dnů, měsíců nebo let s nulovými hodnotami, můžete zabalit každou funkci DATEDIF dovnitř IF, jak je znázorněno zde (za účelem čitelnosti jsou přidány konce řádků):

= 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 se v konečném výsledku nezobrazily čárky, byly čárky nahrazeny mezerami. Použití původního vzorce DATEDIF jako „logického testu“ uvnitř IF funguje, protože IF považuje jakýkoli nenulový výsledek za pravdivý.

Dobré odkazy

Podrobný článek o DATEDIF (Ablebits)

Zajímavé články...