Екцел формула: ФИЛТЕР на врху н вредности са критеријумима -

Генеричка формула

=FILTER(data,(range>=LARGE(IF(criteria),n))*(criteria))

Резиме

Да бисте филтрирали податке како бисте приказали горњих н вредности које испуњавају одређене критеријуме, можете да користите функцију ФИЛТЕР заједно са функцијама ЛАРГЕ и ИФ. У приказаном примеру, формула у Ф5 је:

=FILTER(data,(score>=LARGE(IF(group="b",score),3))*(group="b"))

где су подаци (Б5: Д16), група (Ц5: Ц16) и скор (Д5: Д16) именовани опсези.

Објашњење

Ова формула користи функцију ФИЛТЕР за преузимање података на основу логичког теста конструисаног са функцијама ЛАРГЕ и ИФ. Резултат су прва 3 резултата у групи Б.

Функција ФИЛТЕР примењује критеријуме са аргументом инцлуде. У овом примеру, критеријуми се граде са логичком логиком попут ове:

(score>=LARGE(IF(group="b",score),3))*(group="b")

Лева страна израза циља оцене веће или једнаке 3. највишем резултату у групи Б:

score>=LARGE(IF(group="b",score),3)

Функција ИФ се користи да би се осигурало да ЛАРГЕ ради само са резултатима групе Б. Будући да имамо укупно 12 оцена, ИФ враћа низ са 12 оваквих резултата:

(FALSE;65;FALSE;80;FALSE;88;FALSE;76;FALSE;86;FALSE;83)

Приметите да су једини резултати који су преживели операцију из групе Б. Сви остали резултати су ЛАЖНИ. Овај низ се враћа директно у ЛАРГЕ као аргумент низа:

LARGE((FALSE;65;FALSE;80;FALSE;88;FALSE;76;FALSE;86;FALSE;83),3)

ЛАРГЕ занемарује ФАЛСЕ вредности и враћа 3. највишу оцену, 83.

Сада формулу можемо поједноставити на:

=FILTER(data,(score>=83)*(group="b"))

који решава:

=FILTER(data,(0;0;0;0;0;1;0;0;0;1;0;1))

Коначно, ФИЛТЕР враћа записе о Масону, Анние и Цассиди, који се преливају у опсег Ф5: Х7.

Сортирај резултате по резултату

Подразумевано, ФИЛТЕР ће вратити одговарајуће записе истим редоследом у којем се појављују у изворним подацима. Да бисте сортирали резултате у опадајућем редоследу по резултатима, можете угнездити оригиналну формулу ФИЛТЕР унутар функције СОРТ на следећи начин:

=SORT(FILTER(data,(score>=LARGE(IF(group="b",score),3))*(group="b")),3,-1)

Овде ФИЛТЕР враћа резултате директно у функцију СОРТ као аргумент низа. Индекс сортирања постављен је на 3 (резултат), а редослед сортирања на -1 за силазни редослед.

Занимљиви Чланци...