Excel formülü: İki tarih arasındaki tatilleri sayma -

Genel formül

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

Özet

İki tarih arasında meydana gelen tatilleri saymak için SUMPRODUCT işlevini kullanabilirsiniz.

Gösterilen örnekte, F8'deki formül şöyledir:

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

Açıklama

Bu formül, SUMPRODUCT işlevi içindeki tek bir dizide iki ifade kullanır.

İlk ifade, F5'teki başlangıç ​​tarihinden büyük veya ona eşit olup olmadığını görmek için her tatil tarihini test eder:

(B4:B12>=F5)

Bu, aşağıdaki gibi bir DOĞRU / YANLIŞ değerler dizisi döndürür:

(YANLIŞ; YANLIŞ; YANLIŞ; YANLIŞ; DOĞRU; DOĞRU; DOĞRU; DOĞRU; DOĞRU)

İkinci ifade, F6'daki bitiş tarihinden küçük veya ona eşit olup olmadığını görmek için her tatil tarihini test eder:

(B4:B12<=F6)

aşağıdaki gibi bir DOĞRU / YANLIŞ değerler dizisi döndürür:

(DOĞRU; DOĞRU; DOĞRU; DOĞRU; DOĞRU; DOĞRU; DOĞRU; DOĞRU; YANLIŞ)

Bu iki dizinin çarpımı, DOĞRU / YANLIŞ değerlerini otomatik olarak birlere ve sıfırlara zorlayarak şuna benzer diziler oluşturur:

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

Çarpma işleminden sonra, şuna benzer tek bir dizimiz var:

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

Son olarak, SUMPRODUCT dizideki öğeleri toplar ve 4 değerini döndürür.

Yalnızca hafta içi tatiller

Yalnızca hafta içi (Pzt-Cum) olan tatilleri saymak için formülü şu şekilde genişletebilirsiniz:

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

burada rng , tatil tarihlerini içeren bir aralıktır.

Ilginç makaleler...