
Bendroji formulė
=FILTER(data,(header="a")+(header="b"))
Santrauka
Norėdami filtruoti stulpelius, pateikite horizontalų masyvą argumentui įtraukti. Parodytame pavyzdyje formulė I5 yra:
=FILTER(B5:G12,(B4:G4="a")+(B4:G4="c")+(B4:G4="e"))
Rezultatas yra filtruotas duomenų rinkinys, kuriame yra tik A, C ir E stulpeliai iš šaltinio duomenų.
Paaiškinimas
Nors filtruojant eilutes dažniausiai naudojamas filtras FILTER, taip pat galite filtruoti stulpelius, tačiau triukas yra tiekti masyvą su tokiu pačiu stulpelių skaičiumi kaip ir šaltinio duomenys. Šiame pavyzdyje mes sukonstruojame reikiamą masyvą naudodami loginę logiką, dar vadinamą Būlio algebra.
Būlio algebroje dauginimas atitinka AND logiką, o pridėjimas - OR logiką. Parodytame pavyzdyje mes naudojame Bulio logotipą su OR logika (papildymas), kad nukreiptume tik į A, C ir E stulpelius:
(B4:G4="a")+(B4:G4="c")+(B4:G4="e")
Įvertinę kiekvieną išraišką, turime tris TRUE / FALSE reikšmių masyvus:
(TRUE,FALSE,FALSE,FALSE,FALSE,FALSE)+ (FALSE,FALSE,TRUE,FALSE,FALSE,FALSE)+ (FALSE,FALSE,FALSE,FALSE,TRUE,FALSE)
Matematikos operacija (papildymas) paverčia TRUE ir FALSE reikšmes į 1s ir 0s, todėl galite galvoti apie tokią operaciją:
(1,0,0,0,0,0)+ (0,0,1,0,0,0)+ (0,0,0,0,1,0)
Galų gale turime vieną horizontalų masyvą 1s ir 0s:
(1,0,1,0,1,0)
kuris pristatomas tiesiai į funkciją FILTRAS kaip argumentą įtraukti:
=FILTER(B5:G12,(1,0,1,0,1,0))
Atkreipkite dėmesį, kad šaltinio duomenyse yra 6 stulpeliai ir 6 masyvo vertės, visos - 1 arba 0. FILTER naudoja šį masyvą kaip filtrą, kad iš šaltinio duomenų būtų įtraukti tik 1, 3 ir 5 stulpeliai. 2, 4 ir 6 stulpeliai pašalinami. Kitaip tariant, vieninteliai išlikę stulpeliai yra susieti su 1.
Su funkcija MATCH
ARBA logikos taikymas su pridėjimu, kaip parodyta aukščiau, veikia gerai, tačiau jis nėra menkas ir dėl to neįmanoma naudoti vertybių diapazono iš darbalapio kaip kriterijų. Kaip alternatyvą, galite naudoti funkciją MATCH kartu su funkcija ISNUMBER, kad efektyviau sukurtumėte argumentą „įtraukti“:
=FILTER(B5:G12,ISNUMBER(MATCH(B4:G4,("a","c","e"),0)))
Funkcija MATCH yra sukonfigūruota ieškoti visų stulpelio antraščių masyvo konstantoje („a“, „c“, „e“), kaip parodyta. Mes darome tai taip, kad MATCH rezultatas turėtų matmenis, suderinamus su šaltinio duomenimis, kuriame yra 6 stulpeliai. Taip pat atkreipkite dėmesį, kad trečiasis MATCH argumentas yra lygus nuliui, kad priverstų tikslią atitiktį.
Paleidus MATCH, jis pateikia tokį masyvą:
(1,#N/A,2,#N/A,3,#N/A)
Šis masyvas eina tiesiai į ISNUMBER, kuris pateikia kitą masyvą:
(TRUE,FALSE,TRUE,FALSE,TRUE,FALSE)
Kaip ir aukščiau, šis masyvas yra horizontalus ir jame yra 6 reikšmės, atskirtos kableliais. Filtras naudoja masyvą 2, 4 ir 6 stulpeliams pašalinti.
Su diapazonu
Kadangi stulpelių antraštės jau yra darbalapyje I4: K4 diapazone, aukščiau pateiktą formulę galima lengvai pritaikyti naudoti diapazoną tiesiogiai taip:
=FILTER(B5:G12,ISNUMBER(MATCH(B4:G4,I4:K4,0)))
Diapazonas I4: K4 vertinamas kaip ("a", "c", "e") ir elgiasi taip pat, kaip aukščiau pateiktoje formulėje esanti masyvo konstanta.