Формула на Excel: Филтрирайте и транспонирайте хоризонтално във вертикално -

Съдържание

Обща формула

=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 се актуализира автоматично.

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