Formuła programu Excel: uzyskaj godziny pracy między datami -

Spisie treści

Formuła ogólna

=NETWORKDAYS(start,end,holidays)*hours

Podsumowanie

Aby obliczyć całkowitą liczbę godzin pracy między dwiema datami, możesz użyć formuły opartej na funkcji DNI.ROBOCZE, gdzie „początek” to data rozpoczęcia, „koniec” to data zakończenia, „święta” to zakres obejmujący daty, a „godziny” to liczba godzin pracy w dniu roboczym. W przedstawionym przykładzie formuła w D7 to:

=NETWORKDAYS(B7,C7,holidays)*8

gdzie „święta” to nazwany zakres G6: G8.

Wyjaśnienie

Ta formuła używa funkcji DNI.ROBOCZE obliczającej całkowitą liczbę dni roboczych między dwiema datami, biorąc pod uwagę weekendy i (opcjonalnie) święta. Dni wolne, jeśli zostały podane, muszą być zakresem prawidłowych dat programu Excel. Gdy znana jest całkowita liczba dni roboczych, po prostu mnoży się ją przez ustaloną liczbę godzin dziennie, 8 w pokazanym przykładzie.

Funkcja NETWORKDAYS uwzględnia w obliczeniach zarówno datę początkową, jak i końcową, i domyślnie wyklucza sobotę i niedzielę. Funkcja wyklucza również dni wolne, gdy zostaną podane jako argument „dni wolne” jako zakres prawidłowych dat.

W tym przykładzie pierwsze dwie formuły używają funkcji DNI.ROBOCZE.

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

Jeśli Twój tydzień roboczy obejmuje dni inne niż od poniedziałku do piątku, możesz przełączyć się na funkcję DNI.ROBOCZE.INTL, która udostępnia argument „weekend”, za pomocą którego można określić, które dni tygodnia są dniami roboczymi i weekendami. NETWORKDAYS.INTL można skonfigurować tak samo jak NETWORKDAYS, ale zapewnia dodatkowy argument o nazwie „weekend” do kontrolowania, które dni tygodnia są uważane za dni robocze.

W następnych 4 formułach używana jest funkcja 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

Kliknij nazwy funkcji powyżej, aby dowiedzieć się więcej o opcjach konfiguracji.

Niestandardowy harmonogram prac

Ta formuła zakłada, że ​​wszystkie dni robocze mają taką samą liczbę godzin pracy. Jeśli chcesz obliczyć godziny pracy z niestandardowym harmonogramem, w którym godziny pracy różnią się w zależności od dnia tygodnia, możesz wypróbować następujący wzór:

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

Możesz znaleźć wyjaśnienie tutaj.

Interesujące artykuły...