Funkcija FILTER leidžia jums filtruoti duomenų diapazoną pagal jūsų apibrėžtus kriterijus.
Toliau pateiktame pavyzdyje naudojome formulę =FILTER(A5:D20,C5:C20=H2,""), kad būtų pateikti visi "Apple" įrašai, kaip pažymėta langelyje H2, ir jei obuolių nėra, pateikti tuščią eilutę ("").
Funkcija FILTER filtruoja pagal Bulio (True/False) masyvą.
=FILTER(array,include,[if_empty])
Argumentas |
Aprašas |
array Būtinas |
Filtruotinas masyvas ar diapazonas |
Įtraukimas Būtinas |
Bulio logikos masyvas, kurio aukštis arba plotis toks pat kaip masyvo |
[if_empty] Pasirinktinai |
Grąžinama reikšmė, jei visos į masyvą įtrauktos reikšmės yra tuščio (filtras nepateikia rezultato) |
Pastabos:
-
Masyvą galima suvokti kaip reikšmių eilutę, reikšmių stulpelį arba reikšmių eilučių ir stulpelių derinį. Aukščiau pateiktame pavyzdyje mūsų funkcijos FILTER formulės šaltinio masyvas yra diapazonas A5:D20.
-
Funkcija FILTER pateiks masyvą, kuris išsiplės, jei jis bus galutinis formulės rezultatas. Tai reiškia, kad „Excel“ dinamiškai sukurs atitinkamo dydžio masyvo diapazoną, kai paspausite klavišą ENTER. Jei jūsų palaikymo duomenys yra „Excel“ lentelė, tuomet masyvo dydis automatiškai pasikeičia, jei į masyvo diapazoną įtraukiate duomenis arba juos pašalinate, kai naudojate struktūrines nuorodas. Daugiau informacijos žr. šiame straipsnyje apie išplėsto masyvo elgesį.
-
Jei jūsų duomenų rinkinyje yra tuščių reikšmių pateikimo galimybė, naudokite 3 argumentą ([if_empty]). Kitu atveju gausite #CALC! klaidą , nes „Excel“ šiuo metu nepalaiko tuščių masyvų.
-
Jei kuri nors įtraukimo argumento reikšmė yra klaida (#N/A, #VALUE ir t. t.) arba jos negalima konvertuoti į Bulio logikos reikšmę, funkcija FILTER pateiks klaidą.
-
„Excel“ dinaminių masyvų skirtingose darbaknygėse palaikymas yra ribotas, o šis scenarijus palaikomas tik, kai atidarytos abi darbaknygės. Jei uždarysite šaltinio darbaknygę, visos susietos dinaminių masyvų formulės atnaujinus pateiks #REF! klaidą .
Pavyzdžiai
Funkcija FILTER naudojama pateikiant kelis kriterijus
Tokiu atveju naudojame daugybos operatorių (*) norėdami pateikti visas reikšmes masyvo diapazone (A5:D20), kuriuose būtų „Obuoliai“ IR „Rytų regionas“: =FILTER(A5:D20,(C5:C20=H1)*(A5:A20=H2),"").
Funkcija FILTER naudojama pateikiat kelis kriterijus ir rūšiuojant
Šiuo atveju naudojame ankstesnę funkciją FILTER su funkcija SORT norėdami pateikti visas reikšmes masyvo diapazone (A5:D20), kuriuose būtų „Obuoliai“ IR „Rytų regionas“, tad rūšiuoti pagal „Vienetai“ mažėjimo tvarka: =SORT(FILTER(A5:D20,(C5:C20=H1)*(A5:A20=H2),""),4,-1)
Šiuo atveju naudojame funkciją FILTER su papildomu operatoriumi (+) norėdami pateikti visas reikšmes masyvo diapazone (A5:D20), kuriuose būtų „Obuoliai“ IR „Rytų regionas“, tad rūšiuoti pagal „Vienetai“ mažėjimo tvarka: =SORT(FILTER(A5:D20,(C5:C20=H1)+(A5:A20=H2),""),4,-1)
Atkreipkite dėmesį, kad nė vienai iš funkcijų nereikia absoliučiųjų koordinačių, nes jos yra tik viename langelyje ir pateikia rezultatus gretimuose langeliuose.
Reikia daugiau pagalbos?
Visada galite paklausti „Excel“ technologijų bendruomenės specialisto arba gauti palaikymo bendruomenėse.
Taip pat žr.
#SPILL! klaidos programoje „Excel“