
Általános képlet
=FILTER(data,(range>=LARGE(IF(criteria),n))*(criteria))
Összegzés
Az adatok szűréséhez a legfelső n érték megjelenítéséhez, amelyek megfelelnek bizonyos feltételeknek, használhatja a SZŰRŐ funkciót a LARGE és IF függvényekkel együtt. A bemutatott példában az F5 képlete a következő:
=FILTER(data,(score>=LARGE(IF(group="b",score),3))*(group="b"))
ahol az adatokat (B5: D16), a csoportot (C5: C16) és a pontszámot (D5: D16) nevezzük tartományoknak.
Magyarázat
Ez a képlet a SZŰRŐ funkcióval használja az adatok lekeresését a LARGE és IF függvényekkel felépített logikai teszt alapján. Az eredmény a B csoport legjobb 3 pontja.
A SZŰRŐ függvény feltételeket alkalmaz az include argumentummal. Ebben a példában a feltételeket a következő logikai logikával építjük fel:
(score>=LARGE(IF(group="b",score),3))*(group="b")
A célcsoport kifejezés bal oldala a B csoport 3. legmagasabb pontszámával egyenlő vagy azzal egyenlő:
score>=LARGE(IF(group="b",score),3)
Az IF funkcióval megbizonyosodhatunk arról, hogy a LARGE csak a B csoport pontszámával dolgozik. Mivel összesen 12 pontszámunk van, az IF egy tömböt ad vissza 12 ilyen eredménnyel:
(FALSE;65;FALSE;80;FALSE;88;FALSE;76;FALSE;86;FALSE;83)
Figyelje meg, hogy a művelet során csak a B csoportba tartozó pontszámok tartoznak. Az összes többi pontszám HAMIS. Ezt a tömböt közvetlenül a LARGE-nek adjuk vissza tömb argumentumként:
LARGE((FALSE;65;FALSE;80;FALSE;88;FALSE;76;FALSE;86;FALSE;83),3)
A LARGE figyelmen kívül hagyja a FALSE értékeket, és a 3. legmagasabb pontszámot, 83-at adja vissza.
Most egyszerűsíthetjük a képletet:
=FILTER(data,(score>=83)*(group="b"))
amely elhatározza, hogy:
=FILTER(data,(0;0;0;0;0;1;0;0;0;1;0;1))
Végül a FILTER visszaadja Mason, Annie és Cassidy rekordjait, amelyek az F5: H7 tartományba kerülnek.
Az eredmények rendezése pontszám szerint
Alapértelmezés szerint a FILTER az egyező rekordokat ugyanabban a sorrendben adja vissza, mint amelyek a forrásadatokban megjelennek. Az eredmények pontszám szerinti csökkenő sorrendbe rendezéséhez az eredeti SZŰRŐ képletet beillesztheti a SORT funkcióba, így:
=SORT(FILTER(data,(score>=LARGE(IF(group="b",score),3))*(group="b")),3,-1)
Itt a FILTER az eredményeket közvetlenül a SORT függvénybe adja vissza tömb argumentumként. A rendezési index értéke 3 (pontszám), a rendezési sorrend pedig -1, csökkenő sorrendben.