
Formula generik
=SUMPRODUCT((holidays>=start)*(holidays<=end))
Ringkasan
Untuk mengira hari cuti yang berlaku antara dua tarikh, anda boleh menggunakan fungsi SUMPRODUCT.
Dalam contoh yang ditunjukkan, formula dalam F8 adalah:
=SUMPRODUCT((B4:B12>=F5)*(B4:B12<=F6))
Penjelasan
Formula ini menggunakan dua ungkapan dalam satu array dalam fungsi SUMPRODUCT.
Ungkapan pertama menguji setiap tarikh percutian untuk melihat sama ada lebih besar atau sama dengan tarikh mula di F5:
(B4:B12>=F5)
Ini mengembalikan pelbagai nilai BENAR / SALAH seperti ini:
(FALSE; FALSE; FALSE; FALSE; TRUE; TRUE; TRUE; TRUE; TRUE)
Ungkapan kedua menguji setiap tarikh percutian untuk melihat sama ada kurang atau sama dengan tarikh akhir di F6:
(B4:B12<=F6)
yang mengembalikan pelbagai nilai BENAR / SALAH seperti ini:
(BENAR; BENAR; BENAR; BENAR; BENAR; BENAR; BENAR; BENAR; SALAH)
Pendaraban dua tatasusunan ini secara automatik membentuk nilai BENAR / SALAH kepada satu dan sifar, menghasilkan tatasusunan yang kelihatan seperti ini:
=SUMPRODUCT(((0;0;0;0;1;1;1;1;1))*((1;1;1;1;1;1;1;1;0)))
Selepas pendaraban, kami hanya mempunyai satu susunan seperti ini:
=SUMPRODUCT((0;0;0;0;1;1;1;1;0))
Akhirnya, SUMPRODUCT menjumlahkan item dalam array dan mengembalikan 4.
Cuti pada hari bekerja sahaja
Untuk mengira hari cuti yang hanya berlaku pada hari bekerja (Isn-Jumaat), anda boleh memperluas formula seperti ini:
=SUMPRODUCT((rng>=F5)*(rng<=F6)*(WEEKDAY(rng,2)<6))
di mana rng adalah julat yang mengandungi tarikh percutian.