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

Преглед садржаја

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

=INDEX(FILTER(data,data""),SEQUENCE(n,1,1,1))

Резиме

Да бисте ФИЛТИРАЛИ и издвојили прву или последњу н вредности (тј. Прве 3 вредности, првих 5 вредности итд.), Можете да користите функцију ФИЛТЕР заједно са ИНДЕКС и СЕКУЕНЦЕ. У приказаном примеру, формула у Д5 је:

=INDEX(FILTER(data,data""),SEQUENCE(3,1,1,1))

где су подаци именовани опсег Б5: Б15.

Објашњење

Радећи изнутра према унутра, користимо функцију СЕКУЕНЦЕ да бисмо конструисали вредност броја реда за ИНДЕКС на следећи начин:

SEQUENCE(3,1,1,1)

Тражимо СЕКУЕНЦЕ за низ од 3 реда к 1 колона, почевши од 1, са вредношћу корака 1. Резултат је низ попут овог:

(1;2;3)

који се враћа директно у функцију ИНДЕКС као аргумент ров_нум:

=INDEX(FILTER(data,data""),(1;2;3))

Да бисмо конструисали низ за ИНДЕКС, користимо функцију ФИЛТЕР да дохватимо листу непразних уноса из именованих података опсега (Б5: Б15), овако:

FILTER(data,data"")

Аргумент низа је податак, а аргумент укључују израз података "". То се може дословно превести као „враћање вредности из именованих података опсега где вредности у подацима нису празне“. Резултат је низ са 9 вредности попут ове:

("Atlanta";"Chicago";"Dallas";"Denver";"Los Angeles";"Miami";"New York";"Seattle";"Minneapolis")

Вредности обавештења повезане са две празне ћелије су уклоњене. Овај низ се враћа функцији ИНДЕКС као његов аргумент низа.

Коначно, ИНДЕКС враћа 1., 2. и 3. вредност из низа који је вратио ФИЛТЕР:

("Atlanta";"Chicago";"Dallas")

Последњих н вредности

Да бисте добили последњих н вредности са ФИЛТЕР, користите исту структуру формуле, са улазима у СЕКУЕНЦЕ модификованим за конструкцију "последњих н" низа бројева редова. На пример, да бисте добили последње 3 празне вредности у приказаном примеру, можете користити формулу попут ове:

=INDEX(FILTER(data,data""),SORT(SEQUENCE(3,1,SUM(--(data"")),-1)))

Главни трик овде је бројање непразних уноса у именованим подацима опсега попут овог:

SUM(--(data""))

Двоструким негативом форсирамо вредност ТРУЕ ФАЛСЕ на 1с и 0с, а затим користимо функцију СУМ да добијемо бројање. Резултат се враћа као почетни аргумент унутар СЕКУЕНЦЕ. Снабдевамо -1 за корак за корак уназад од почетка.

Функцију СОРТ такође омотавамо око СЕКУЕНЦЕ тако да је враћени низ (7; 8; 9), а не (9; 8; 7). Ово осигурава да се вредности враћају истим редоследом у којем се појављују у изворним подацима.

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