Формула на Excel: Вземете работно време между датите -

Съдържание

Обща формула

=NETWORKDAYS(start,end,holidays)*hours

Обобщение

За да изчислите общия брой работни часове между две дати, можете да използвате формула, базирана на функцията NETWORKDAYS, където "начало" е начална дата, "край" е крайна дата, "празници" е диапазон, който включва дати и "часове" е броят на работните часове в един работен ден. В показания пример формулата в D7 е:

=NETWORKDAYS(B7,C7,holidays)*8

където "празници" е наименуваният диапазон G6: G8.

Обяснение

Тази формула използва функцията NETWORKDAYS за изчисляване на общите работни дни между две дати, като се вземат предвид уикендите и (по желание) празниците. Празниците, ако са предвидени, трябва да са от валидни дати на Excel. След като са известни общите работни дни, те просто се умножават по фиксиран брой часове на ден, 8 в показания пример.

Функцията NETWORKDAYS включва както началната, така и крайната дата в изчислението и по подразбиране изключва събота и неделя. Функцията също така ще изключва празници, когато след това са предоставени като аргумент "празници" като диапазон от валидни дати.

В тези показани примери първите две формули използват функцията NETWORKDAYS.

D6=NETWORKDAYS(B6,C6)*8 // no holidays D7=NETWORKDAYS(B7,C7,holidays)*8 // holidays provided

Ако вашата работна седмица включва дни, различни от понеделник до петък, можете да превключите към функцията NETWORKDAYS.INTL, която предоставя аргумент "уикенд", който може да се използва за определяне кои дни от седмицата са работни и уикенд дни. NETWORKDAYS.INTL може да бъде конфигуриран точно като NETWORKDAYS, но предоставя допълнителен аргумент, наречен "уикенд", за да се контролира кои дни в седмицата се считат за работни дни.

Следващите 4 формули използват функцията 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

Щракнете върху имената на функциите по-горе, за да научите повече за опциите за конфигуриране.

Персонализиран работен график

Тази формула приема, че всички работни дни имат еднакъв брой работни часове. Ако трябва да изчислите работното време с персонализиран график, където работното време варира в зависимост от деня от седмицата, можете да опитате формула като тази:

=SUMPRODUCT(MID(schedule,WEEKDAY(ROW(INDIRECT(start&":"&end))),1)*ISNA(MATCH(ROW(INDIRECT(start&":"&end)),holidays,0)))

Обяснение можете да намерите тук.

Интересни статии...