Excel-formel: FILTER på toppen n verdier -

Innholdsfortegnelse

Generisk formel

=FILTER(data,range>=LARGE(range,n))

Sammendrag

For å filtrere et datasett for å vise de øverste n-verdiene, kan du bruke FILTER-funksjonen sammen med STOR funksjon. I eksemplet vist er formelen i F5:

=FILTER(data,score>=LARGE(score,3))

der data (B5: D16) og poengsum (D5: D16) er kalt områder.

Forklaring

Denne formelen bruker FILTER-funksjonen til å hente data basert på en logisk test konstruert med LARGE-funksjonen.

LARGE-funksjonen er en enkel måte å få den nest største verdien i et område. Bare gi et område for det første argumentet (array), og en verdi for n som det andre argumentet (k):

=LARGE(range,1) // 1st largest =LARGE(range,2) // 2nd largest =LARGE(range,3) // 3rd largest

I dette eksemplet er logikken for FILTER konstruert med denne kodebiten:

score>=LARGE(score,3)

som returnerer SANT når en poengsum er større enn eller lik den 3. høyeste poengsummen. Siden det er 12 celler i området D5: D16, returnerer dette uttrykket en matrise med 12 SANNE og FALSE verdier i en matrise som dette:

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

Denne matrisen returneres direkte til FILTER-funksjonen som inkluderingsargument, der den brukes til å filtrere dataene. Bare rader der resultatet er SANT, blir det til den endelige utgangen. Resultatet fra formelen i F5 inkluderer de tre toppscoreene i dataene, som renner ut i området F5: H7.

Sorter resultatene etter poengsum

FILTER returnerer som standard samsvarende poster i samme rekkefølge som de vises i kildedataene. For å sortere resultatene i synkende rekkefølge etter poengsum, kan du hekke den originale FILTER-formelen i SORT-funksjonen slik:

=SORT(FILTER(data,score>=LARGE(score,3)),3,-1)

Her returnerer FILTER resultatene direkte til SORT-funksjonen som array-argument. Sorteringsindeks er satt til 3 (score) og sorteringsrekkefølge er satt til -1, for synkende rekkefølge.

Interessante artikler...