Excel vzorec: Filtrování každého n-tého řádku -

Obsah

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.

Zajímavé články...