Обща формула
=TRANSPOSE(FILTER(data,logic))
Обобщение
За да филтрирате данни, подредени хоризонтално и да покажете резултата във вертикален формат, можете да използвате функцията FILTER заедно с TRANSPOSE. В показания пример формулата в B10 е:
=TRANSPOSE(FILTER(data,group="fox"))
където данните (C4: L6) и групата (C5: L5) са наречени диапазони.
Обяснение
Целта е да се филтрират хоризонталните данни в диапазона C4: L6, за да се извлекат членове на групата "лисица" и да се покажат резултатите с данни, транспонирани във вертикален формат. За удобство и четливост имаме два именувани диапазона, с които да работим: данни (C4: L6) и група (C5: L5).
Функцията FILTER може да се използва за извличане на данни, подредени вертикално (в редове) или хоризонтално (в колони). FILTER ще върне съответстващите данни в същата ориентация. Формулата в B5 е:
=TRANSPOSE(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 връща тези данни в оригиналната хоризонтална структура. Тъй като искаме да покажем резултати от FILTER във вертикален формат, функцията TRANSPOSE е обгърната около функцията FILTER:
=TRANSPOSE(FILTER(data,group="fox"))
Функцията TRANSPOSE транспонира данните и връща вертикален масив като краен резултат в клетка B10. Тъй като FILTER е функция на динамичен масив, резултатите се разливат в диапазона B10: D15. Ако данните в данните (C4: L6) се променят, резултатът от FILTER се актуализира автоматично.