Różnicę między datami w Excelu obliczysz przez zwykłe odejmowanie, jeśli potrzebujesz liczby dni, albo za pomocą funkcji DATA.RÓŻNICA, gdy wynik ma być podany w pełnych latach, miesiącach lub dniach. DATA.RÓŻNICA nie pojawia się w podpowiedziach Excela, dlatego jej nazwę i składnię trzeba wpisać ręcznie.
Dwie metody obliczania różnicy dat
Jeśli data początkowa znajduje się w komórce A1, a końcowa w B1, liczbę dni obliczysz formułą:
=B1-A1
Excel przechowuje daty jako kolejne liczby, więc odejmowanie zwraca liczbę dni między terminami. Ta metoda nie rozdzieli jednak wyniku na pełne lata, miesiące i pozostałe dni.
Do takich obliczeń służy funkcja DATA.RÓŻNICA, znana w angielskiej wersji jako DATEDIF. Została zachowana między innymi dla zgodności ze starszymi skoroszytami programu Lotus 1-2-3. Nie znajdziesz jej na liście funkcji ani w oknie „Wstawianie funkcji”. Wpisz ją bezpośrednio w komórce:
=DATA.RÓŻNICA(data_początkowa;data_końcowa;jednostka)
Składnia i jednostki funkcji DATA.RÓŻNICA
Pierwszy argument wskazuje wcześniejszą datę, drugi późniejszą, a trzeci określa sposób przedstawienia wyniku. Jednostkę należy zapisać w cudzysłowie:
| Jednostka | Co zwraca? |
|---|---|
| Y | Liczbę pełnych lat między datami |
| M | Liczbę pełnych miesięcy między datami |
| D | Liczbę dni między datami |
| YM | Liczbę miesięcy po odjęciu pełnych lat, bez uwzględniania dni |
| YD | Liczbę dni po odjęciu pełnych lat |
| MD | Liczbę dni po odjęciu pełnych miesięcy i lat |
Przykładowe formuły dla dat zapisanych w komórkach A1 i B1 wyglądają tak:
- Y –
=DATA.RÓŻNICA(A1;B1;"Y") - M –
=DATA.RÓŻNICA(A1;B1;"M") - D –
=DATA.RÓŻNICA(A1;B1;"D") - YM –
=DATA.RÓŻNICA(A1;B1;"YM") - YD –
=DATA.RÓŻNICA(A1;B1;"YD") - MD –
=DATA.RÓŻNICA(A1;B1;"MD")
Data początkowa musi być wcześniejsza lub równa dacie końcowej. Gdy pierwszy argument wskazuje późniejszy termin, Excel zwróci błąd #LICZBA!.
Parametr „MD” może zwracać wartości ujemne, zero albo wynik niedokładny, szczególnie przy zakresach obejmujących luty lub lata przestępne. Microsoft nie zaleca używania go bez sprawdzenia rezultatu.
Jak obliczyć wiek lub staż pracy?
Załóżmy, że data rozpoczęcia znajduje się w komórce B1, a data końcowa w B2. Aby obliczyć pełne lata, użyj:
=DATA.RÓŻNICA(B1;B2;”Y”)
Ta sama funkcja może posłużyć do obliczenia stażu pracy, czasu trwania umowy albo wieku. Gdy potrzebujesz wyniku w latach, miesiącach i dniach, wykonaj obliczenia w czterech etapach:
- Oblicz pełne lata za pomocą jednostki „Y”.
- Oblicz miesiące pozostałe po pełnych latach za pomocą jednostki „YM”.
- Oblicz pozostałe dni za pomocą jednostki „MD”, pamiętając o jej ograniczeniach.
- Połącz wyniki w jeden tekst operatorem
&.
Gotowa formuła może wyglądać tak:
=DATA.RÓŻNICA(B1;B2;”Y”)&” lat, „&DATA.RÓŻNICA(B1;B2;”YM”)&” mies., „&DATA.RÓŻNICA(B1;B2;”MD”)&” dni”
Jeśli obliczenia dotyczą bieżącego dnia, datę końcową możesz zastąpić funkcją DZIŚ(), na przykład:
=DATA.RÓŻNICA(B1;DZIŚ();”Y”)
Wynik będzie zmieniał się wraz z aktualną datą systemową.
Co zrobić, gdy funkcja zwraca błąd?
Najczęstszy problem to odwrócona kolejność dat. Sprawdź, czy data początkowa rzeczywiście znajduje się przed końcową. W formule =DATA.RÓŻNICA(B1;B2;"D") wartość w B1 musi być wcześniejsza niż wartość w B2.
Jeżeli wynik z jednostką „MD” wydaje się nieprawidłowy, nie traktuj go jako wiarygodnego bez dodatkowej kontroli. Przy obliczaniu pozostałych dni można użyć działania na datach zamiast tego parametru, na przykład odjąć pierwszy dzień miesiąca końcowego od daty końcowej.
Do obliczeń biznesowych, w których liczą się tylko dni robocze, użyj funkcji DNI.ROBOCZE albo DNI.ROBOCZE.NIESTAND. Druga z nich pozwala uwzględnić własną listę weekendów i dni wolnych.
Którą metodę wybrać?
Gdy potrzebujesz wyłącznie liczby dni, zastosuj proste odejmowanie dat. Gdy wynik ma przedstawiać pełne lata, miesiące albo rozbicie na lata, miesiące i dni, wpisz ręcznie funkcję DATA.RÓŻNICA i dobierz właściwy parametr jednostki.