
Obecný vzorec
=FILTER(data,(dates>=A1)*(dates<=A2),"No data")
souhrn
Chcete-li filtrovat data tak, aby zahrnovaly záznamy mezi dvěma daty, můžete použít funkci FILTER s logickou logikou. V zobrazeném příkladu je vzorec v F8:
=FILTER(B5:D15,(C5:C15>=F5)*(C5:C15<=G5),"No data")
Který vrátí záznamy s daty mezi 15. lednem a 15. březnem včetně.
Vysvětlení
Tento vzorec spoléhá na funkci FILTER k načtení dat na základě logického testu vytvořeného pomocí logického logického výrazu. Argument pole je poskytován jako B5: D15, který obsahuje úplnou sadu dat bez záhlaví. Argument include je založen na dvou logických srovnáních:
(C5:C15>=F5)*(C5:C15<=G5)
Výraz vlevo zkontroluje, zda jsou data větší nebo rovna datu „Od“ ve F5. Toto je příklad logické logiky. Výraz vpravo zkontroluje, zda jsou data menší nebo rovna datu „To“ v G5. Dva výrazy jsou spojeny s operátorem násobení, který vytváří vztah AND.
Po vyhodnocení logických výrazů máme:
((TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE))* ((TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE))
Všimněte si, že v každé sadě závorek je jedenáct výsledků, pro každé datum v datech jeden. Operace násobení vynucuje hodnoty TRUE FALSE na 1 s a 0 s, takže konečným výsledkem je jedno pole, jako je toto:
(1;1;1;1;0;0;0;0;0;0;0)
Všimněte si, že čtyři 1 v poli odpovídají čtyřem datům, která projdou testem. Toto pole je dodáváno funkci FILTER a slouží k filtrování dat. Pouze řádky, kde je výsledek 1, se dostanou do konečného výstupu.
Argument "if_empty" je nastaven na "Žádná data" pro případ, že nebudou nalezena žádná odpovídající data.