
Generička formula
=FILTER(data,(range>=LARGE(IF(criteria),n))*(criteria))
Sažetak
Da biste filtrirali podatke kako biste prikazali gornjih n vrijednosti koje zadovoljavaju određene kriterije, možete koristiti funkciju FILTER zajedno s funkcijama LARGE i IF. U prikazanom primjeru formula u F5 je:
=FILTER(data,(score>=LARGE(IF(group="b",score),3))*(group="b"))
gdje su podaci (B5: D16), skupina (C5: C16) i rezultat (D5: D16) imenovani rasponi.
Obrazloženje
Ova formula koristi funkciju FILTER za dohvaćanje podataka na temelju logičkog testa konstruiranog s funkcijama LARGE i IF. Rezultat su 3 najbolja rezultata u skupini B.
Funkcija FILTER primjenjuje kriterije s argumentom include. U ovom primjeru kriteriji se grade s logičkom logikom poput ove:
(score>=LARGE(IF(group="b",score),3))*(group="b")
Lijeva strana izraza cilja rezultate veće ili jednake 3. najvišem rezultatu u skupini B:
score>=LARGE(IF(group="b",score),3)
Funkcija IF koristi se kako bi se osiguralo da LARGE radi samo s rezultatima skupine B. Budući da imamo ukupno 12 rezultata, IF vraća niz s 12 rezultata poput ovog:
(FALSE;65;FALSE;80;FALSE;88;FALSE;76;FALSE;86;FALSE;83)
Primijetite da su jedini rezultati koji su preživjeli operaciju iz skupine B. Svi ostali rezultati su LAŽNI. Ovaj se niz vraća izravno u LARGE kao argument niza:
LARGE((FALSE;65;FALSE;80;FALSE;88;FALSE;76;FALSE;86;FALSE;83),3)
LARGE zanemaruje FALSE vrijednosti i vraća 3. najvišu ocjenu, 83.
Sada formulu možemo pojednostaviti na:
=FILTER(data,(score>=83)*(group="b"))
koji rješava:
=FILTER(data,(0;0;0;0;0;1;0;0;0;1;0;1))
Konačno, FILTER vraća zapise za Masona, Annie i Cassidyja, koji se prelijevaju u raspon F5: H7.
Poredaj rezultate po rezultatima
Prema zadanim postavkama, FILTER će vratiti odgovarajuće zapise istim redoslijedom kojim se pojavljuju u izvornim podacima. Da biste rezultate sortirali u opadajućem redoslijedu po rezultatima, izvornu formulu FILTER možete ugnijezditi u funkciju SORT ovako:
=SORT(FILTER(data,(score>=LARGE(IF(group="b",score),3))*(group="b")),3,-1)
Ovdje FILTER vraća rezultate izravno u funkciju SORT kao argument niza. Indeks sortiranja postavljen je na 3 (rezultat), a redoslijed sortiranja na -1 za silazni redoslijed.