Zwraca liczbę dni roboczych między dwiema datami zgodnie z parametrami określającymi dni stanowiące dni weekendowe oraz liczbę dni weekendowych. Dni weekendowe i dni określone jako święta nie są uznawane za dni robocze.
Składnia
DNI.ROBOCZE.NIESTAND(data_początkowa;data_końcowa;[weekend];[święta])
W składni funkcji DNI.ROBOCZE.NIESTAND występują następujące argumenty:
-
Data_początkowa i data_końcowa Argument wymagany. Daty, dla których należy obliczyć różnicę. Data_początkowa może być wcześniejsza niż, taka sama jak lub późniejsza niż data_końcowa.
-
Weekend Argument opcjonalny. Określa dni tygodnia będące dniami weekendowymi nieuwzględnianymi w liczbie pełnych dni roboczych między datą początkową i datą końcową. Ten argument to liczba albo ciąg określający dni weekendowe.
Wartości liczbowe argumentu weekend oznaczają następujące dni:
Weekend jako liczba |
Dni weekendowe |
1 lub pominięty |
Sobota, niedziela |
2 |
Niedziela, poniedziałek |
3 |
Poniedziałek, wtorek |
4 |
Wtorek, środa |
5 |
Środa, czwartek |
6 |
Czwartek, piątek |
7 |
Piątek, sobota |
11 |
Tylko niedziela |
12 |
Tylko poniedziałek |
13 |
Tylko wtorek |
14 |
Tylko środa |
15 |
Tylko czwartek |
16 |
Tylko piątek |
17 |
Tylko sobota |
Ciąg parametru weekend ma długość siedmiu znaków, z których każdy reprezentuje jeden dzień tygodnia, zaczynając od poniedziałku. Cyfra 1 oznacza dzień wolny, natomiast cyfra 0 oznacza dzień roboczy. W tym ciągu dozwolone są tylko znaki 1 i 0. Użycie ciągu 1111111 zawsze spowoduje zwrócenie ciągu 0.
Na przykład ciąg 0000011 oznacza, że weekend przypada w sobotę i niedzielę.
-
Święta Argument opcjonalny. Opcjonalny zestaw zawierający jedną lub więcej dat do wykluczenia z kalendarza dni roboczych. Ten argument powinien być zakresem komórek zawierającym daty lub stałą tablicową wartości kolejnych reprezentujących te daty. Kolejność dat lub wartości kolejnych świąt może być dowolna.
Spostrzeżenia
-
Jeśli data_początkowa jest późniejsza niż data_końcowa, zwrócona wartość będzie ujemna i będzie oznaczać liczbę pełnych dni roboczych.
-
Jeśli start_date jest spoza zakresu bieżącej wartości bazowej daty, funkcja DNI.ROBOCZE. Funkcja NIESTAND zwraca #NUM! wartość błędu #ADR!.
-
Jeśli end_date jest spoza zakresu bieżącej wartości bazowej daty, funkcja DNI.ROBOCZE. Funkcja NIESTAND zwraca #NUM! wartość błędu #ADR!.
-
Jeśli ciąg weekendowy ma nieprawidłową długość lub zawiera nieprawidłowe znaki, funkcja DNI.ROBOCZE. Funkcja NIESTAND zwraca #VALUE! wartość błędu #ADR!.
Przykład
Skopiuj przykładowe dane z poniższej tabeli i wklej je w komórce A1 nowego arkusza programu Excel. Aby formuły wyświetlały wyniki, zaznacz je, naciśnij klawisz F2, a następnie naciśnij klawisz Enter. Jeśli to konieczne, możesz dostosować szerokości kolumn, aby wyświetlić pełne dane.
Formuła |
Opis |
Wynik |
=DNI.ROBOCZE.NIESTAND(DATA(2006;1;1);DATA(2006;1;31)) |
Zwraca wynik 22 przyszłych dni roboczych. Odejmuje 9 dni wolnych od pracy obejmujących weekend (5 sobót i 4 niedziele) od całkowitej liczby 31 dni między dwoma datami. Sobota i niedziela domyślnie są traktowane jako dni wolne od pracy. |
22 |
=DNI.ROBOCZE.NIESTAND(DATA(2006;2;28);DATA(2006;1;31)) |
Zwraca wynik -21, co oznacza 21 dni roboczych w przeszłości. |
-21 |
=DNI.ROBOCZE.NIESTAND(DATA(2006;1;1);DATA(2006;2;1);7;{"2006/1/2";"2006/1/16"}) |
Zwraca wynik 22 przyszłych dni roboczych, odejmując 10 dni wolnych od pracy (4 piątki, 4 soboty, 2 święta) od 32 dni między 1 stycznia 2006 a 1 lutym 2006. Argument 7 oznacza weekend, czyli piątek i sobotę. Ponadto w tym okresie czasu występują także 2 dni świąteczne. |
22 |
=DNI.ROBOCZE.NIESTAND(DATA(2006;1;1);DATA(2006;2;1),"0010001";{"2006/1/2";"2006/1/16"}) |
Zwraca wynik 22 przyszłych dni roboczych. Obejmuje ten sam okres czasu, co przykład znajdujący się bezpośrednio powyżej, ale z niedzielą i środą jak dniami weekendowymi. |
20 |