
Formula generică
=DATEDIF(start,end,"y") &" years,"&DATEDIF(start,end,"ym") &" months," &DATEDIF(start,end,"md") &" days"
rezumat
Pentru a calcula și afișa timpul dintre date în zile, luni și ani, puteți utiliza formula a bazată pe funcția DATEDIF.
În exemplul prezentat, formula din D6 este:
=DATEDIF(B6,C6,"y") &" years,"&DATEDIF(B6,C6,"ym") &" months," &DATEDIF(B6,C6,"md") &" days"
unde datele de început sunt în coloana B, iar datele de sfârșit sunt în coloana C.
Explicaţie
Funcția DATEDIF este concepută pentru a calcula diferența dintre date în ani, luni și zile. Există mai multe variante disponibile (de exemplu, timp în luni, timp în luni ignorând zile și ani etc.) și acestea sunt setate de argumentul „unitate” din funcție. Consultați această pagină despre funcția DATEDIF pentru o listă completă a unităților disponibile.
În exemplul prezentat, calculăm separat anii, lunile și zilele, apoi „lipim” rezultatele împreună cu concatenarea. Pentru a obține ani întregi, folosim:
DATEDIF(B6,C6,"y")&" years,"
Pentru a obține luni întregi, folosim:
DATEDIF(B6,C6,"ym")&" months,"
Și calculăm zile cu:
DATEDIF(B6,C6,"md")&" days"
Restul formulei este pur și simplu textul necesar, unit cu operatorul de concatenare (&).
Fără valori zero
Pentru a preveni ieșirea de zile, luni sau ani cu valori zero, puteți înfășura fiecare funcție DATEDIF în interiorul IF, așa cum se arată aici (întreruperi de linie adăugate pentru lizibilitate):
= 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","")
Pentru a preveni apariția virgulelor suplimentare în rezultatul final, virgulele au fost înlocuite cu spații. Folosirea formulei originale DATEDIF ca „test logic” din IF funcționează deoarece IF tratează orice rezultat diferit de zero ca fiind adevărat.