
Generisk formel
=FILTER(data,logic)
Sammendrag
For å filtrere data arrangert horisontalt i kolonner, kan du bruke FILTER-funksjonen. I eksemplet vist er formelen i C9:
=TRANSPOSE(FILTER(data,group="fox"))
der data (C4: L6) og gruppe (C5: L5) er kalt områder.
Forklaring
Merk: FILTER er en ny dynamisk matrisefunksjon i Excel 365. I andre versjoner av Excel er det alternativer, men de er mer komplekse.
Det er ti kolonner med data i området C4: L6. Målet er å filtrere disse horisontale dataene og kun trekke ut kolonner (poster) der gruppen er "rev". For enkelhets skyld og lesbarhet inneholder regnearket tre navngitte områder: data (C4: L6) og gruppe (C5: L5) og alder (C6: L6).
FILTER-funksjonen kan brukes til å trekke ut data ordnet vertikalt (i rader) eller horisontalt (i kolonner). FILTER returnerer samsvarende data i samme retning. Ingen spesielle oppsett er nødvendig. I eksemplet vist er formelen i C9:
=FILTER(data,group="fox")
Arbeider fra innsiden og ut, inkluderer argumentet for FILTER er et logisk uttrykk:
group="fox" // test for "fox"
Når det logiske uttrykket blir evaluert, returnerer det en matrise med 10 SANNE og FALSE verdier:
(TRUE,FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,FALSE)
Merk: kommaene (,) i denne matrisen indikerer kolonner. Semikolon (;) vil indikere rader.
Matrisen inneholder en verdi per kolonne i dataene, og hver SANT tilsvarer en kolonne der gruppen er "rev". Denne matrisen returneres direkte til FILTER som inkluderingsargument, og den utfører den faktiske filtreringen:
FILTER(data,(TRUE,FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,FALSE))
Bare data som tilsvarer SANNE verdier passerer filteret, så FILTER returnerer de 6 kolonnene der gruppen er "rev". FILTER returnerer disse dataene i den opprinnelige horisontale strukturen. Fordi FILTER er en dynamisk matrisefunksjon, spretter resultatene inn i området C9: H11.
Dette er en dynamisk løsning - hvis noen kildedata i C4: L6 endres, oppdateres resultatene fra FILTER automatisk.
Transponere til vertikalt format
For å transponere resultatene fra filteret til et vertikalt (rader) format, kan du vikle TRANSPOSE-funksjonen rundt FILTER-funksjonen slik:
=TRANSPOSE(FILTER(data,group="fox"))
Resultatet ser slik ut:
Denne formelen er forklart mer detaljert her.
Filtrer på alder
Den samme grunnformelen kan brukes til å filtrere dataene på forskjellige måter. For eksempel, for å filtrere data for å bare vise kolonner der alderen er mindre enn 22, kan du bruke en formel som denne:
=FILTER(data,age<22)
FILTER returnerer de fire samsvarende kolonnene med data: