
Obecný vzorec
=FILTER(rng,MOD(SEQUENCE(ROWS(rng)),n)=0)
souhrn
Chcete-li filtrovat a extrahovat každý n-tý řádek, můžete použít vzorec založený na funkci FILTER společně s MOD, ROW a SEQUENCE. V zobrazeném příkladu je vzorec v F5:
=FILTER(data,MOD(SEQUENCE(ROWS(data)),3)=0)
kde data jsou pojmenovaný rozsah D5: D16. S n pevně zakódovaným do vzorce jako 3 vrátí funkce FILTER každý 3. řádek v datech.
Vysvětlení
Funkce FILTER je navržena tak, aby filtrovala a extrahovala informace na základě logických kritérií. V tomto příkladu je cílem extrahovat každý 3. záznam ze zobrazených dat, ale v datech nejsou žádné informace o číslech řádků.
Při práci zevnitř ven je prvním krokem vygenerování sady čísel řádků. To se provádí pomocí funkce SEQUENCE takto:
SEQUENCE(ROWS(data))
Funkce ROW vrací počet řádků v pojmenovaných datech rozsahu . Pomocí počtu řádků vrátí SEQUENCE pole 12 čísel v pořadí:
(1;2;3;4;5;6;7;8;9;10;11;12)
Toto pole se vrací přímo do funkce MOD jako argument číslo, přičemž číslo 3 je pevně zakódováno jako dělitel. MOD je nastaven tak, aby testoval, zda jsou čísla řádků dělitelná 3 se zbývající nulou
MOD(SEQUENCE(ROWS(data)),3)=0 // divisible by 3?
Výsledkem MOD je pole nebo TRUE a FALSE hodnoty, jako je tato:
(FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE)
Poznámka Pravé hodnoty odpovídají každému 3. řádku v datech. Toto pole je dodáváno přímo do funkce FILTER jako argument zahrnutí. FILTER vrací každý 3. řádek v datech jako konečný výsledek.