Při práci v MS Excel je možné efektivně pracovat s pracovními dny.
MS Excel pracuje s datumy tak, že datum uloží jako číselnou hodnotu. Konkrétně 1. září 2023 je 45170. Hodnota 45170 odpovídá počtu dní mezi 1. 9. 2023 a 1. 1. 1900. První leden 1900 jako brán jako začátek číslování datumů, každý den pak přibývá jednička.
pozn. vývojáři Microsoftu v počítání dní udělali drobnou chybu. Rok 1900 nebyl podle gregoriánského (tedy našeho platného) kalendáře přestupný. Datum 29. 1. 1900 však MS Excel obsahuje. Proto skutečný počet dní od 1. 1. 1900 až po konkrétní zadané datum je o 1 den menší. V MS pravděpodobně málokdo pracuje s rokem 1900, proto tato chyba při běžné práci ničemu nevadí…
Chceme-li spočítat počet všech dní mezi 2 datumy, stačí tyto dvě hodnoty od sebe odečíst. V ukázce jsou do buněk B2 a B3 zadané 2 datumy: 1. 9. 2023 a 1. 12. 2023. V buňce B5 odečítáme B3 – B2. Počet dní mezi nimi je 91 (30+31+30).
Pokud chceme znát počet dní bez víkendů, prostý rozdíl nestačí. Je možné použít funkci NETWORKDAYS. Povinnými argumenty funkce jsou začáteční a koncové datum. V buňce B6 je použita fce NETWORKDAYS.
Situaci mohou drobně komplikovat státní svátky. I ty bychom mohli chtít odebrat z počtu dní. Řešením je napsat pracovní dny do buněk vedle a poté celou oblast zadat jako nepovinný třetí argument funkce Svátky.
V dialogovém okně funkce to pak vypadá takto:
Z počtu dní se odeberou jen ty státní svátky, které připadají na všední dny. Státní svátky připadající na víkend se z počtu dní neodebírají.
Počet pracovních dní mezi 1. 9. 2023 a 1. 12. 2023 je tedy 64 = 66 dní (po – pá) – 2 státní svátky (28. září a 17. listopad).
Pokud bychom chtěli spočítat počet dní mezi 2 datumy bez nedělí (tedy včetně pracovních sobot), můžeme použít funkci NETWORKDAYS.INTL. Tato funkce obsahuje ještě nepovinný argument Víkend, který se zadává jako 3 v pořadí. Zde je možné zvolit i některé z méně obvyklých možností zadání víkendu – např. pouze neděle.
pozn. zobrazená nápověda se zobrazí při zadávání funkce do řádku vzorců nikoliv do dialogového okna pro vložení funkce.
Celkový počet „pracovních dní“ se zvětší na 76.
Opačnou funkcí k funkci NETWORKDAYS je funkce WORKDAY. Zadáme začátek, počet pracovních dní a oblast buněk se státními svátky. Funkce určí, že po přidání 8 pracovních dní k 23. září bude 5. října 2023.
Funkce WORKDAY.INTL umožňuje nastavit vlastní parametry víkendu – analogicky jako NETWORKDAYS.INTL.