Excel-kaava: FILTER ensimmäiseen tai viimeiseen n arvoon -

Sisällysluettelo

Yleinen kaava

=INDEX(FILTER(data,data""),SEQUENCE(n,1,1,1))

Yhteenveto

Suodattaa ja purkaa ensimmäiset tai viimeiset n arvoa (eli ensimmäiset 3 arvoa, ensimmäiset 5 arvoa jne.), Voit käyttää SUODATIN-toimintoa yhdessä HAKEMISTON ja Sekvenssin kanssa. Esitetyssä esimerkissä kaava kohdassa D5 on:

=INDEX(FILTER(data,data""),SEQUENCE(3,1,1,1))

missä data on nimetty alue B5: B15.

Selitys

Työskentelemällä sisältä ulospäin, käytämme SEQUENCE-funktiota rakentamaan rivinumeron INDEX: lle seuraavasti:

SEQUENCE(3,1,1,1)

Pyydämme SEQUENCE-taulukkoa, jossa on 3 riviä x 1 sarake, alkaen 1: stä, askelarvolla 1. Tulos on tällainen taulukko:

(1;2;3)

joka palautetaan suoraan INDEX-funktioon row_num-argumenttina:

=INDEX(FILTER(data,data""),(1;2;3))

Rakentaa array INDEX, käytämme FILTER toiminto hakea luettelo ei ole tyhjä merkintöjä nimetty alue data (B5: B15) näin:

FILTER(data,data"")

Matriisiargumentti on data, ja sisällytysargumentti on lauseketieto "". Tämä voidaan kääntää kirjaimellisesti "paluu arvot nimetty alue data , jossa arvot tiedot eivät ole tyhjiä". Tuloksena on taulukko, jolla on 9 tällaista arvoa:

("Atlanta";"Chicago";"Dallas";"Denver";"Los Angeles";"Miami";"New York";"Seattle";"Minneapolis")

Kahteen tyhjään soluun liittyvät huomautusarvot on poistettu. Tämä taulukko palautetaan INDEX-funktiolle sen matriisiargumenttina.

Lopuksi INDEX palauttaa suodattimen palauttaman taulukon ensimmäisen, toisen ja kolmannen arvon:

("Atlanta";"Chicago";"Dallas")

Viimeiset n arvoa

Saadaksesi viimeiset n arvoa FILTER-suodattimella, käytät samaa kaava-rakennetta, jolloin SEQUENCE-tuloja on muokattu muodostamaan "viimeinen n" rivinumeroiden taulukko. Voit esimerkiksi saada 3 viimeistä ei-tyhjää arvoa näytetyssä esimerkissä käyttämällä seuraavaa kaavaa:

=INDEX(FILTER(data,data""),SORT(SEQUENCE(3,1,SUM(--(data"")),-1)))

Tärkein temppu tässä on laskea ei-tyhjät merkinnät nimettyjen alueiden tiedoissa seuraavasti:

SUM(--(data""))

Pakotamme TOSI EPÄTOSI -arvot arvoon 1s ja 0s kaksoisnegatiivin avulla, ja sitten laskumäärä saadaan käyttämällä SUM-funktiota. Tulos palautetaan aloitusargumenttina sekvenssin sisällä. Toimitamme -1 askelta taaksepäin alusta alkaen.

Kääritään SORT-toiminto myös SEQUENCE: n ympärille, joten palautettu taulukko on (7; 8; 9) eikä (9; 8; 7). Tämä varmistaa, että arvot palautetaan samassa järjestyksessä kuin ne näkyvät lähdetiedoissa.

Mielenkiintoisia artikkeleita...