
Všeobecný vzorec
=WORKDAY(date-1,1,holidays)=date
Zhrnutie
Ak chcete zistiť, či je dátum pracovným dňom alebo nie, môžete použiť vzorec založený na funkcii WORKDAY. V zobrazenom príklade je vzorec v C5:
=WORKDAY(B5-1,1,holidays)=B5
kde „prázdniny“ je pomenovaný rozsah E5: E6.
Vyššie uvedený vzorec vráti hodnotu PRAVDA, pretože pondelok 21. decembra 2015 je pracovný deň.
Vysvetlenie
Funkcia WORKDAY počíta dátumy v budúcnosti alebo v minulosti, ktoré sú (podľa definície) „pracovné dni“. Inými slovami, WORKDAY automaticky vylučuje víkendy a (voliteľne) sviatky. WORKDAY akceptuje 3 argumenty: start_date, dni a (voliteľne) sviatky.
Pretože chceme skontrolovať jediný dátum a získať TRUE alebo FALSE výsledok, ideálne by bolo použiť WORKDAY s jednoduchým vzorcom uvedeným nižšie:
=WORKDAY(date,0)
To však nefunguje, pretože sa zdá, že WORKDAY nevyhodnocuje dátum, keď nie je k dispozícii žiadny posun.
Riešením je dodávka (date-1) pre start_date, 1 pre dni a pomenovaný rozsah „sviatky“ (E5: E6) pre sviatky.
To spôsobí, že PRACOVNÝ DEŇ o jeden deň ustúpi a potom k výsledku pripočíta 1 deň, berúc do úvahy víkendy a sviatky. Účinne „podvádzame“ WORKDAY, aby vyhodnotilo dátum začiatku .
Keď dátum pripadne na víkend alebo sviatok, WEEKDAY automaticky upraví dátum dopredu na nasledujúci pracovný deň.
Nakoniec porovnáme pôvodný dátum začatia s výsledkom funkcie WORKDAY. Ak sú dátumy rovnaké (tj. Výsledok WORKDAY sa rovná počiatočnému dátumu, vzorec vráti hodnotu TRUE. Ak nie, vráti vzorec FALSE.
Zaistite, aby vypočítaný dátum pripadol na pracovný deň
Ak sa chcete ubezpečiť, že vypočítaný dátum pristane v pracovný deň, môžete použiť nasledujúci vzorec:
=WORKDAY(calc_date-1,1,holidays)
Poznámka - ak potrebujete vlastné víkendy, použite funkciu WORKDAY.INTL.