
Formuła ogólna
=DATEDIF(start,end,"y") &" years,"&DATEDIF(start,end,"ym") &" months," &DATEDIF(start,end,"md") &" days"
Podsumowanie
Aby obliczyć i wyświetlić czas między datami w dniach, miesiącach i latach, możesz użyć formuły opartej na funkcji DATA.
W pokazanym przykładzie formuła w D6 to:
=DATEDIF(B6,C6,"y") &" years,"&DATEDIF(B6,C6,"ym") &" months," &DATEDIF(B6,C6,"md") &" days"
gdzie daty początkowe znajdują się w kolumnie B, a daty końcowe w kolumnie C.
Wyjaśnienie
Funkcja DATA.RÓŻNICA służy do obliczania różnicy między datami w latach, miesiącach i dniach. Dostępnych jest kilka odmian (np. Czas w miesiącach, czas w miesiącach z pominięciem dni i lat itd.) I są one ustawiane przez argument „jednostka” w funkcji. Zobacz tę stronę dotyczącą funkcji DATEDIF, aby zapoznać się z pełną listą dostępnych jednostek.
W przedstawionym przykładzie osobno obliczamy lata, miesiące i dni, a następnie „sklejamy” wyniki razem z konkatenacją. Aby uzyskać całe lata, używamy:
DATEDIF(B6,C6,"y")&" years,"
Aby otrzymać całe miesiące, używamy:
DATEDIF(B6,C6,"ym")&" months,"
I obliczamy dni za pomocą:
DATEDIF(B6,C6,"md")&" days"
Reszta formuły to po prostu wymagany tekst połączony razem z operatorem konkatenacji (&).
Bez wartości zerowych
Aby zapobiec wyświetlaniu dni, miesięcy lub lat wartościami zerowymi, możesz zawinąć każdą funkcję DATA.JEŻELI wewnątrz funkcji JEŻELI, jak pokazano tutaj (dla czytelności dodano podziały wierszy):
= 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 zapobiec pojawianiu się dodatkowych przecinków w wyniku końcowym, przecinki zostały zastąpione spacjami. Używanie oryginalnej formuły DATEDIF jako „testu logicznego” wewnątrz funkcji JEŻELI działa, ponieważ JEŻELI traktuje każdy wynik niezerowy jako prawdziwy.