=DATA.RÓŻNICA(A2;B2;"M") (po angielsku =DATEDIF(A2,B2,"M")) liczy pełne miesiące między datą początkową w A2 a końcową w B2. Trzeci argument, jednostka, decyduje, co jest liczone: "Y" lata, "M" miesiące, "D" dni, a do tego trzy jednostki, które pomijają część dat. Tabele pokazują formuły po angielsku, ale możesz w nich wpisywać formuły także po polsku, ze średnikami.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Start | End | Unit | Result | |
| 2 | 2024-04-15 | 2026-09-10 | Y | 2 | |
| 3 | M | 28 | |||
| 4 | D | 878 | |||
| 5 | YM | 4 | |||
| 6 | MD | 26 | |||
| 7 | YD | 148 |
=DATA.RÓŻNICA($A$2;$B$2;D3)Od 2024-04-15 do 2026-09-10 mijają 2 pełne lata, 28 pełnych miesięcy i 878 dni. Zmień datę końcową w B2 i zobacz, jak zmienia się każda jednostka. Jednostkę można wpisać w formule ("M") albo, jak tutaj, odczytać z komórki.
Składnia i jednostki DATA.RÓŻNICA
=DATEDIF(start_date, end_date, unit)
| Jednostka | Liczy | 2024-04-15 do 2026-09-10 |
|---|---|---|
"Y" | pełne lata | 2 |
"M" | pełne miesiące | 28 |
"D" | dni | 878 |
"YM" | miesiące po ostatnim pełnym roku | 4 |
"MD" | dni po ostatnim pełnym miesiącu | 26 |
"YD" | dni po ostatnim pełnym roku | 148 |
„Pełne” oznacza, że DATA.RÓŻNICA nigdy nie zaokrągla w górę. Od 31 stycznia do 28 lutego mija 0 miesięcy, bo 28 lutego jest przed granicą jednego miesiąca. Wielkość liter w jednostce nie ma znaczenia ("m" też działa), ale jednostka musi być w cudzysłowie albo w komórce.
Dlaczego DATA.RÓŻNICA nie ma na liście funkcji
DATEDIF trafiła do Excela z Lotus 1-2-3, a Microsoft utrzymuje ją tylko dla zgodności. Nie ma jej w oknie Wstaw funkcję, autouzupełnianie formuł jej nie podpowiada i żadna etykietka nie pokazuje jej argumentów. Mimo to liczy w każdej wersji Excela dla Windows i Maca oraz w Arkuszach Google. Wpisz całą nazwę i nawias otwierający, =DATA.RÓŻNICA(, i sam dodaj argumenty.
Miesiące między dwiema datami
Pełnych miesięcy potrzebuje większość umów, subskrypcji i raportów stażu pracy. Dla wyniku z częścią ułamkową CZĘŚĆ.ROKU(A2;B2)*12 (po angielsku YEARFRAC) zwraca miesiące z zachowaniem ułamka (jej domyślna podstawa liczy każdy miesiąc jako 30 dni).
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Start | End | Full months | Decimal months |
| 2 | 2025-03-10 | 2026-01-05 | 9 | 9.8 |
| 3 | 2024-04-15 | 2026-09-10 | 28 | 28.8 |
| 4 | 2026-01-31 | 2026-02-28 | 0 | 0.9 |
| 5 | 2025-11-01 | 2026-05-01 | 6 | 6.0 |
=DATA.RÓŻNICA(A2;B2;"M")Pierwsza subskrypcja trwała 9 pełnych miesięcy: 5 stycznia jest przed 10., więc dziesiąty miesiąc nie jest liczony. Trzeci wiersz pokazuje przypadek 31 stycznia, 0 miesięcy.
Lata, miesiące i dni razem
"Y", "YM" i "MD" są stworzone do używania razem. Każda zaczyna tam, gdzie skończyła poprzednia, więc wszystkie trzy odpowiadają na pytanie „jak długo dokładnie”: 2 lata, 4 miesiące i 26 dni dla dat powyżej. Obliczanie wieku używa tych samych trzech jednostek dla dat urodzenia.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Hired | Years | Months | Days | Service | As of |
| 2 | 2019-06-03 | 7 | 3 | 27 | 7y 3m 27d | 2026-09-30 |
| 3 | 2023-11-20 | 2 | 10 | 10 | 2y 10m 10d |
=B2&"y "&C2&"m "&D2&"d"Dnia 2026-09-30 pierwszy pracownik ma staż 7 lat, 3 miesięcy i 27 dni.
Dlaczego DATA.RÓŻNICA zwraca #LICZBA!
DATA.RÓŻNICA nie liczy wstecz. Gdy data początkowa jest późniejsza niż końcowa, wynikiem jest #LICZBA! (po angielsku #NUM!; tabele pokazują angielskie nazwy błędów). Jeśli kolejność może się zmieniać, podaj DATA.RÓŻNICA wcześniejszą datę przez MIN, a późniejszą przez MAX.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Start | End | DATEDIF | With MIN and MAX |
| 2 | 2026-03-10 | 2026-01-05 | #NUM! | 64 |
#NUM! Liczba wykracza poza zakres, który przyjmuje ta funkcja.W polskim Excelu: =DATA.RÓŻNICA(A2;B2;"D")C2 pokazuje #NUM!; D2 zwraca 64. Dla samych dni =MODUŁ.LICZBY(B2-A2) (po angielsku ABS) daje te same 64 bez DATA.RÓŻNICA. DATA.RÓŻNICA zwraca #LICZBA! także dla nieznanej jednostki, na przykład "W", i #ARG! (#VALUE!), gdy data jest tekstem, którego Excel nie potrafi odczytać jako daty.
Jednostka MD może się mylić
Dokumentacja Microsoftu sama odradza "MD": gdy dzień początkowy nie istnieje w miesiącu przed datą końcową, wynik może być ujemny.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Start | End | MD | D |
| 2 | 2026-01-31 | 2026-03-01 | -2 | 29 |
=DATA.RÓŻNICA(A2;B2;"MD")Od 31 stycznia do 1 marca wynik "MD" to -2: DATA.RÓŻNICA liczy od „31 lutego”, które przechodzi na 3 marca, dwa dni po dacie końcowej. Liczba dni, 29, jest poprawna. Gdy daty początkowe mogą przypadać od 29. do 31. dnia miesiąca, pokazuj długość w dniach albo sprawdzaj wynik MD ręcznie.
Ćwiczenie: policz miesiące
| A | B | C | |
|---|---|---|---|
| 1 | Start | End | Months |
| 2 | 2025-03-10 | 2026-01-05 |
Twoja kolej: W C2 policz pełne miesiące między datą początkową w A2 a końcową w B2.
| A | B | C | |
|---|---|---|---|
| 1 | Date 1 | Date 2 | Days |
| 2 | 2026-04-18 | 2026-02-01 |
Twoja kolej: W C2 policz dni między dwiema datami, niezależnie od tego, która jest wcześniejsza.
Najczęściej zadawane pytania
Co robi DATA.RÓŻNICA w Excelu?
Liczy pełne lata, miesiące albo dni między dwiema datami: =DATA.RÓŻNICA(A2;B2;"Y") dla lat, "M" dla miesięcy, "D" dla dni. Data początkowa musi być pierwsza.
Dlaczego nie mogę znaleźć DATA.RÓŻNICA w Excelu?
DATA.RÓŻNICA jest zachowana dla zgodności z Lotus 1-2-3, więc Excel pomija ją w oknie Wstaw funkcję i w autouzupełnianiu formuł. Nadal działa w każdej wersji: wpisz całe =DATA.RÓŻNICA( i sam dodaj argumenty.
Dlaczego DATA.RÓŻNICA zwraca #LICZBA!?
Data początkowa jest późniejsza niż końcowa. Zamień argumenty albo użyj =DATA.RÓŻNICA(MIN(A2;B2);MAX(A2;B2);"D"), gdy nie wiesz, która data jest pierwsza.
Czym różnią się YM, MD i YD w DATA.RÓŻNICA?
Pomijają część dat: "YM" daje miesiące pozostałe po pełnych latach, "MD" dni pozostałe po pełnych miesiącach, a "YD" dni pozostałe po pełnych latach. Razem "Y", "YM" i "MD" dają wiek w latach, miesiącach i dniach.
Czy DATEDIF działa w Arkuszach Google?
Tak, z tymi samymi argumentami i jednostkami. Arkusze Google, w przeciwieństwie do Excela, pokazują ją też w pomocy funkcji.