
Formuła ogólna
=NETWORKDAYS(date,EOMONTH(date,0),holidays)
Podsumowanie
Aby obliczyć dni robocze w miesiącu, użyj funkcji EOMONTH razem z funkcją NETWORKDAYS. W przedstawionym przykładzie formuła w C4 to:
=NETWORKDAYS(B4,EOMONTH(B4,0),holidays)
Gdzie „święta” to nazwany zakres E3: E13.
Wyjaśnienie
Po pierwsze, ważne jest, aby zrozumieć, że wartości w kolumnie Miesiąc (B) to rzeczywiste daty sformatowane przy użyciu niestandardowego formatu liczbowego „mmm”.
Na przykład B4 zawiera 1 stycznia 2014 r., Ale wyświetla tylko „Jan” zgodnie z niestandardowym formatem liczb.
Sama formuła jest oparta na funkcji DNI.ROBOCZE, która zwraca liczbę dni roboczych między datą początkową a końcową, z uwzględnieniem dni wolnych od pracy (jeśli podano).
Dla każdego miesiąca data początkowa pochodzi z kolumny B, a data końcowa jest obliczana za pomocą funkcji EOMONTH w następujący sposób:
EOMONTH(B4,0)
EOMONTH przyjmuje datę i zwraca ostatni dzień miesiąca. Sam miesiąc jest kontrolowany przez drugi argument. Ponieważ w tym przypadku chcemy pozostać w tym samym miesiącu, używamy zera.
Na koniec lista dni wolnych jest dostarczana jako trzeci argument DNI.ROBOCZE przy użyciu nazwanego zakresu dni wolnych (E3: E13).
Dzięki tym informacjom NETWORKDAYS oblicza liczbę dni roboczych w każdym miesiącu, automatycznie wykluczając weekendy i święta.
Jeśli potrzebujesz większej kontroli nad tym, które dni są traktowane jako weekendy, użyj funkcji DNI.ROBOCZE.INTL.