![](https://cdn.wiki-base.com/2689080/excel_formula_filter_on_top_n_values__2.png.webp)
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.