Excel – Câte luni există între două date?


În urmă cu ceva timp scriam articolul Operațiuni cu data și timpul în #Excel în care am încercat să explic cât mai detaliat diferite funcții și calcule legate de dată și timp. Astăzi în schimb vă propun o mică funcție care să calculeze câte luni sunt între două date calendaristice. Problema a venit ca un comentariu pe canalul meu de Youtube.

Avem așadar două date și trebuie să determinăm numărul de luni între ele. Problema care apare este dată de faptul că nu avem luni întregi și putem avea ani care nu sunt consecutivi între cele două date.

Cea mai simplă metodă este să folosești funcția: =DATEDIF(C3; C4; „m”) care returnează 30.

Pentru frumusețea lucrului în schimb vă propun o formulă personalizată care poate returna un rezultat mai precis… prin introducerea funcției MROUND() cu precizie de 0,25.

Funcția propusă pentru zecimale de precizie:

=LET(data1;C3; data2;C4;
     dataf1;DATE(YEAR(data1);12;31); datas2;DATE(YEAR(data2);1;1);
     luni1;MROUND((dataf1-data1)/30;0,25); luni2;MROUND((data2-datas2)/31;0,25);
     years;YEAR(data2)-YEAR(data1)+1;yearsa;SEQUENCE(years;;YEAR(data1));
     luni; MAP(yearsa; LAMBDA(v; IF(v=YEAR(data1);
     luni1; IF(v=YEAR(data2); luni2; 12))));
     HSTACK(yearsa; luni))

în care al doilea parametru din variabilele luni1 și luni2 este parametrul de precizie. DATEDIF() lucrează cu precizie de 0,50 dar în funcția custom putem stabili noi precizia.

Dacă dorim să calculăm precizia exactă cu DATEDIF() trebuie să introducem partea de zecimale calculate pe zile. Funcția ar fi:

=DATEDIF(C3; C4; "m") + (DAY(C4) - DAY(C3))/DAY(EOMONTH(C3;0))

Pentru a rotunji rezultatul acestei fomule la precizie de 0,25 sau 0,10 putem aplica MROUND() pentru rezultatul acestei funcții.

Dacă dorim să obținem rezultatul în formatul luni întregi și zile, atunci funcția se transformă în:

=DATEDIF(C3; C4; "m") & " luni și " & DATEDIF(DATE(YEAR(C3); MONTH(C3) + DATEDIF(C3; C4; "m"); DAY(C3)); C4; "d") & " zile"

Sper să fie util cuiva! ;)

Comentariile nu închise.

Blog la WordPress.com.

SUS ↑