Excel-formule: filter elke n-de rij -

Inhoudsopgave

Generieke formule

=FILTER(rng,MOD(SEQUENCE(ROWS(rng)),n)=0)

Samenvatting

Om elke n-de rij te filteren en extraheren, kunt u een formule gebruiken die is gebaseerd op de functie FILTER in combinatie met MOD, ROW en SEQUENCE. In het getoonde voorbeeld is de formule in F5:

=FILTER(data,MOD(SEQUENCE(ROWS(data)),3)=0)

waarbij data het benoemde bereik D5: D16 is. Met n hard gecodeerd in de formule als 3, retourneert de functie FILTER elke 3e rij in de gegevens.

Uitleg

De FILTER-functie is ontworpen om informatie te filteren en extraheren op basis van logische criteria. In dit voorbeeld is het doel om elk 3e record uit de getoonde gegevens te extraheren, maar er is geen rijnummerinformatie in de gegevens.

Als u van binnen naar buiten werkt, is de eerste stap het genereren van een reeks rijnummers. Dit wordt als volgt gedaan met de SEQUENCE-functie:

SEQUENCE(ROWS(data))

De functie RIJ retourneert het aantal rijen in de benoemde bereikgegevens . Door het aantal rijen te gebruiken, retourneert SEQUENCE een reeks van 12 getallen op volgorde:

(1;2;3;4;5;6;7;8;9;10;11;12)

Deze array wordt direct teruggestuurd naar de MOD-functie als het getalargument, met het nummer 3 hard gecodeerd als de deler. MOD is opgezet om te testen of rijnummers deelbaar zijn door 3 met een rest van nul

MOD(SEQUENCE(ROWS(data)),3)=0 // divisible by 3?

Het resultaat van MOD is een array of TRUE en FALSE waarden zoals deze:

(FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE)

Opmerking TRUE-waarden komen overeen met elke 3e rij in de gegevens. Deze array wordt rechtstreeks aan de FILTER-functie geleverd als het include-argument. FILTER retourneert elke derde rij met gegevens als een eindresultaat.

Interessante artikelen...