=B2-A2 zwraca liczbę dni między datą w A2 a późniejszą datą w B2. Excel przechowuje każdą datę jako całkowitą liczbę dni (2026-03-15 to 46096), więc odjęcie jednej daty od drugiej daje liczbę dni pomiędzy nimi.
| A | B | C | |
|---|---|---|---|
| 1 | Ordered | Delivered | Days |
| 2 | 2026-03-02 | 2026-03-09 | 7 |
| 3 | 2026-03-05 | 2026-03-07 | 2 |
| 4 | 2026-03-10 | 2026-04-02 | 23 |
| 5 | 2026-03-28 | 2026-04-03 | 6 |
| 6 | 2026-12-29 | 2027-01-04 | 6 |
=B2-A2Zamówienia trwały 7, 2, 23, 6 i 6 dni. Odejmowanie samo radzi sobie z granicami miesięcy i lat: ostatnie zamówienie przechodzi przez Nowy Rok, a i tak daje 6 dni. Zmień datę dostawy, a liczba dni się dostosuje. Jeśli wcześniejsza data jest w B, wynik jest ujemny: -7 zamiast 7.
Funkcja DNI
=DNI(data_końcowa;data_początkowa) (po angielsku =DAYS(end_date, start_date)) wykonuje to samo odejmowanie, z datą końcową na początku. Daje te same liczby co =B2-A2; głównym powodem, by jej używać, jest to, że nazwa mówi, co robi formuła. Formuły w tabelach możesz wpisywać także po polsku, ze średnikami: =DNI(B2;A2).
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Start | End | B2-A2 | DAYS |
| 2 | 2026-01-15 | 2026-03-10 | 54 | 54 |
| 3 | 2026-02-01 | 2026-03-01 | 28 | 28 |
| 4 | 2024-02-01 | 2024-03-01 | 29 | 29 |
=DNI(B2;A2)Luty 2026 ma 28 dni, a luty 2024 ma 29: Excel zna kalendarz, łącznie z latami przestępnymi. Uważaj na kolejność argumentów: =DNI(A2;B2) zwraca -54 dla pierwszego wiersza. DNI wymaga Excela 2013 lub nowszego; odejmowanie działa wszędzie.
Liczenie dni z datą początkową i końcową
Odejmowanie liczy dni między dwiema datami, czyli liczbę nocy. Rezerwacja od 6 do 10 lipca to 4 noce, ale za samochód wypożyczony od 6 do 10 lipca płaci się za 5 dni. Gdy liczy się i pierwszy, i ostatni dzień, dodaj 1.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | From | To | Nights | Days (both counted) |
| 2 | 2026-07-06 | 2026-07-10 | 4 | 5 |
| 3 | 2026-07-31 | 2026-08-01 | 1 | 2 |
=B2-A2+1Pojedynczy dzień, od 2026-07-06 do 2026-07-06, to 0 według odejmowania i 1 z +1. Stąd bierze się większość błędów o jeden w arkuszach z datami, więc zdecyduj, czego potrzebujesz, zanim wypełnisz kolumnę.
Tygodnie, miesiące i lata między dwiema datami
Podziel dni przez 7, aby dostać tygodnie. Miesiące i lata nie mają stałej liczby dni, więc użyj DATA.RÓŻNICA (DATEDIF), która liczy pełne miesiące i lata kalendarzowe.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Start | End | Weeks | Full weeks | Months | Years |
| 2 | 2025-06-15 | 2026-09-30 | 67.4 | 67 | 15 | 1 |
| 3 | 2024-01-01 | 2026-01-01 | 104.4 | 104 | 24 | 2 |
=ZAOKR.DO.CAŁK((B2-A2)/7)Od 2025-06-15 do 2026-09-30 mija 67,4 tygodnia, 67 pełnych tygodni, 15 pełnych miesięcy i 1 pełny rok. DATA.RÓŻNICA wymaga wcześniejszej daty jako pierwszej, a w odwrotnej kolejności zwraca #LICZBA! (po angielsku #NUM!; tabele pokazują angielskie nazwy błędów).
Dni robocze między dwiema datami
Aby liczyć tylko dni od poniedziałku do piątku, użyj DNI.ROBOCZE(start;koniec) (po angielsku NETWORKDAYS). Liczy zarówno datę początkową, jak i końcową, gdy wypadają w dni powszednie, i jako trzeci argument może pominąć listę świąt. Święta i inne weekendy opisuje strona DNI.ROBOCZE i DZIEŃ.ROBOCZY.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Start | End | Calendar days | Working days |
| 2 | 2026-03-02 | 2026-03-13 | 12 | 10 |
| 3 | 2026-03-06 | 2026-03-09 | 4 | 2 |
=DNI.ROBOCZE(A2;B2)Od 2 do 13 marca 2026 to 12 dni, licząc oba końce, z czego 10 to dni powszednie. Od piątku do następnego poniedziałku to 4 dni i 2 dni robocze.
Ćwiczenie: czas dostawy
| A | B | C | |
|---|---|---|---|
| 1 | Ordered | Delivered | Days |
| 2 | 2026-05-18 | 2026-05-27 |
Twoja kolej: W C2 oblicz, ile dni trwało zamówienie, od daty zamówienia w A2 do daty dostawy w B2.
Dlaczego wynik wyświetla się jako data albo
Przy odejmowaniu dat często pojawiają się dwa problemy z wyświetlaniem:
- Wynik wygląda jak data (
1900-01-07, a przy polskich ustawieniach07.01.1900). Komórka zachowała format daty, więc 7 dni wyświetla się jako 7. dzień kalendarza Excela. Zaznacz komórki i wybierz Narzędzia główne > Format liczb > Ogólne. - Komórka wypełnia się znakami
#####. Wynik jest ujemny (daty są w odwrotnej kolejności), a komórka ma format daty, która nie może być ujemna. Zamień daty, użyj=MODUŁ.LICZBY(B2-A2)albo ustaw format Ogólne, aby zobaczyć liczbę ujemną.
Jeśli wynikiem jest #ARG! (po angielsku #VALUE!), jedna z komórek zawiera tekst, który tylko wygląda jak data, na przykład 15.03.2026 w Excelu ustawionym na daty amerykańskie. Sprawdź to formułą =CZY.LICZBA(A2): prawdziwa data zwraca PRAWDA.
Najczęściej zadawane pytania
Jak obliczyć liczbę dni między dwiema datami w Excelu?
Odejmij wcześniejszą datę od późniejszej: =B2-A2. Excel przechowuje daty jako liczby dni, więc wynik to liczba dni między nimi. =DNI(B2;A2) daje ten sam wynik.
Jak policzyć dni razem z datą początkową i końcową?
Dodaj 1: =B2-A2+1. Od 6 do 10 lipca to 4 dni według odejmowania (noce w hotelu) i 5 dni, gdy liczysz oba końce (dni wypożyczenia).
Jak obliczyć liczbę miesięcy między dwiema datami w Excelu?
=DATA.RÓŻNICA(A2;B2;"M") liczy pełne miesiące. Dla lat użyj "Y". DATA.RÓŻNICA wymaga wcześniejszej daty jako pierwszej.
Czym różni się funkcja DNI od odejmowania dat?
Wynikiem niczym: =DNI(B2;A2) i =B2-A2 zwracają tę samą liczbę dni. DNI przyjmuje najpierw datę końcową i wymaga Excela 2013 lub nowszego; odejmowanie działa w każdej wersji.
Jak obliczyć liczbę tygodni między dwiema datami w Excelu?
Podziel dni przez 7: =(B2-A2)/7 daje tygodnie z częścią ułamkową, a =ZAOKR.DO.CAŁK((B2-A2)/7) pełne tygodnie.