Formuła programu Excel: Licz dni wolne między dwiema datami -

Formuła ogólna

=SUMPRODUCT((holidays>=start)*(holidays<=end))

Podsumowanie

Aby policzyć dni wolne, które przypadają między dwiema datami, można użyć funkcji SUMA PROCEDURY.

W pokazanym przykładzie formuła w F8 to:

=SUMPRODUCT((B4:B12>=F5)*(B4:B12<=F6))

Wyjaśnienie

Ta formuła używa dwóch wyrażeń w jednej tablicy wewnątrz funkcji SUMPRODUCT.

Pierwsze wyrażenie sprawdza każdą datę świąteczną, aby sprawdzić, czy jest ona większa lub równa dacie rozpoczęcia w F5:

(B4:B12>=F5)

Zwraca tablicę wartości PRAWDA / FAŁSZ w następujący sposób:

(FALSE; FALSE; FALSE; FALSE; TRUE; TRUE; TRUE; TRUE; TRUE)

Drugie wyrażenie sprawdza każdą datę świąteczną, aby sprawdzić, czy jest ona mniejsza lub równa dacie końcowej w F6:

(B4:B12<=F6)

która zwraca tablicę wartości PRAWDA / FAŁSZ w następujący sposób:

(TRUE; TRUE; TRUE; TRUE; TRUE; TRUE; TRUE; TRUE; FALSE)

Mnożenie tych dwóch tablic automatycznie zamienia wartości PRAWDA / FAŁSZ na jedynki i zera, w wyniku czego powstają tablice, które wyglądają następująco:

=SUMPRODUCT(((0;0;0;0;1;1;1;1;1))*((1;1;1;1;1;1;1;1;0)))

Po pomnożeniu mamy tylko jedną tablicę taką:

=SUMPRODUCT((0;0;0;0;1;1;1;1;0))

Na koniec SUMPRODUCT sumuje elementy w tablicy i zwraca 4.

Święta tylko w dni powszednie

Aby policzyć święta występujące tylko w dni powszednie (od poniedziałku do piątku), możesz rozszerzyć wzór w następujący sposób:

=SUMPRODUCT((rng>=F5)*(rng<=F6)*(WEEKDAY(rng,2)<6))

gdzie rng to zakres zawierający daty wakacji.

Interesujące artykuły...