Dokumentace/Výpočetní funkce/NETWORKDAYS.INTL
TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Donate
Název funkce:
NETWORKDAYS.INTL
Kategorie:
Datum a čas
Shrnutí:
Vypočítá konečný počet pracovních dnů mezi dvěma daty. Svátky (nebo ostatní nepracovní dny) lze specifikovat a standardní pracovní týden může být předefinován.
Syntaxe:
NETWORKDAYS.INTL(PočátečníDatum; KoncovéDatum[; [Víkend][; Svátky]])
Vrátí:
Vrátí celočíselnou hodnotu, která reprezentuje počet pracovních dnů v daném období, vyjímaje definované svátky a víkendy. Počítají se také počáteční a koncová data, pokud nejsou definovaná jako svátky nebo víkendy.
Argumenty:
PočátečníDatum je datum (v uvozovkách) nebo pořadové číslo data a času nebo odkaz na buňku obsahující jeden z těchto typů, který je buď počátečním, nebo koncovým datem období, pro které se má výpočet provést.
KoncovéDatum je datum (v uvozovkách) nebo pořadové číslo data a času nebo odkaz na buňku obsahující jeden z těchto typů, který je buď koncovým datem, nebo počátečním datem období, pro které se má výpočet provést.
Víkend je číslo nebo řetězec nebo odkaz na buňku obsahující jeden z těchto typů, který se používá k definování standardního pracovního týdne, který se má použít. Dostupné číselné možnosti poskytují jednoduchý způsob definování pracovního týdne, přičemž seznam možných hodnot je uveden v následující tabulce. Hodnoty 1 až 7 odpovídají pracovním týdnům se dvěma nepracovními dny, zatímco hodnoty 11 až 17 odpovídají pracovním týdnům s jedním nepracovním dnem.
Číslo | Nepracovní dny |
---|---|
1 nebo vynecháno | Sobota a neděle |
2 | Neděle a pondělí |
3 | Pondělí a úterý |
4 | Úterý a středa |
5 | Středa a čtvrtek |
6 | Čtvrtek a pátek |
7 | Pátek a sobota |
11 | Pouze v neděli |
12 | Pouze v pondělí |
13 | Pouze v úterý |
14 | Pouze ve středu |
15 | Pouze ve čtvrtek |
16 | Pouze v pátek |
17 | Pouze v sobotu |
Použití řetězce je flexibilnější metodou definování pracovního týdne. Řetězec musí obsahovat sedm znaků - "0" se používá pro označení pracovního dne a "1" pro označení nepracovního dne. Každý znak odpovídá jednomu dni v týdnu, počínaje pondělím. Například řetězec "0100011" by definoval úterý, sobotu a neděli jako nepracovní dny.
Svátky je seznam dat, který odpovídá svátkům, které se nezapočítávají jako pracovní dny. Tento seznam lze předat jako škálu buněk obsahující pořadová čísla data a času (pokud možno ve formátu data). Seznam lze také předat jako vnořenou matici obsahující oba řetězce data (v uvozovkách) nebo pořadová čísla data a času. Pokud je seznam vynechaný, nepředpokládají se žádné svátky.
- Pokud PočátečníDatum nebo KoncovéDatum není platný zápis data, NETWORKDAYS.INTL nahlásí chybu #VALUE!.
- Pokud je PočátečníDatum dřívější než KoncovéDatum, výsledkem je kladné celé číslo; pokud je PočátečníDatum pozdější než KoncovéDatum, výsledkem je záporné celé číslo.
- NETWORKDAYS.INTL ignoruje všechny časové složky PočátečníhoData a KoncovéhoData.
- Pokud je pro argument Víkend použit řetězec, který neobsahuje přesně sedm znaků, NETWORKDAYS.INTL nahlásí chybu #VALUE!. Pokud řetězec obsahuje sedm znaků, ale alespoň jeden z těchto znaků není '0' ani '1', NETWORKDAYS.INTL nahlásí chybu neplatného argumentu (Chyba:502).
- Pokud je pro argument Víkend použito číslo, které není celočíselná hodnota, NETWORKDAYS.INTL nahlásí chybu neplatného argumentu (Chyba:502). Pokud je použito číslo, které je celočíselná hodnota, ale neleží v rozsahu 1 až 7 nebo v rozsahu 11 až 17, NETWORKDAYS.INTL nahlásí chybu #VALUE!.
- Pokud je Víkend předán jako odkaz na buňku a tato buňka obsahuje kód chyby (například #NAME?), chybový stav bude nahlášen jako výsledek NETWORKDAYS.INTL.
- Pokud jsou Svátky předány jako vnořené matice a žádný vstup matice není datum nebo pořadové číslo data a času, NETWORKDAYS.INTL nahlásí chybu #VALUE!.
- * Pokud jsou Svátky předány jako oblast buněk, buňky neobsahující datum nebo pořadové číslo data a času ležící v příslušném období jsou ve většině případů ignorovány. Pokud buňka obsahuje kód chyby (například #NAME?), chybový stav bude nahlášen jako výsledek NETWORKDAYS.INTL.
Další detaily:
Podrobnosti specifické pro funkci NETWORKDAYS.INTL
NETWORKDAYS.INTL je inkluzivní, započítává první a poslední den daného období (viz #Příklady:).
Obecné informace o funkcích Calc pro datum a čas
- Interně se v Calcu s hodnotou data/času pracuje jako s reálným číslem a někdy se to označuje termínem pořadové číslo data a času. Například 2021-02-08 12:00:00 odpovídá pořadovému číslu data a času 44235.5. Celočíselná část pořadového čísla data a času (před desetinnou čárkou) je počet dní od definovaného počátečního data. Desetinná část pořadového čísla data a času (za desetinnou čárkou) je denní doba vyjádřená jako zlomek dne. Například 0,25 odpovídá 06:00:00 a 0,75 odpovídá 18:00:00.
- Calc používá jako výchozí počáteční datum (den 0) datum 1899-12-30, ale můžete přejít na ▸ ▸ ▸ a vybrat alternativní počáteční datum; pokud však nemáte specifické požadavky na kompatibilitu se staršími tabulkovými aplikacemi, doporučujeme toto nastavení neměnit. Pokud kopírujete a vkládáte buňky obsahující hodnoty data mezi různými tabulkovými procesory, zkontrolujte, zda je v obou dokumentech nastaveno stejné počáteční datum, abyste předešli neočekávaným změnám zobrazených dat.
- Záporná časová pořadová čísla odpovídají datům dřívějším, než je v Calcu nastavení počáteční datum. Calc počítá všechna data zpětně až do 15. října 1582 pomocí gregoriánského kalendáře. Den před tímto datem je 4. říjen 1582 a pro dřívější data Calc používá juliánský kalendář.
- Pořadové číslo s datem a časem je stejné jako jakékoli jiné číslo, jen se obvykle rozhodneme zobrazit je ve formátu datum/čas. Do buňky můžete zadat číslo a poté změnit formátování buňky tak, aby se hodnota zobrazovala jako datum/čas. Do buňky můžete také zadat datum/čas a poté změnit formátování buňky tak, aby se zobrazilo pořadové číslo s datem a časem.
- Popisy funkcí Calcu na těchto stránkách wiki používají pro přehlednost standardní formát ISO 8601 pro datum a čas, protože by měl být nezávislý na zvoleném nastavení místního jazyka. Výchozí formát data ve vašem počítači může být jiný. Při zadávání dat jako součásti vzorců mohou být lomítka nebo pomlčky použité jako oddělovače dat interpretovány jako aritmetické operátory. Proto data zadaná v tomto formátu nejsou rozpoznána jako data a vedou k chybným výpočtům. Aby data nebyla interpretována jako součást vzorců, použijte buď funkci DATE, nebo datum umístěte do uvozovek a použijte zápis podle ISO 8601. Vyvarujte se používání formátů data závislých na národním prostředí, které mohou vést k chybám, pokud je dokument načten pod jiným národním nastavením.
- Ve funkcích programu Calc kategorie Datum a čas se nepoužívá informace o časovém pásmu.
- Pokud chcete zadat pouze dvě číslice roku (například 21 místo 2021), Calc musí vědět, zda myslíte 2021 nebo 1921. Přejděte na ▸ ▸ ▸ a zobrazte nebo upravte rozsah let, který Calc použije pro interpretaci dvoumístných hodnot roku.
- Calc obsahuje logiku k rozhodnutí jak zacházet s textem, když na něj narazíte jako na operand v aritmetické operaci nebo jako argument funkce, která místo toho očekává číslo. V této souvislosti je možný jednoznačný převod pro data a časy ISO 8601 v jejich rozšířených formátech s oddělovači. Například jednoduchý vzorec
=1 + "2021-02-08"
obvykle poskytne výsledek2021-02-09
(pokud je formátován jako datum). Tato logika však může být ovlivněna nastavením v dialogovém okně Podrobné nastavení výpočtů, ke kterému se dostanete výběrem ▸ ▸ ▸ a stisknutím tlačítka v oblasti Podrobné nastavení výpočtů. Pokud dojde k chybě #VALUE!, může to být způsobeno tím, že je vybrána možnost Vrátit chybu #VALUE!, v takovém případě byste měli experimentovat s jednou z dalších samovysvětlujících možností v rozbalovacím seznamu Převod z textu na číslo.
Příklady:
A | B | C | D | E | F | G | H | |
---|---|---|---|---|---|---|---|---|
1 | Datum zahájení/ukončení | Svátky | Víkend | |||||
2 | 2020-01-01 | Formátováno jako text, bez uvozovek | 0000011 | |||||
3 | 2020-12-31 | 2020-01-01 | ||||||
4 | 2020-04-10 | Formátováno jako obecné číslo | 11 | |||||
5 | 2020-04-13 | |||||||
6 | 2020-05-08 | |||||||
7 | 2020-05-25 | |||||||
8 | 2020-08-31 | |||||||
9 | 2020-12-25 | |||||||
10 | 2020-12-28 |
Vzorec | Popis | Vrátí |
---|---|---|
=NETWORKDAYS.INTL("2021-02-18"; "2021-02-19") | Vrátí 2 pracovní dny na základě zadaných počátečních a koncových dat, žádných svátků a výchozího pětidenního pracovního týdne. Tento jednoduchý příklad znázorňuje inkluzivní charakter sčítání. | 2 |
=NETWORKDAYS.INTL("2020-12-31"; "2020-01-01") | Pracovní dny v roce 2020. Argument PočátečníDatum je pozdější než KoncovéDatum, proto je hodnota záporná. | −262 |
=NETWORKDAYS.INTL("2020-01-01"; "2020-12-31"; 5) | Pětidenní pracovní týden (se středou a čtvrtkem jako dny pracovního klidu). | 260 |
=NETWORKDAYS.INTL("2020-01-01"; "2020-12-31";; {"2020-01-01"; "2020-04-10"; "2020-04-13"; "2020-05-08"; "2020-05-25"; "2020-08-31"; "2020-12-25"; "2020-12-28"}) | Osm specifikovaných dat svátků a výchozí pětidenní pracovní týden. V argumentu je oddělovač navíc, protože je vynechám argument Víkend. | 254 |
=NETWORKDAYS.INTL(B2; B3; H2; E3:E10) | Ekvivalentní k předchozímu příkladu s použitím výše uvedené tabulky dat; buňka H2 obsahuje hodnotu 0000011 , formátovanou jako textová hodnota bez uvozovek. |
254 |
=NETWORKDAYS.INTL(B2; B3; H4; E3:E10) | Podobně jako v předchozím příkladu, ale Víkend sestává pouze z nedělí; buňka H4 obsahuje numerickou hodnotu 11 . |
306 |
=NETWORKDAYS.INTL("2020-01-01"; "2020-12-31"; "0000111") | Čtyřdenní pracovní týden (pondělí až čtvrtek). | 210 |
=NETWORKDAYS.INTL(43831; 43861; "1000111"; { 43845; 43852 }) | 43831, 43861, 43845 a 43852 jsou pořadová čísla data a času pro data 2020-01-01, 2020-01-31, 2020-01-15, a 2020-01-22. Dva svátky v tomto období a třídenní pracovní den (úterý, středa a čtvrtek). | 12 |
Související funkce LibreOffice:
ODF standard:
Žádné.
Související (nebo podobné) funkce Excelu:
NETWORKDAYS.INTL since v.2010.