
Generička formula
=FILTER(data,(header="a")+(header="b"))
Sažetak
Da biste filtrirali stupce, navedite vodoravni niz za argument uključivanja. U prikazanom primjeru formula u I5 je:
=FILTER(B5:G12,(B4:G4="a")+(B4:G4="c")+(B4:G4="e"))
Rezultat je filtrirani skup podataka koji sadrži samo stupce A, C i E iz izvornih podataka.
Obrazloženje
Iako se FILTER češće koristi za filtriranje redaka, možete filtrirati i stupce, trik je u pružanju niza s istim brojem stupaca kao i izvornih podataka. U ovom primjeru konstruiramo niz koji nam treba s logičkom logikom, koja se naziva i logička algebra.
U logičkoj algebri množenje odgovara logici AND, a zbrajanje ILI logici. U prikazanom primjeru koristimo logičku algebru s ILI logikom (dodavanjem) za ciljanje samo stupaca A, C i E poput ovog:
(B4:G4="a")+(B4:G4="c")+(B4:G4="e")
Nakon što se procijeni svaki izraz, imamo tri niza vrijednosti TRUE / FALSE:
(TRUE,FALSE,FALSE,FALSE,FALSE,FALSE)+ (FALSE,FALSE,TRUE,FALSE,FALSE,FALSE)+ (FALSE,FALSE,FALSE,FALSE,TRUE,FALSE)
Matematička operacija (zbrajanje) pretvara vrijednosti TRUE i FALSE u 1s i 0s, tako da o operaciji možete razmišljati ovako:
(1,0,0,0,0,0)+ (0,0,1,0,0,0)+ (0,0,0,0,1,0)
Na kraju imamo jedan vodoravni niz od 1 i 0:
(1,0,1,0,1,0)
koji se isporučuje izravno funkciji FILTER kao argument uključuju:
=FILTER(B5:G12,(1,0,1,0,1,0))
Primijetite da postoji 6 stupaca u izvornim podacima i 6 vrijednosti u polju, sve ili 1 ili 0. FILTER koristi ovaj niz kao filtar koji uključuje samo stupce 1, 3 i 5 iz izvornih podataka. Uklanjaju se stupci 2, 4 i 6. Drugim riječima, jedini preživjeli stupci povezani su s 1s.
S funkcijom MATCH
Primjena ILI logike s dodavanjem kao što je prikazano gore dobro funkcionira, ali se ne prilagođava dobro i onemogućuje upotrebu niza vrijednosti s radnog lista kao kriterija. Kao alternativu, možete koristiti funkciju MATCH zajedno s funkcijom ISNUMBER kako biste učinkovitije konstruirali argument include:
=FILTER(B5:G12,ISNUMBER(MATCH(B4:G4,("a","c","e"),0)))
Funkcija MATCH konfigurirana je za traženje svih zaglavlja stupaca u konstanti niza ("a", "c", "e") kako je prikazano. Činimo to na ovaj način tako da rezultat iz MATCH-a ima dimenzije kompatibilne s izvornim podacima koji sadrži 6 stupaca. Primijetite također da je treći argument u MATCH postavljen na nulu kako bi se forsiralo točno podudaranje.
Nakon pokretanja MATCH, vraća niz poput ovog:
(1,#N/A,2,#N/A,3,#N/A)
Ovaj niz ide izravno u ISNUMBER, koji vraća drugi niz:
(TRUE,FALSE,TRUE,FALSE,TRUE,FALSE)
Kao i gore, ovaj je niz vodoravan i sadrži 6 vrijednosti odvojenih zarezima. FILTER koristi polje za uklanjanje stupaca 2, 4 i 6.
Uz niz
Budući da su zaglavlja stupaca već na radnom listu u rasponu I4: K4, gornju formulu lako je prilagoditi tako da koristi raspon izravno ovako:
=FILTER(B5:G12,ISNUMBER(MATCH(B4:G4,I4:K4,0)))
Raspon I4: K4 procjenjuje se kao ("a", "c", "e") i ponaša se baš kao konstanta niza u gornjoj formuli.