Turinys
Jei vienintelis jums žinomas būdas sukurti filtrą "Google" lentelėse yra standartinis įrankis, turiu jums staigmeną :) Kartu su manimi patyrinėkite funkciją FILTER. Yra daugybė paruoštų formulių, kurias galite pasiskolinti, ir naujas galingas įrankis, kuris labai papildo filtravimo įrankių rinkinį.
Prieš kurį laiką paaiškinome, kaip filtruoti "Google Sheets" naudojant standartinį įrankį. Minėjome, kaip filtruoti pagal reikšmę ir pagal sąlygą. Tačiau skaičiuoklės visada turi daugiau, nei žinome. Šį kartą kartu su jumis panagrinėsiu "Google Sheets" funkciją FILTER.
To nerasite "Excel" programoje, todėl ją tikrai verta patikrinti.
"Google Sheets" funkcijos FILTER sintaksė
"Google Sheets" filtras nuskaito duomenis ir grąžina reikiamą informaciją, atitinkančią jūsų kriterijus.
Skirtingai nuo standartinio "Google Sheets" filtro, ši funkcija nieko nedaro su pradiniais duomenimis. Ji nukopijuoja rastas eilutes ir perkelia jas ten, kur sukuriate formulę.
Sintaksė gana paprasta, nes kiekvienas argumentas kalba pats už save:
=FILTRAS(diapazonas, sąlyga1, [sąlyga2, ...])- diapazonas yra duomenys, kuriuos norite filtruoti. Reikalinga.
- sąlyga1 yra stulpelis arba eilutė ir kriterijai TRUE/FALSE, pagal kuriuos ji turėtų būti vertinama. Reikalaujama.
- condition2,... , ir t. t., reiškia kitus stulpelius / eilutes ir (arba) kitus kriterijus. Neprivaloma.
Pastaba. Kiekvienas būklė turėtų būti tokio paties dydžio kaip diapazonas .
Pastaba. Jei naudojate kelias sąlygas, jos visos turi būti skirtos stulpeliams arba eilutėms. "Google Sheets" funkcija FILTER neleidžia naudoti mišrių sąlygų.
Dabar, atsižvelgdami į šias pastabas, pažiūrėkime, kaip formuojasi skirtingų formulių argumentai.
Kaip naudoti funkciją FILTER "Google Sheets
Parodysiu jums visus pavyzdžius, filtruodamas nedidelę lentelę, kurioje stebiu kai kuriuos užsakymus:
Lentelėje yra 20 eilučių su įvairių tipų duomenimis, kurie puikiai tinka funkcijai išmokti.
Kaip "Google" lentelėse filtruoti pagal tekstą
1 pavyzdys. Tekstas yra lygiai toks
Pirmiausia paprašysiu, kad funkcija parodytų tik tuos užsakymus, kurie vėluoja. Įvedu filtravimo diapazoną - A1:E20 - ir nustatykite sąlygą - stulpelis E turėtų būti lygus Vėlyvasis :
=FILTER(A1:E20,E1:E20="Late")
2 pavyzdys. Tekstas yra tiksliai ne
Galiu paprašyti, kad funkcija gautų visus užsakymus, išskyrus tuos, kurie vėluoja. Tam man reikės specialaus palyginimo operatoriaus (), kuris reiškia nelygus :
=FILTER(A1:E20,E1:E20"Late")
3 pavyzdys. Tekste yra
Dabar norėčiau parodyti, kaip sukurti "Google Sheets" FILTER funkciją pagal dalinį atitikimą. Kitaip tariant, jei tekste yra .
Ar pastebėjote, kad A stulpelio užsakymo ID pabaigoje yra šalies santrumpos? Sukurkime formulę, kad gautume tik tuos užsakymus, kurie buvo išsiųsti iš Kanados ( CA ).
Įprastai šiai užduočiai atlikti naudotumėte pakaitinius simbolius. Tačiau kai kalbama apie FILTER formulę, taip veikia FIND ir SEARCH funkcijos.
Patarimas. Jei norite išvengti kitų funkcijų įterpimo filtruojant pagal paprastus žodžių pasikartojimus, galite išbandyti pabaigoje aprašytą priedą.
Pastaba. Jei teksto raidė yra svarbi, naudokite FIND, kitu atveju pasirinkite SEARCH.
Mano pavyzdyje puikiai tinka funkcija IEŠKOTI, nes teksto raidė nesvarbi:
=SEARCH(search_for, text_to_search, [starting_at])- search_for yra tekstas, kurį noriu rasti. Labai svarbu jį apvesti dvigubomis kabutėmis: "ca" ... Reikalinga.
- text_to_search yra diapazonas, kuriame reikia ieškoti reikiamo teksto. Reikalaujama. A1:A20 man.
- starting_at nurodo pradinę paieškos poziciją - simbolio numerį, nuo kurio reikia pradėti paiešką. Tai visiškai neprivaloma, bet man reikia jį naudoti. Matote, visi užsakymo ID susideda iš raidžių ir skaičių, t. y. pora CA gali pasitaikyti kažkur tarp jų. Dėl identiško visų ID modelio galiu ieškoti CA pradedant nuo 8-ojo simbolio.
Surinkęs visas šias dalis, gaunu norimą rezultatą:
=FILTRAS(A1:E20,SEARCH("ca",A1:A20,8))
Kaip "Google" lentelėse filtruoti pagal datą ir laiką
Filtruojant pagal datą ir laiką taip pat reikia naudoti papildomas funkcijas. Priklausomai nuo kriterijų, gali tekti pagrindinėje "Google" lentelių FILTRAVIMO funkcijoje įterpti DIENĄ, MĖNESĮ, METUS ar net DATĄ ir LAIKĄ.
Patarimas. Jei su jomis nesate susipažinę arba visada painiojate datas - nesijaudinkite. Pabaigoje aprašytam įrankiui nereikia jokių funkcijų.
1 pavyzdys. Data yra
Kad gautumėte tuos užsakymus, kurie turi būti pateikti 2020 m. sausio 9 d., pakviesiu funkciją DATA:
=FILTER(A1:E20,C1:C20=DATE(2020,1,9))
Pastaba. Tai veikia tik tuo atveju, jei jūsų ląstelėse kartu su data nepateikiami laiko vienetai (skaičiuoklėje jie gali būti pridėti pagal numatytuosius nustatymus). Norėdami įsitikinti, tiesiog pasirinkite ląstelę ir patikrinkite, kas rodoma formulių juostoje:
Jei laikas yra ir jo pašalinti neįmanoma, turėtumėte naudoti QUERY arba sudėtingesnę "Google Sheets" FILTER funkcijos sąlygą, pvz., šią:
=FILTER(A1:E20,C1:C20>=DATE(2020,1,9),C1:C20
Patarimas. Toliau išsamiau kalbėsiu apie kelias sąlygas.
2 pavyzdys. Datą sudaro
Jei jus domina tik konkretus mėnuo ar metai, galite išsiversti su MĖNESIO ir METŲ funkcijomis. Įveskite intervalą su datomis tiesiai į ją ( C1:C20 ) ir nurodykite mėnesio (arba metų) numerį, kuriam jis turėtų būti lygus ( =1 ):
=FILTER(A1:E20,MONTH(C1:C20)=1)
3 pavyzdys. Data yra prieš ir po
Norint gauti duomenis, kurie patenka prieš arba po nurodytos datos, reikia funkcijos DATA ir tokių palyginimo operatorių, kaip didesnis nei (>), didesnis arba lygus (>=), mažesnis nei (<), mažesnis arba lygus (<=).
Čia pateikiami užsakymai, gauti 2020 m. sausio 1 d. ir vėliau:
=FILTER(A1:E20,D1:D20>=DATE(2020,1,1))
Žinoma, čia galite lengvai pakeisti DATE į MONTH arba YEAR. Rezultatas nesiskirs nuo pirmiau pateikto:
=FILTER(A1:E20,YEAR(D1:D20)>=2020)
4 pavyzdys. Laikas
Filtruojant "Google Sheets" pagal laiką, veiksmai yra lygiai tokie patys kaip ir su datomis. Naudojama papildoma funkcija TIME.
Pavyzdžiui, jei norite gauti tik tas dienas, kurių laiko žyma yra po 14:00, formulė bus tokia:
=FILTER(A1:B10,A1:A10>TIME(14,0,0))
Tačiau kai reikia naudoti funkciją HOUR (kaip ir MONTH datoms), žaidimas šiek tiek pasikeičia. Laikas skaičiuoklėse yra pakankamai sudėtingas, todėl reikia atlikti keletą pakeitimų.
Jei norite grąžinti visas eilutes, kurių laiko žymos yra tarp 14:00 VAL. ir 12:00 VAL. , atlikite tai:
- Apibrėžkite intervalą laiko žymomis ( A1:A10 ) atskiroje HOUR funkcijoje. Tai parodys, kur ieškoti.
- Tada pridėkite dar vieną funkciją HOUR, kad galėtumėte nustatyti laiką.
=FILTER(A1:B10,HOUR(A1:A10)>=HOUR("2:00:00 PM"))
Patarimas. Žiūrėkite, kad į rezultatą nebūtų įtraukta 12:41 VAL. ? Taip yra todėl, kad skaičiuoklėje tai traktuojama kaip 00:41 kuri yra mažesnė už 2:00 .
Jei radote elegantiškesnį sprendimą, pasidalykite juo toliau pateiktame komentarų skyriuje.
Kaip filtruoti "Google Sheets" naudojant ląstelių nuorodas
Kiekvieną kartą kurdami "Google Sheets" filtro formulę turite įvesti tokią sąlygą, kokia ji yra: žodį ar jo dalį, datą ir t. t. Nebent esate susipažinę su ląstelių nuorodomis.
Jos palengvina daugelį dalykų, susijusių su formulėmis, nes užuot viską įvedę, galite tiesiog nurodyti langelius su sąlygomis.
Prisimenate, kaip ieškojau visų vėluojančių užsakymų? Galiu greitai padaryti nuorodą į E4 su tekstu Vėlyvasis daryti tą patį:
=FILTER(A1:E20,E1:E20=E4)
Rezultatas visiškai nesiskirs:
Tai galite pakartoti su visomis anksčiau minėtomis formulėmis. Pavyzdžiui, venkite pridėti daugiau funkcijų, pavyzdžiui, DATA, ir tiesiog nurodykite ląstelę su dominančia data:
=FILTER(A1:E20,C1:C20=C15)
Patarimas. Ląstelių nuorodos taip pat leidžia filtruoti iš kito lapo. Jums tereikia suvesti lapo pavadinimą:
=FILTER(Užsakymai!A1:E20,Užsakymai!C1:C20=Užsakymai!C15)
"Google Sheets" filtravimo formulės su keliais kriterijais
Nors anksčiau visose "Google Sheets" filtravimo formulėse daugiausia naudojau vieną sąlygą, labiau tikėtina, kad jums reikės filtruoti lentelę pagal kelias sąlygas vienu metu.
1 pavyzdys. IS BETWEEN logika
Jei norite rasti visas eilutes, esančias tarp dviejų skaičių, datų ir laikų, pravers pasirenkamieji funkcijos argumentai - sąlyga2 , sąlyga3 ir t. t. Kiekvieną kartą tiesiog dubliuojate tą patį intervalą, bet su nauja sąlyga.
Ketinu grąžinti tik tuos užsakymus, kurie man kainavo daugiau nei 250, bet mažiau nei 350 JAV dolerių:
=FILTER(A1:E20,B1:B20>=250,B1:B20<350)
2 pavyzdys. OR logika "Google Sheets FILTER" funkcijoje
Deja, norint gauti visas eilutes, kuriose yra skirtingų įrašų dominančiame stulpelyje, ankstesnis būdas nepadės. Taigi kaip patikrinti visus užsakymus, kurie yra ir pakeliui, ir vėluoja?
Jei bandysiu naudoti ankstesnį metodą ir įvesiu kiekvieną užsakymo būseną į atskirą sąlygą, gausiu #N/A klaidą:
Taigi, norėdamas teisingai nustatyti funkcijos FILTER logiką OR, turėčiau šiuos du kriterijus sudėti į vieną sąlygą:
=FILTER(A1:E20,(E1:E20="Vėluoju")+(E1:E20="Pakeliui"))
Kelių stulpelių filtro įtraukimas į "Google" lenteles
Dar labiau tikėtina, kad už kelių sąlygų taikymą vienam stulpeliui "Google Sheets" sukursite filtrą keliems stulpeliams.
Visi argumentai yra tie patys. Tačiau kiekvienai naujai formulės daliai reikia naujo diapazono su savais kriterijais.
Pabandykime padaryti taip, kad "Google Sheets" funkcija FILTER grąžintų užsakymus, kurie atitinka visas toliau nurodytas taisykles:
- Jų vertė turėtų būti 200-400 JAV dolerių:
A1:E20,B1:B20>=200,B1:B20<=400
- Turi būti pradėtos 2020 m. sausio mėn:
MĖNUO(C1:C20)=1
- Ir vis dar yra pakeliui:
E1:E20="pakeliui"
Sudėkite visas šias dalis ir "Google Sheets" filtrų formulė keliems stulpeliams bus paruošta:
=FILTER(A1:E20,B1:B20>=200,B1:B20<=400,MONTH(C1:C20)=1,E1:E20="on the way")
Išplėstinis "Google Sheets" filtras be formulių
FILTER funkcija yra puiki, tačiau kartais jos gali būti per daug. Visų argumentų, skiriamųjų ženklų, įterptų funkcijų ir kitų dalykų sekimas gali būti labai painus ir atimti daug laiko.
Laimei, turime geresnį sprendimą, kuris pranoksta tiek "Google Sheets" filtravimo funkciją, tiek jų standartinį įrankį - daugkartinius VLOOKUP atitikmenis.
Nesusimąstykite dėl jos pavadinimo. Ji panaši į "Google Sheets" VLOOKUP funkciją, nes ji ieško atitikmenų. Lygiai taip pat, kaip ir FILTER funkcija. Lygiai taip pat, kaip tai padariau pirmiau.
Čia yra 5 pagrindiniai privalumai įrankio per "Google Sheets" funkciją FILTER:
- Jums nereikės galvoti apie skirtingų sąlygų operatoriai - tiesiog išsirinkite vieną iš sąrašo:
Nuoširdžiai raginu įdiegti "Multiple VLOOKUP Matches" ir išbandyti šią programą. Jei norite atidžiau susipažinti su jos galimybėmis, apsilankykite jos mokomajame puslapyje arba peržiūrėkite specialų mokomąjį vaizdo įrašą: