„Excel“ formulė: skaičiuokite atostogas tarp dviejų datų -

Bendroji formulė

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

Santrauka

Norėdami suskaičiuoti atostogas, vykstančias tarp dviejų datų, galite naudoti funkciją SUMPRODUCT.

Parodytame pavyzdyje formulė F8 yra:

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

Paaiškinimas

Ši formulė naudoja dvi išraiškas viename masyve funkcijos SUMPRODUCT viduje.

Pirmasis posakis patikrina kiekvieną atostogų datą, norėdamas sužinoti, ar ji yra didesnė ar lygi F5 pradžios datai:

(B4:B12>=F5)

Tai grąžina tokių TRUE / FALSE reikšmių masyvą:

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

Antrasis posakis patikrina kiekvieną atostogų datą, norėdamas sužinoti, ar ji yra mažesnė ar lygi F6 pabaigos datai:

(B4:B12<=F6)

kuris grąžina tokių TRUE / FALSE reikšmių masyvą:

(TIKRA; TIESA; TIESA; TIESA; TIESA; TIESA; TIESA; TIESA; NETIESA)

Padauginus šias dvi masyvas, TRUE / FALSE reikšmės automatiškai priverčiamos į vienetus ir nulius, todėl gaunami tokie masyvai:

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

Padauginę turime tik vieną tokį masyvą:

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

Galiausiai SUMPRODUCT sumuoja masyvo elementus ir pateikia 4.

Atostogos tik darbo dienomis

Norėdami suskaičiuoti atostogas, vykstančias tik darbo dienomis (pirmadieniais – penktadieniais), galite išplėsti formulę taip:

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

kur rng yra intervalas, kuriame pateikiamos atostogų datos.

Įdomios straipsniai...