fbpx

Funkcja DATA.RÓŻNICA (DATEDIF)

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! 

Funkcja, której nie znajdziesz

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.

Omówienie funkcji DATA.RÓŻNICA

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:

JednostkaOpis
”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.

Przykłady

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.

  1. Zobaczmy różnicę pomiędzy datą 05.08.2021, a ostatnią w 2021.

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.

  1. Zobaczmy różnicę pomiędzy datą 05.08.2021, a pierwszym dniem roku 2030.

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.

  1. Zobaczmy różnicę pomiędzy Sylwestrem, a 01.03. kolejnego roku.

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.

  1. Najczęściej jednak funkcję DATA.RÓŻNICA wykorzystuje się do obliczenia wieku danej osoby. Zobaczmy różnicę pomiędzy przykładową datą urodzenia 12.05.1990, a dniem 05.08.2021.

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”

Ograniczenia funkcji

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:

  • data_początkowa zawsze musi być mniejsza niż data_końcowa,
  • oba te argumenty muszą być datami rozpoznawanymi przez Excela,
  • obliczając różnicę zawsze dostaniemy liczbę oznaczającą pełne dni/miesiące/lata. Nawet jeśli z porównania wyjdzie nam, że brakuje jednego dnia do całego roku (czyli mamy prawie 1 rok) to wynik funkcji i tak wskaże 0 lat.

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.

Zobacz również

Szkolenia

udostępnij:
Gratulacje!
Wniosek został wysłany prawidłowo.
Dziękujemy za przesłanie zapytania. Skontaktujemy się z Tobą najszybciej jak to możliwe.