Najprostszą różnicę między datami w Excelu obliczysz przez odejmowanie, na przykład =B1-A1. Excel przechowuje daty jako liczby, więc wynik będzie liczbą dni. Gdy potrzebujesz pełnych lat lub miesięcy, użyj funkcji DATA.RÓŻNICA, a przy pomijaniu weekendów i świąt – DNI.ROBOCZE.NIESTAND.
Najprostsza różnica dat w Excelu
Załóżmy, że data początkowa znajduje się w komórce A1, a data końcowa w B1. Wpisz:
=B1-A1
Formuła zwróci liczbę dni między datami. Kolejność ma znaczenie: późniejszą datę odejmujesz od wcześniejszej. Jeśli A1 zawiera 1 stycznia, a B1 10 stycznia, wynik wyniesie 9.
Daty są w arkuszu przechowywane jako liczby porządkowe. Dzięki temu zwykłe odejmowanie działa bez dodatkowych funkcji. Jeśli wynik wyświetla się jako kolejna data, zaznacz komórkę i zmień jej format na Ogólne albo Liczba. Możesz też użyć funkcji:
=DNI(B1;A1)
Funkcja DNI zwraca różnicę w dniach, przyjmując najpierw datę końcową, a potem początkową.
DATA.RÓŻNICA – pełne lata, miesiące i dni
Gdy samo odejmowanie nie wystarcza, użyj funkcji:
=DATA.RÓŻNICA(data_początkowa;data_końcowa;jednostka)
Przykład dla dat z komórek A1 i B1:
=DATA.RÓŻNICA(A1;B1;"y")
Funkcja DATA.RÓŻNICA jest funkcją ukrytą, czasem nazywaną funkcją widmo. Nie pojawia się na liście podpowiedzi po wpisaniu znaku równości ani w kreatorze funkcji, ale można wpisać ją ręcznie. W polskiej wersji Excela argumenty oddzielaj średnikami.
Jednostka musi być zapisana w cudzysłowie. Poszczególne oznaczenia działają następująco:
| Jednostka | Opis | Przykładowa formuła |
|---|---|---|
"d" |
Pełne dni między datami | =DATA.RÓŻNICA(A1;B1;"d") |
"m" |
Pełne miesiące między datami | =DATA.RÓŻNICA(A1;B1;"m") |
"y" |
Pełne lata między datami | =DATA.RÓŻNICA(A1;B1;"y") |
"ym" |
Pozostałe miesiące po odjęciu pełnych lat | =DATA.RÓŻNICA(A1;B1;"ym") |
"yd" |
Dni z pominięciem pełnych lat | =DATA.RÓŻNICA(A1;B1;"yd") |
Na przykład obliczenie wieku w pełnych latach może wyglądać tak:
=DATA.RÓŻNICA(A1;DZIŚ();"y")
Funkcja DZIŚ() pobiera bieżącą datę, więc wynik będzie aktualizował się wraz z upływem czasu.
Nie używaj parametru
"md"bez wyraźnej potrzeby. Microsoft ostrzega, że w określonych sytuacjach może on zwrócić niedokładny, zerowy albo ujemny wynik. Do obliczania pozostałych dni lepiej zastosować odejmowanie pierwszego dnia miesiąca końcowego od daty końcowej.
Przykładowa formuła dla dni pozostałych po pełnych latach i miesiącach może wyglądać tak:
=B1-DATA(ROK(B1);MIESIĄC(B1);1)
Jeśli data początkowa jest późniejsza niż końcowa, funkcja DATA.RÓŻNICA zwróci błąd #NUM!. Sprawdź wtedy kolejność dat w komórkach.
Jak obliczyć dni robocze?
Zwykłe odejmowanie uwzględnia wszystkie dni kalendarzowe. Jeśli chcesz pominąć weekendy i święta, użyj funkcji DNI.ROBOCZE.NIESTAND:
=DNI.ROBOCZE.NIESTAND(A1;B1;1;Święta)
Argument 1 oznacza weekend obejmujący sobotę i niedzielę. Zakres Święta powinien zawierać daty dni wolnych, po jednej dacie w każdej komórce. Możesz wskazać zwykły zakres, na przykład $E$2:$E$10, albo nadać mu nazwę.
Obliczenie dni roboczych przygotujesz w dwóch krokach:
- Wpisz daty świąt w osobnym zakresie, na przykład E2:E10, i upewnij się, że Excel rozpoznaje je jako daty.
- W komórce z wynikiem wpisz
=DNI.ROBOCZE.NIESTAND(A1;B1;1;$E$2:$E$10).
Trzeci argument pozwala zmienić układ weekendu, jeśli dni wolne przypadają w inne dni tygodnia. Funkcja może też korzystać z siedmioznakowego wzorca, w którym jedynki oznaczają dni wolne, a zera pracujące. Zwykłe soboty i niedziele najczęściej obsługuje jednak argument 1.
Odejmowanie dat a DATA.RÓŻNICA – którą metodę wybrać?
| Metoda | Najlepsze zastosowanie | Ważna uwaga |
|---|---|---|
=B1-A1 |
Szybka liczba dni kalendarzowych | Wynik trzeba wyświetlić jako liczbę |
=DNI(B1;A1) |
Różnica dni z jasno określoną kolejnością argumentów | Najpierw podajesz datę końcową |
=DATA.RÓŻNICA(A1;B1;"y") |
Pełne lata, miesiące lub pozostałe jednostki | Funkcja nie pojawia się w podpowiedziach |
=DNI.ROBOCZE.NIESTAND(...) |
Dni robocze z pominięciem weekendów i świąt | Wymaga ustawienia weekendu i zakresu świąt |
Najczęstsze problemy z różnicą dat
Gdy formuła nie zwraca oczekiwanego wyniku, sprawdź przede wszystkim:
- Wynik wygląda jak data – ustaw format komórki na Ogólne lub Liczba.
- Wynik jest ujemny – upewnij się, że data początkowa jest wcześniejsza od końcowej.
- Pojawia się
#NUM!– w funkcjiDATA.RÓŻNICAzamień kolejność dat. - Excel nie podpowiada funkcji –
DATA.RÓŻNICAtrzeba wpisać ręcznie, ponieważ jest funkcją ukrytą. - Data jest traktowana jak tekst – przekonwertuj ją na prawdziwą datę, zamiast wpisywać wartość jako zwykły ciąg znaków.
Do samej liczby dni wystarczy odejmowanie, do pełnych lat i miesięcy użyj DATA.RÓŻNICA, a do terminów liczonych tylko w dniach pracy wybierz DNI.ROBOCZE.NIESTAND. Najwięcej problemów powodują nieprawidłowy format komórek oraz odwrócona kolejność dat.