Формула на Excel: Филтриране на хоризонтални данни -

Съдържание

Обща формула

=FILTER(data,logic)

Обобщение

За да филтрирате данните, подредени хоризонтално в колони, можете да използвате функцията FILTER. В показания пример формулата в C9 е:

=TRANSPOSE(FILTER(data,group="fox"))

където данните (C4: L6) и групата (C5: L5) са наречени диапазони.

Обяснение

Забележка: FILTER е нова функция за динамичен масив в Excel 365. В други версии на Excel има алтернативи, но те са по-сложни.

Има десет колони с данни в диапазона C4: L6. Целта е да се филтрират тези хоризонтални данни и да се извлекат само колони (записи), където групата е "лисица". За удобство и четливост работният лист съдържа три именувани диапазона: данни (C4: L6) и група (C5: L5) и възраст (C6: L6).

Функцията FILTER може да се използва за извличане на данни, подредени вертикално (в редове) или хоризонтално (в колони). FILTER ще върне съответстващите данни в същата ориентация. Не се изисква специална настройка. В показания пример формулата в C9 е:

=FILTER(data,group="fox")

Работейки отвътре навън, аргументът за включване за FILTER е логичен израз:

group="fox" // test for "fox"

Когато се изчисли логическият израз, той връща масив от 10 стойности TRUE и FALSE:

(TRUE,FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,FALSE)

Забележка: запетаите (,) в този масив показват колони. Точка с запетая (;) ще показва редове.

Масивът съдържа по една стойност на колона в данните и всяка TRUE съответства на колона, където групата е "лисица". Този масив се връща директно във FILTER като аргумент за включване и изпълнява действителното филтриране:

FILTER(data,(TRUE,FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,FALSE))

Само данните, които съответстват на TRUE стойности, преминават през филтъра, така че FILTER връща 6-те колони, където групата е "лисица". FILTER връща тези данни в оригиналната хоризонтална структура. Тъй като FILTER е динамична функция на масив, резултатите се разливат в диапазона C9: H11.

Това е динамично решение - ако някакви изходни данни в C4: L6 се променят, резултатите от FILTER се актуализират автоматично.

Транспониране във вертикален формат

За да транспонирате резултатите от филтъра във вертикален (редове) формат, можете да увиете функцията TRANSPOSE около функцията FILTER по следния начин:

=TRANSPOSE(FILTER(data,group="fox"))

Резултатът изглежда така:

Тази формула е обяснена по-подробно тук.

Филтрирайте по възраст

Една и съща основна формула може да се използва за филтриране на данните по различни начини. Например, за да филтрирате данни, за да показват само колони, където възрастта е под 22 години, можете да използвате формула като тази:

=FILTER(data,age<22)

FILTER връща четирите съвпадащи колони с данни:

Интересни статии...