Czy zdarzają Ci się sytuacje, w których musisz obliczyć różnicę pomiędzy dwiema datami i przedstawić wynik w postaci dni, miesięcy lub lat? Na przykład, musisz policzyć wiek pracownika, czyli wynik przedstawić w latach. Albo obliczasz staż pracy, więc wynik będzie przedstawiony w miesiącach lub czas trwania projektu, który będzie wyrażony w dniach.
W tym ostatnim przykładzie będzie to stosunkowo proste, ponieważ daty w Excelu są przechowywane jako kolejne liczby porządkowe. Każda data jest pewną sumą dni, więc zwykła różnica pomiędzy dwoma datami daje nam zawsze różnicę w dniach.
Natomiast co w sytuacji, gdy różnica w dniach pomiędzy dwoma datami to np. 3125? Niekoniecznie widać na pierwszy rzut oka ile to jest miesięcy lub lat? Jeśli chcesz dowiedzieć się jak łatwo w Excelu zobaczyć taką różnicę dat, ale wyrażoną w innych jednostkach niż dni, to koniecznie czytaj dalej!
Do obliczeń na datach bardzo przydaje się funkcja, którą nie tak łatwo w Excelu znaleźć. Nie ma jej w sekcji Biblioteka funkcji na karcie Formuły, nie podpowie jej wyszukiwarka pod przyciskiem Fx, nie znajdziemy jej też na liście, która się pojawia po wpisaniu znaku równości w komórce arkusza. Wszystko dlatego, że nasza funkcja działa w Excelu niejako w trybie zgodności, a jej celem jest obsługa starszych skoroszytów z programu Lotus 1-2-3, czyli aplikacji z lat 80. XX wieku!
Oczywiście nic nie stoi na przeszkodzie, aby używać tej funkcji nadal, ale żeby ją wykorzystać w Excelu musimy znać jej pełną nazwę i składnię, ponieważ nie dostaniemy żadnych podpowiedzi jak do innych funkcji w Excelu.
Nasza tajemnicza funkcja nazywa się DATA.RÓŻNICA (DATEDIF w j. angielskim) i najkrócej mówiąc oblicza ona liczbę dni, miesięcy lub lat między dwiema datami. Za jej pomocą możemy w prosty sposób obliczyć wszystkie rzeczy przytoczone w pierwszej części artykułu i nie tylko. Czas więc poznać ją bliżej!
A jeśli interesuje Cię więcej ciekawostek dot. daty, czasu i nie tylko, koniecznie sprawdź nasz kurs Excel Średnio zaawansowany, w którym szczegółowo omawiamy te tematy.
Aby używać funkcji w Excelu musimy podać jej pełną nazwę i otworzyć ręcznie nawias, dopiero wtedy zobaczymy, że Excel rozpoznaje taką funkcję, ale nie ujrzymy podpowiedzi.
Całą składnię musimy podać samodzielnie, a przedstawia się ona następująco:
DATA.RÓŻNICA(data_początkowa;data_końcowa;jednostka)
Pierwszy argument data_początkowa (start_date) to pierwsza data danego okresu i musi być ona mniejsza od daty końcowej – w innym przypadku otrzymamy błąd #LICZBA!. Co ciekawe, data może być zapisana jako ciąg tekstowy w cudzysłowie np. ”1990-01-01” i zostanie poprawnie rozpoznana.
Drugi argument data_końcowa (end_date) to ostatnia data danego okresu.
Trzeci argument jednostka (unit) to informacja dla funkcji, w jaki sposób pokazywać różnicę dat. Jednostkę zapisujemy w cudzysłowie używając skrótów od angielskich zwrotów określających różne części daty. Poniżej tabelka z dostępnymi jednostkami:
Jednostka | Opis |
”Y” | Zwraca liczbę pełnych lat w okresie |
”M” | Zwraca liczbę pełnych miesięcy w okresie |
”D” | Zwraca liczbę pełnych dni w okresie |
”MD” | Zwraca różnicę w pełnych dniach ignorując przy tym miesiące i lata* |
”YM” | Zwraca różnicę w pełnych miesiącach ignorując przy tym dni i lata |
”YD” | Zwraca różnicę w pełnych dniach ignorując przy tym lata |
* Microsoft nie zaleca używania argumentu ”MD”, ponieważ w wybranych przypadkach funkcja zwraca wartość ujemną, zero lub nieprawidłowy wynik.
Funkcja nie rozpoznaje wielkości liter, więc ostatni argument można zapisać zarówno wielkimi jak i małymi literami.
Poniżej kilka przykładów pokazujących działanie funkcji w praktyce. W komórkach B1 i B2 umieszczane będą różne daty, natomiast w komórkach B5:B10 będziemy obserwować wyniki, zależne od wpisanej jednostki w ostatnim argumencie funkcji.
Widzimy, że od wskazanej daty do końca roku mamy mniej niż rok, więc pierwszy wynik to 0. Pozostały nam 4 pełne miesiące i jednocześnie 148 pełnych dni, co wynika z dwóch kolejnych obliczeń. Dla argumentu MD widzimy wynik 26 co oznacza, że od 05 do 31 jest właśnie tyle dni – nie ma tu znaczenia miesiąc, ani rok. Dwa ostatnie wyniki są zgodne z wcześniejszymi, ponieważ nasze daty są z tego samego roku. Gdybyśmy w tym przypadku połączyli dwa wyniki z argumentami M i MD w ładny sposób zobaczymy, że do końca roku pozostały nam 4 miesiące i 26 dni.
Tutaj dostajemy za każdym razem inny wynik, ale wszędzie poprawny. Widzimy, że do roku 2030 pozostało nam 8 pełnych lat, 100 pełnych miesięcy, 3071 dni oraz 27 dni różnicy (26 dni do końca sierpnia plus 1 w styczniu) pomiędzy datami nie biorąc pod uwagę miesiąca i lat, 4 pełne miesiące (wrzesień, październik, listopad, grudzień) i 149 pełnych dni nie biorąc pod uwagę lat.
Tutaj możemy zaobserwować dziwny wynik wynoszący -2 w przypadku obliczania dni, bez zwracania uwagi na miesiące i lata. Dzieje się tak dlatego, że wyliczając różnicę zahaczamy o luty, który wprowadza pewne zamieszanie w niniejszej funkcji i w takiej sytuacji wynik wychodzi na minusie. Nie jest to więc idealne rozwiązanie – na to zwracaliśmy uwagę przy rozpisywaniu znaczenia jednostek.
Możemy zaobserwować wszystkie obliczenia jak w poprzednich przykładach oraz dodatkowo informację 31 lat, 2 miesiące, 24 dni, która jest niczym innym jak złożeniem tekstów oraz trzech funkcji DATA.RÓŻNICA w jedną, za każdym razem zmieniając argument jednostka (odpowiednio Y, YM, MD). Finalna funkcja wygląda jak poniżej:
=DATA.RÓŻNICA(B1;B2;”y”)&” lat, „&DATA.RÓŻNICA(B1;B2;”ym”)&” miesiące, „&DATA.RÓŻNICA(B1;B2;”md”)&” dni”
Jak mogliśmy zauważyć w jednym z powyższych przykładów funkcja DATA.RÓŻNICA nie zawsze daje prawidłowe wyniki, trzeba więc używać jej z rozwagą, natomiast w większości przypadków obliczenia za jej pomocą będą prawidłowe. To o czym musimy pamiętać to:
Mimo, że funkcja ma swoje mankamenty to jednak bardzo często jest wykorzystywana w Excelu. Niby Microsoft się nią nie chwali, znaleźć ją niełatwo, ale gdy o jej istnieniu wiemy to nasze obliczenia na datach w Excelu stają się prostsze! 😊
Jeśli podoba Ci się powyższa funkcja i interesują Cię inne „tricki” w Excelu – koniecznie sprawdź nasze inne artykuły i szkolenia jakie prowadzimy z Excela.