
Všeobecný vzorec
=FILTER(data,(dates>=A1)*(dates<=A2),"No data")
Zhrnutie
Ak chcete filtrovať údaje tak, aby zahŕňali záznamy medzi dvoma dátumami, môžete použiť funkciu FILTER s logickou logikou. V zobrazenom príklade je vzorec v F8:
=FILTER(B5:D15,(C5:C15>=F5)*(C5:C15<=G5),"No data")
Ktorý vráti záznamy s dátumami od 15. januára do 15. marca vrátane.
Vysvetlenie
Tento vzorec sa spolieha na funkciu FILTER pri načítaní údajov na základe logického testu vytvoreného pomocou logického logického výrazu. Argument poľa je poskytovaný ako B5: D15, ktorý obsahuje celú sadu údajov bez hlavičiek. Argument zahrnúť je založený na dvoch logických porovnaniach:
(C5:C15>=F5)*(C5:C15<=G5)
Výraz vľavo skontroluje, či sú dátumy väčšie alebo rovné dátumu „Od“ vo F5. Toto je príklad logickej logiky. Výraz vpravo skontroluje, či sú dátumy menšie alebo rovnaké ako dátum „To“ v G5. Dva výrazy sú spojené s operátorom násobenia, ktorý vytvorí vzťah AND.
Po vyhodnotení logických výrazov máme:
((TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE))* ((TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE))
Upozorňujeme, že v každej množine zátvoriek je jedenásť výsledkov, pre každý dátum v údajoch jeden. Operácia násobenia vynúti hodnoty TRUE FALSE na 1 s a 0 s, takže konečným výsledkom je jedno pole, ako je toto:
(1;1;1;1;0;0;0;0;0;0;0)
Všimnite si, že štyri 1 v poli zodpovedajú štyrom dátumom, ktoré prešli testom. Toto pole sa dodáva funkcii FILTER a používa sa na filtrovanie údajov. Iba riadky, ktorých výsledok je 1, sa dostanú do konečného výstupu.
Argument "if_empty" je nastavený na "Žiadne údaje" v prípade, že sa nenájdu žiadne zodpovedajúce údaje.