Excel-formel: Filtrera horisontella data -

Innehållsförteckning

Generisk formel

=FILTER(data,logic)

Sammanfattning

För att filtrera data som är ordnade horisontellt i kolumner kan du använda FILTER-funktionen. I exemplet som visas är formeln i C9:

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

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

Förklaring

Obs! FILTER är en ny dynamisk matrisfunktion i Excel 365. I andra versioner av Excel finns det alternativ, men de är mer komplexa.

Det finns tio kolumner med data i intervallet C4: L6. Målet är att filtrera dessa horisontella data och endast extrahera kolumner (poster) där gruppen är "räv". För bekvämlighet och läsbarhet innehåller kalkylbladet tre namngivna intervall: data (C4: L6) och grupp (C5: L5) och ålder (C6: L6).

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. Ingen speciell installation krävs. I exemplet som visas är formeln i C9:

=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 kolumn i data, och varje SANT motsvarar en kolumn där gruppen är "räv". Denna matris returneras direkt till FILTER som inkluderingsargument och den utför den faktiska filtreringen:

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

Endast data som motsvarar Sanna värden passerar filtret, så FILTER returnerar de sex kolumnerna där gruppen är "räv". FILTER returnerar dessa data i den ursprungliga horisontella strukturen. Eftersom FILTER är en dynamisk matrisfunktion spolas resultaten in i intervallet C9: H11.

Detta är en dynamisk lösning - om någon källinformation i C4: L6 ändras uppdateras resultaten från FILTER automatiskt.

Transponera till vertikalt format

För att transponera resultaten från filtret till ett vertikalt (rader) format kan du sätta in TRANSPOS-funktionen runt FILTER-funktionen så här:

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

Resultatet ser ut så här:

Denna formel förklaras mer detaljerat här.

Filtrera efter ålder

Samma grundformel kan användas för att filtrera data på olika sätt. Om du till exempel vill filtrera data så att endast kolumner visas där åldern är mindre än 22 kan du använda en sådan formel:

=FILTER(data,age<22)

FILTER returnerar de fyra matchande kolumnerna med data:

Intressanta artiklar...