
Bendroji formulė
=FILTER(data,(dates>=A1)*(dates<=A2),"No data")
Santrauka
Norėdami filtruoti duomenis, įtraukdami įrašus tarp dviejų datų, galite naudoti funkciją FILTRAS su logine logika. Parodytame pavyzdyje formulė F8 yra:
=FILTER(B5:D15,(C5:C15>=F5)*(C5:C15<=G5),"No data")
Pateikiami įrašai, kurių datos yra nuo sausio 15 iki kovo 15 dienos imtinai.
Paaiškinimas
Ši formulė remiasi funkcija FILTER, kad gautų duomenis pagal loginį testą, sukurtą pagal loginę loginę išraišką. Masyvo argumentas pateikiamas kaip B5: D15, kuriame yra visas duomenų rinkinys be antraščių. Argumentas „ įtraukti“ pagrįstas dviem logiškais palyginimais:
(C5:C15>=F5)*(C5:C15<=G5)
Kairėje esanti išraiška patikrina, ar datos yra didesnės arba lygios F5 datai „Nuo“. Tai yra loginės logikos pavyzdys. Dešinėje išraiška patikrina, ar datos yra mažesnės arba lygios „G“ datai G5. Abi išraiškos sujungiamos su daugybos operatoriumi, kuris sukuria IR ryšį.
Įvertinę logines išraiškas, turime:
((TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE))* ((TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE))
Atkreipkite dėmesį, kad kiekviename skliaustų rinkinyje yra vienuolika rezultatų, po vieną kiekvienoje datos duomenyse. Padauginus operaciją, TRUE FALSE reikšmės yra 1s ir 0s, todėl galutinis rezultatas yra vienas toks masyvas:
(1;1;1;1;0;0;0;0;0;0;0)
Atkreipkite dėmesį, kad keturi masyvo 1 ženklai atitinka keturias testą išlaikiusias datas. Šis masyvas pristatomas į FILTER funkciją ir naudojamas duomenims filtruoti. Tik eilutės, kuriose rezultatas yra 1, patenka į galutinį rezultatą.
Jei nerandama atitinkančių duomenų, argumentas „if_empty“ yra nustatytas kaip „No data“.