
Obecný vzorec
=NETWORKDAYS(start,end,holidays)*hours
souhrn
K výpočtu celkového počtu pracovních hodin mezi dvěma daty můžete použít vzorec založený na funkci NETWORKDAYS, kde „start“ je počáteční datum, „end“ je koncové datum, „svátky“ je rozsah, který zahrnuje data, a „hours“ je počet pracovních hodin v pracovní den. V zobrazeném příkladu je vzorec v D7:
=NETWORKDAYS(B7,C7,holidays)*8
kde „prázdniny“ je pojmenovaný rozsah G6: G8.
Vysvětlení
Tento vzorec používá funkci NETWORKDAYS k výpočtu celkového počtu pracovních dnů mezi dvěma daty, přičemž zohledňuje víkendy a (volitelně) svátky. Svátky, pokud jsou poskytnuty, musí být rozsahem platných dat aplikace Excel. Jakmile je znám celkový počet pracovních dnů, jednoduše se vynásobí pevným počtem hodin denně, v uvedeném příkladu 8.
Funkce NETWORKDAYS zahrnuje do výpočtu počáteční i koncové datum a ve výchozím nastavení vylučuje sobotu i neděli. Funkce také vyloučí svátky, pokud jsou pak poskytnuty jako argument „svátky“ jako rozsah platných dat.
V zobrazeném příkladu používají první dva vzorce funkci NETWORKDAYS.
D6=NETWORKDAYS(B6,C6)*8 // no holidays D7=NETWORKDAYS(B7,C7,holidays)*8 // holidays provided
Pokud váš pracovní týden zahrnuje dny jiné než pondělí až pátek, můžete přepnout na funkci NETWORKDAYS.INTL, která poskytuje argument „víkend“, který lze použít k definování, které dny v týdnu jsou pracovní dny a víkendové dny. NETWORKDAYS.INTL lze konfigurovat stejně jako NETWORKDAYS, ale poskytuje další argument s názvem „víkend“, který určuje, které dny v týdnu jsou považovány za pracovní dny.
Další 4 vzorce používají funkci NETWORKDAYS.INTL:
D8=NETWORKDAYS.INTL(B8,C8)*8 // Mon-Fri, no holidays D9=NETWORKDAYS.INTL(B9,C9,11)*8 // Mon-Sat, no holidays D10=NETWORKDAYS.INTL(B10,C10)*8 // M-F, no holidays D11=NETWORKDAYS.INTL(B11,C11,1,holidays)*8 // M-F, w/ holidays
Kliknutím na výše uvedené názvy funkcí získáte další informace o možnostech konfigurace.
Vlastní pracovní plán
Tento vzorec předpokládá, že všechny pracovní dny mají stejný počet pracovních hodin. Pokud potřebujete vypočítat pracovní dobu s vlastním plánem, kde se pracovní doba liší podle dne v týdnu, můžete zkusit následující vzorec:
=SUMPRODUCT(MID(schedule,WEEKDAY(ROW(INDIRECT(start&":"&end))),1)*ISNA(MATCH(ROW(INDIRECT(start&":"&end)),holidays,0)))
Zde naleznete vysvětlení.