Excel vzorec: Získejte pracovní dobu mezi daty -

Obsah

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í.

Zajímavé články...