
Генеричка формула
=FILTER(data,(header="a")+(header="b"))
Резиме
Да бисте филтрирали колоне, наведите хоризонтални низ за аргумент укључивања. У приказаном примеру, формула у И5 је:
=FILTER(B5:G12,(B4:G4="a")+(B4:G4="c")+(B4:G4="e"))
Резултат је филтрирани скуп података који садржи само колоне А, Ц и Е из изворних података.
Објашњење
Иако се ФИЛТЕР чешће користи за филтрирање редова, колоне такође можете да филтрирате, трик је у томе да се низ испоручи са истим бројем колона као и изворни подаци. У овом примеру конструишемо низ који нам је потребан са логичком логиком, која се назива и логичка алгебра.
У логичкој алгебри множење одговара логици АНД, а сабирање ИЛИ логици. У приказаном примеру користимо логичку алгебру са ИЛИ логиком (додавањем) да бисмо циљали само колоне А, Ц и Е овако:
(B4:G4="a")+(B4:G4="c")+(B4:G4="e")
Након процене сваког израза, имамо три низа вредности ТРУЕ / ФАЛСЕ:
(TRUE,FALSE,FALSE,FALSE,FALSE,FALSE)+ (FALSE,FALSE,TRUE,FALSE,FALSE,FALSE)+ (FALSE,FALSE,FALSE,FALSE,TRUE,FALSE)
Математичка операција (сабирање) претвара вредности ТРУЕ и ФАЛСЕ у 1с и 0с, тако да о операцији можете размишљати овако:
(1,0,0,0,0,0)+ (0,0,1,0,0,0)+ (0,0,0,0,1,0)
На крају имамо један хоризонтални низ од 1 и 0:
(1,0,1,0,1,0)
који се испоручује директно функцији ФИЛТЕР као аргумент укључују:
=FILTER(B5:G12,(1,0,1,0,1,0))
Приметите да у изворним подацима постоји 6 ступаца, а у низу 6 вредности, све или 1 или 0. ФИЛТЕР користи овај низ као филтер који укључује само колоне 1, 3 и 5 из изворних података. Колоне 2, 4 и 6 се уклањају. Другим речима, једине преживеле колоне повезане су са 1с.
Са функцијом МАТЦХ
Примена ИЛИ логике са додавањем, као што је приказано горе, добро функционише, али се не прилагођава добро и онемогућава употребу низа вредности са радног листа као критеријума. Као алтернативу, можете користити функцију МАТЦХ заједно са функцијом ИСНУМБЕР да бисте ефикасније конструисали аргумент инцлуде:
=FILTER(B5:G12,ISNUMBER(MATCH(B4:G4,("a","c","e"),0)))
Функција МАТЦХ је конфигурисана да тражи сва заглавља колона у константи низа ("а", "ц", "е") као што је приказано. То радимо на овај начин тако да резултат из МАТЦХ има димензије компатибилне са изворним подацима, који садржи 6 колона. Такође приметите да је трећи аргумент у МАТЦХ постављен на нулу како би се форсирало тачно подударање.
Након покретања МАТЦХ, враћа низ попут овог:
(1,#N/A,2,#N/A,3,#N/A)
Овај низ иде директно у ИСНУМБЕР, који враћа други низ:
(TRUE,FALSE,TRUE,FALSE,TRUE,FALSE)
Као и горе, овај низ је водораван и садржи 6 вредности одвојених зарезима. ФИЛТЕР користи низ за уклањање колона 2, 4 и 6.
Са дометом
Будући да су заглавља ступаца већ на радном листу у опсегу И4: К4, горња формула се лако може прилагодити тако да користи опсег директно овако:
=FILTER(B5:G12,ISNUMBER(MATCH(B4:G4,I4:K4,0)))
Опсег И4: К4 се процењује као ("а", "ц", "е") и понаша се баш као константа низа у горњој формули.