=DNI.ROBOCZE(A2;B2) (po angielsku =NETWORKDAYS(A2,B2)) liczy dni robocze od daty w A2 do daty w B2, obie włącznie, przy czym dzień roboczy to dzień od poniedziałku do piątku. =DZIEŃ.ROBOCZY(A2;10) (=WORKDAY(A2,10)) działa w drugą stronę: zwraca datę 10 dni roboczych po A2. Tabele pokazują formuły po angielsku, ale możesz w nich wpisywać formuły także po polsku, ze średnikami.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Start | End | Working days | Calendar days |
| 2 | 2026-03-02 | 2026-03-13 | 10 | 12 |
| 3 | 2026-03-02 | 2026-03-31 | 22 | 30 |
| 4 | 2026-03-06 | 2026-03-09 | 2 | 4 |
| 5 | 2026-03-07 | 2026-03-08 | 0 | 2 |
=DNI.ROBOCZE(A2;B2)Pierwszy projekt trwa od poniedziałku do piątku następnego tygodnia: 12 dni kalendarzowych, 10 dni roboczych. Cały marzec 2026 od 2. dnia ma 22 dni robocze. Od piątku do następnego poniedziałku to 2, a sam weekend to 0. Zmień datę końcową, aby zobaczyć, jak zmienia się wynik. (Zwykłe liczenie dni opisuje strona dni między datami).
DNI.ROBOCZE ze świętami
Trzeci argument to zakres dat do pominięcia oprócz weekendów. Trzymaj święta w osobnej kolumnie (albo w innym arkuszu) i zablokuj zakres znakiem $, żeby nie przesuwał się przy kopiowaniu formuły w dół.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Start | End | No holidays | With holidays | Holidays |
| 2 | 2026-03-30 | 2026-04-10 | 10 | 8 | 2026-04-03 |
| 3 | 2026-04-01 | 2026-04-30 | 22 | 20 | 2026-04-06 |
| 4 | 2026-04-27 | 2026-05-08 | 10 | 9 | 2026-05-01 |
=DNI.ROBOCZE(A2;B2)Od 30 marca do 10 kwietnia jest 10 dni powszednich, z których dwa to święta (Wielki Piątek i Poniedziałek Wielkanocny 2026), więc 8 dni roboczych. Odejmowane są tylko święta w danym okresie: ostatni wiersz traci 1 maja i nic więcej. Usuń święto z kolumny E, a wyniki znowu wzrosną.
DZIEŃ.ROBOCZY: termin w dniach roboczych
DZIEŃ.ROBOCZY(data_pocz;dni;[święta]) (po angielsku WORKDAY(start_date, days, [holidays])) zwraca datę przypadającą określoną liczbę dni roboczych po dacie początkowej. Sama data początkowa nie jest liczona, a wynik nigdy nie wypada w weekend ani w święto.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Received | Days | Due | Due (holidays) | Holidays |
| 2 | 2026-03-27 | 10 | 2026-04-10 | 2026-04-14 | 2026-04-03 |
| 3 | 2026-04-02 | 3 | 2026-04-07 | 2026-04-09 | 2026-04-06 |
| 4 | 2026-04-24 | 5 | 2026-05-01 | 2026-05-04 | 2026-05-01 |
=DZIEŃ.ROBOCZY(A2;B2)Wniosek otrzymany w piątek 2026-03-27 z terminem 10 dni roboczych ma termin 2026-04-10 albo 2026-04-14, gdy pominie się Wielki Piątek i Poniedziałek Wielkanocny. Przy ujemnej liczbie dni DZIEŃ.ROBOCZY liczy wstecz: =DZIEŃ.ROBOCZY(A2;-5) to dzień roboczy tydzień wcześniej. Aby znaleźć „następny dzień roboczy”, użyj 1, a aby zachować datę, która już jest dniem roboczym, użyj =DZIEŃ.ROBOCZY(A2-1;1).
Inne weekendy: DNI.ROBOCZE.NIESTAND
Tam, gdzie weekend to nie sobota i niedziela, DNI.ROBOCZE.NIESTAND (po angielsku NETWORKDAYS.INTL) przyjmuje kod weekendu jako trzeci argument, a święta jako czwarty.
| Weekend | Kod |
|---|---|
| sobota, niedziela | 1 (domyślnie) |
| niedziela, poniedziałek | 2 |
| piątek, sobota | 7 |
| tylko niedziela | 11 |
| tylko sobota | 17 |
| dowolny układ | 7 znaków, od poniedziałku, 1 = dzień wolny: "0000011" |
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Weekend | Code | Working days | Start | End | |
| 2 | Saturday and Sunday | 1 | 22 | 2026-03-01 | 2026-03-31 | |
| 3 | Friday and Saturday | 7 | 23 | |||
| 4 | Sunday only | 11 | 26 | |||
| 5 | Mon, Wed, Fri only | 0101011 | 13 |
=DNI.ROBOCZE.NIESTAND($E$2;$F$2;B2)Marzec 2026 ma 22 dni robocze przy weekendzie sobota i niedziela, 23 przy weekendzie piątek i sobota oraz 26, gdy wolna jest tylko niedziela. Ostatni wiersz to układ dla pracy w niepełnym wymiarze: 0101011 daje wolny wtorek i czwartek oprócz weekendu, co zostawia 13 dni. W komórce kod taki jak 0101011 musi być tekstem (wpisz go z apostrofem na początku, '0101011), inaczej Excel usunie zero z przodu.
DZIEŃ.ROBOCZY.NIESTAND (WORKDAY.INTL) robi to samo dla terminów. Oto wyniki Excela dla 10 dni roboczych po poniedziałku 2 marca 2026:
=WORKDAY.INTL(DATE(2026,3,2), 10) 2026-03-16 (Saturday and Sunday off)
=WORKDAY.INTL(DATE(2026,3,2), 10, 7) 2026-03-16 (Friday and Saturday off)
=WORKDAY.INTL(DATE(2026,3,2), 10, 11) 2026-03-13 (Sunday off)
=WORKDAY.INTL(DATE(2026,3,2), 10, "0000011") 2026-03-16 (same as code 1)
W polskim Excelu na przykład =DZIEŃ.ROBOCZY.NIESTAND(DATA(2026;3;2);10;11).
Ćwiczenie: dni robocze i termin
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Start | End | Working days | Holidays | |
| 2 | 2026-04-01 | 2026-04-30 | 2026-04-03 | ||
| 3 | 2026-04-06 |
Twoja kolej: W C2 policz dni robocze od A2 do B2, obie daty włącznie, z pominięciem świąt z E2:E3.
| A | B | C | |
|---|---|---|---|
| 1 | Received | Days | Due |
| 2 | 2026-05-14 | 8 |
Twoja kolej: W C2 zwróć datę przypadającą tyle dni roboczych po dacie z A2, ile podano w B2 (bez weekendów, bez świąt).
DNI.ROBOCZE liczy oba końce, DZIEŃ.ROBOCZY nie
Te dwie funkcje różnią się o jeden w sprawie daty początkowej, co zaskakuje osoby, które używają ich razem. DNI.ROBOCZE od poniedziałku do piątku tego samego tygodnia daje 5: liczą się oba dni. DZIEŃ.ROBOCZY od tego poniedziałku z 5 dniami trafia na następny poniedziałek, bo zaczyna liczyć od dnia następnego.
| A | B | C | |
|---|---|---|---|
| 1 | Start | WORKDAY(A2,5) | NETWORKDAYS back |
| 2 | 2026-03-02 | 2026-03-09 | 6 |
=DNI.ROBOCZE(A2;B2)DZIEŃ.ROBOCZY zwraca 2026-03-09, a DNI.ROBOCZE od 2026-03-02 do tej daty daje 6, a nie 5. Dla terminu „w ciągu 5 dni roboczych, licząc dzisiejszy” użyj =DZIEŃ.ROBOCZY(A2;4), gdy A2 jest dniem roboczym. Zdecyduj raz, którą konwencję stosuje twój zespół, i zapisz ją obok formuły.
Najczęściej zadawane pytania
Jak policzyć dni robocze między dwiema datami w Excelu?
=DNI.ROBOCZE(A2;B2) liczy dni od poniedziałku do piątku od A2 do B2, łącznie z obiema datami. Dodaj zakres dat świąt jako trzeci argument, aby je też pominąć: =DNI.ROBOCZE(A2;B2;$E$2:$E$4).
Jak dodać dni robocze do daty w Excelu?
=DZIEŃ.ROBOCZY(A2;10) zwraca datę 10 dni roboczych po A2, z pominięciem sobót i niedziel. Liczba ujemna cofa: =DZIEŃ.ROBOCZY(A2;-5). Zakres świąt dodaj jako trzeci argument.
Czym różni się DNI.ROBOCZE od DNI.ROBOCZE.NIESTAND?
DNI.ROBOCZE zawsze traktuje sobotę i niedzielę jako weekend. DNI.ROBOCZE.NIESTAND przyjmuje argument weekendu: 7 dla piątku i soboty, 11 dla samej niedzieli albo siedmioznakowy tekst, na przykład "0000011", w którym 1 oznacza dzień wolny, zaczynając od poniedziałku.
Czy DNI.ROBOCZE liczy datę początkową?
Tak. DNI.ROBOCZE liczy i datę początkową, i końcową, gdy są dniami roboczymi, więc od poniedziałku do najbliższego piątku jest 5. DZIEŃ.ROBOCZY nie liczy daty początkowej: =DZIEŃ.ROBOCZY(A2;1) to następny dzień roboczy.
Co się dzieje, gdy święto wypada w weekend?
Nic dodatkowego: DNI.ROBOCZE i DZIEŃ.ROBOCZY i tak pomijają dni weekendu, więc święto w sobotę nie jest odejmowane dwa razy.