![](https://cdn.wiki-base.com/2689080/excel_formula_filter_on_top_n_values__2.png.webp)
Splošna formula
=FILTER(data,range>=LARGE(range,n))
Povzetek
Za filtriranje nabora podatkov za prikaz n najvišjih vrednosti lahko uporabite funkcijo FILTER skupaj s funkcijo LARGE. V prikazanem primeru je formula v F5:
=FILTER(data,score>=LARGE(score,3))
kjer so podatki (B5: D16) in rezultati (D5: D16) imenovani obsegi.
Pojasnilo
Ta formula uporablja funkcijo FILTER za pridobivanje podatkov na podlagi logičnega testa, izdelanega s funkcijo LARGE.
Funkcija LARGE je preprost način, da dobite n-to največjo vrednost v območju. Preprosto navedite obseg za prvi argument (matriko) in vrednost za n kot drugi argument (k):
=LARGE(range,1) // 1st largest =LARGE(range,2) // 2nd largest =LARGE(range,3) // 3rd largest
V tem primeru je logika za FILTER sestavljena s tem delčkom:
score>=LARGE(score,3)
ki vrne TRUE, če je rezultat večji ali enak 3. najvišji oceni. Ker je v obsegu D5: D16 12 celic, ta izraz vrne matriko 12 TRUE in FALSE vrednosti v matriki, kot je ta:
(FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE)
Ta matrika se vrne neposredno v funkcijo FILTER kot argument vključitve, kjer se uporablja za filtriranje podatkov. V končni izhod se uvrstijo samo vrstice, kjer je rezultat TRUE. Rezultat iz formule v F5 vključuje 3 najvišje ocene v podatkih, ki se prelijejo v območje F5: H7.
Razvrsti rezultate po rezultatih
Privzeto bo FILTER vrnil ujemajoče se zapise v enakem vrstnem redu, kot so prikazani v izvornih podatkih. Če želite rezultate razvrstiti po padajočem vrstnem redu po rezultatih, lahko prvotno formulo FILTER ugnezdiš v funkcijo SORT tako:
=SORT(FILTER(data,score>=LARGE(score,3)),3,-1)
Tu FILTER vrne rezultate neposredno v funkcijo SORT kot argument matrike. Za padajoči vrstni red je indeks razvrščanja nastavljen na 3 (rezultat), vrstni red razvrščanja pa na -1.