Excel-formel: Filtrera och transponera horisontellt till vertikalt

Innehållsförteckning

Generisk formel

=TRANSPOSE(FILTER(data,logic))

Sammanfattning

För att filtrera data ordnade horisontellt och visa resultatet i vertikalt format kan du använda FILTER-funktionen tillsammans med TRANSPOSE. I exemplet som visas är formeln i B10:

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

där data (C4: L6) och grupp (C5: L5) heter områden.

Förklaring

Målet är att filtrera horisontella data i intervallet C4: L6 för att extrahera medlemmar i gruppen "fox" och visa resultat med data transponerade till vertikalt format. För bekvämlighet och läsbarhet har vi två namngivna områden att arbeta med: data (C4: L6) och grupp (C5: L5).

FILTER-funktionen kan användas för att extrahera data ordnade vertikalt (i rader) eller horisontellt (i kolumner). FILTER returnerar matchande data i samma riktning. Formeln i B5 är:

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

Arbetar inifrån och ut och inkluderar argumentet för FILTER är ett logiskt uttryck:

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

När det logiska uttrycket utvärderas returnerar det en matris med 10 SANT och FALSKA värden:

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

Obs: kommatecknen (,) i denna matris indikerar kolumner. Semikolon (;) skulle indikera rader.

Matrisen innehåller ett värde per post i data, och varje SANT motsvarar en kolumn där gruppen är "fox". Denna matris returneras direkt till FILTER som inkluderingsargument, där den faktiska filtreringen:

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

Endast data i kolumner som motsvarar SANT gör det genom filtret, så resultatet är data för de sex personerna i gruppen "räv". FILTER returnerar dessa data i den ursprungliga horisontella strukturen. Eftersom vi vill visa resultat från FILTER i vertikalt format är TRANSPOSE-funktionen lindad runt FILTER-funktionen:

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

TRANSPOSE-funktionen transponerar data och returnerar en vertikal matris som ett slutresultat i cell B10. Eftersom FILTER är en dynamisk matrisfunktion spolas resultaten in i intervallet B10: D15. Om data i data (C4: L6) ändras uppdateras resultatet från FILTER automatiskt.

Intressanta artiklar...