Talaan ng nilalaman
Kung ang tanging paraan na alam mo sa paggawa ng filter sa Google Sheets ay ang karaniwang tool, mayroon akong sorpresa para sa iyo. :) Halika at galugarin ang FILTER function kasama ko. Maraming handa na mga formula na maaari mong hiramin, kasama ang isang bagong makapangyarihang tool na lubos na umaakma sa filtering toolset.
Isang oras ang nakalipas ipinaliwanag namin kung paano mag-filter sa Google Sheets gamit ang karaniwang tool. Binanggit namin kung paano mag-filter ayon sa halaga at ayon sa kundisyon. Gayunpaman, ang mga spreadsheet ay palaging may higit pa sa mga ito kaysa sa alam natin. At sa pagkakataong ito, tuklasin ko ang function ng Google Sheets FILTER kasama mo.
Hindi mo ito mahahanap sa Excel, kaya talagang sulit itong tingnan.
Syntax ng Google Sheets FILTER function
FILTER sa Google Sheets ay ini-scan ang iyong data at ibinabalik ang kinakailangang impormasyon na nakakatugon sa iyong pamantayan.
Hindi tulad ng karaniwang Google Sheets filter, ang function ay hindi gawin ang anumang bagay sa iyong orihinal na data. Kinokopya nito ang mga nahanap na row at inilalagay ang mga ito saanman mo buuin ang formula.
Ang syntax ay medyo madali dahil ang bawat argument ay nagsasalita para sa sarili nito:
=FILTER(range, condition1, [condition2, ...]) Ang- range ay ang data na gusto mong i-filter. Kinakailangan.
- kondisyon1 ay isang column o row kasama ng TRUE/FALSE na pamantayan na dapat ay nasa ilalim nito. Kinakailangan.
- kondisyon2,... , atbp., kumakatawan sa iba pang mga column/row at/o iba pang pamantayan. Opsyonal.
Tandaan. Ang bawat isaAng kondisyon ay dapat na kasing laki ng range .
Tandaan. Kung gagamit ka ng maraming kundisyon, dapat ang lahat ay para sa mga column o row. Ang Google Sheets FILTER function ay hindi pinapayagan ang magkahalong kundisyon.
Ngayon, nang nasa isip ang mga talang ito, tingnan natin kung paano nagkakaroon ng iba't ibang formula ang mga argumento.
Paano gamitin ang FILTER function sa Google Sheets
Ipapakita ko sa inyo ang lahat ang mga halimbawa habang nagpi-filter ng maliit na talahanayan kung saan sinusubaybayan ko ang ilang mga order:
Naglalaman ang talahanayan ng 20 row na may iba't ibang uri ng data na perpekto para matutunan ang function.
Paano mag-filter sa Google Sheets sa pamamagitan ng text
Halimbawa 1. Eksakto ang text
Una, hihilingin ko sa function na ipakita lang ang mga order na huli na. Ilalagay ko ang hanay na i-filter — A1:E20 — at pagkatapos ay itinakda ang kundisyon — ang column E ay dapat katumbas ng Late :
=FILTER(A1:E20,E1:E20="Late")
Halimbawa 2. Ang teksto ay eksaktong hindi
Maaari kong hilingin sa function na makuha sa akin ang lahat ng mga order ngunit ang mga huli. Para diyan, kakailanganin ko ng espesyal na operator ng paghahambing () na nangangahulugang hindi katumbas ng :
=FILTER(A1:E20,E1:E20"Late")
Halimbawa 3. Text naglalaman ng
Ngayon gusto kong ipakita sa iyo kung paano buuin ang Google Sheets FILTER function batay sa bahagyang tugma. O sa madaling salita — kung naglalaman ang teksto ng .
Napansin mo ba na ang mga order ID sa column A ay naglalaman ng mga pagdadaglat ng bansa sa dulo ng mga ito? Gumawa tayo ng formula na kukunin langmga order na ipinadala mula sa Canada ( CA ).
Karaniwan, gagamit ka ng mga wildcard na character para sa gawaing ito. Ngunit pagdating sa FILTER formula, ito ay FIND at SEARCH function na gumagana sa ganitong paraan.
Tip. Kung mas gugustuhin mong iwasan ang paglalagay ng iba pang mga function kapag nag-filter sa pamamagitan ng mga simpleng paglitaw ng salita, huwag mag-atubiling subukan ang add-on na inilarawan sa dulo.
Tandaan. Kung mahalaga ang text case, gamitin ang FIND, kung hindi, piliin ang SEARCH.
Ang SEARCH function ay magiging maayos para sa aking halimbawa dahil ang text case ay hindi nauugnay:
=SEARCH(search_for, text_to_search, [starting_at])- search_for ay ang text Gusto kong hanapin. Talagang mahalaga na balutin ito ng double-quotes: "ca" . Kinakailangan.
- text_to_search ay ang hanay upang i-scan para sa kinakailangang teksto. Kailangan. Ito ay A1:A20 para sa akin.
- starting_at ay nagsasaad ng panimulang posisyon para sa paghahanap — ang numero ng character na magsisimulang maghanap. Ito ay ganap na opsyonal ngunit kailangan kong gamitin ito. Tingnan mo, lahat ng order ID ay binubuo ng mga titik at numero, ibig sabihin, maaaring mangyari ang isang pares ng CA sa isang lugar sa pagitan. Ang magkatulad na pattern ng lahat ng ID ay nagbibigay-daan sa akin na maghanap ng CA simula sa ika-8 character.
Pagkatapos kolektahin ang lahat ng bahaging ito nang magkasama, nakukuha ko ang gustong resulta:
=FILTER(A1:E20,SEARCH("ca",A1:A20,8))
Paano mag-filter ayon sa petsa at oras sa Google Sheets
Ang pag-filter ayon sa petsa at oras ay nangangailangan din ng paggamitkaragdagang mga function. Depende sa iyong pamantayan, maaaring kailanganin mong i-embed ang DAY, MONTH, YEAR, o kahit na DATE at TIME sa pangunahing function ng Google Sheets FILTER.
Tip. Kung hindi ka pamilyar sa mga ito o palaging nagugulo ang mga bagay sa mga petsa — huwag mag-alala. Ang tool na inilarawan sa dulo ay hindi nangangailangan ng anumang mga function.
Halimbawa 1. Ang petsa ay
Upang makuha ang mga order na dapat bayaran sa 9 Enero 2020, iimbitahan ko ang DATE function:
=FILTER(A1:E20,C1:C20=DATE(2020,1,9))
Tandaan. Gumagana lang ito kung ang iyong mga cell ay walang mga unit ng oras kasama ang petsa (maaaring idagdag mo ang mga ito bilang default). Para makasigurado, pumili lang ng cell at tingnan kung ano ang lalabas sa formula bar:
Kung may oras na at hindi opsyon ang pag-alis nito, dapat mong gamitin ang alinman sa QUERY o isang mas kumplikadong kundisyon sa iyong Google Sheets FILTER function, tulad nito:
=FILTER(A1:E20,C1:C20>=DATE(2020,1,9),C1:C20
Tip. Pinag-uusapan ko ang tungkol sa maraming kundisyon nang mas detalyado sa ibaba.
Halimbawa 2. Ang petsa ay naglalaman ng
Kung interesado ka sa isang partikular na buwan o isang taon lamang, maaari kang makayanan ang mga function ng MONTH at YEAR. Ilagay ang hanay na may mga petsa dito mismo ( C1:C20 ) at tukuyin ang bilang ng buwan (o taon) na dapat itong katumbas ng ( =1 ):
=FILTER(A1:E20,MONTH(C1:C20)=1)
Halimbawa 3. Ang petsa ay bago/pagkatapos
Upang makuha ang data na nahuhulog bago o pagkatapos ng tinukoy na petsa, kakailanganin mo ang DATE function at tulad paghahambing operator bilang mas malakikaysa sa (>), mas malaki sa o katumbas ng (>=), mas mababa sa (<), mas mababa sa o katumbas ng (<=).
Narito ang mga order na natanggap noong at pagkatapos ng 1 Enero 2020:
=FILTER(A1:E20,D1:D20>=DATE(2020,1,1))
Siyempre, madali mong palitan ang DATE ng MONTH o YEAR dito. Ang resulta ay hindi mag-iiba mula sa isa sa itaas:
=FILTER(A1:E20,YEAR(D1:D20)>=2020)
Halimbawa 4. Oras
Kapag nagfi-filter sa Google Sheets ayon sa oras, ang drill ay eksaktong kapareho ng sa petsa. Ginagamit mo ang karagdagang function na TIME.
Halimbawa, para makakuha lang ng mga araw na may timestamp pagkalipas ng 2:00 PM, ang formula ay magiging:
=FILTER(A1:B10,A1:A10>TIME(14,0,0))
Gayunpaman, pagdating sa paggamit ng HOUR function (tulad ng MONTH para sa mga petsa), medyo nagbabago ang laro. Masyadong nakakalito ang oras sa mga spreadsheet, kaya kailangan ng ilang pagsasaayos.
Upang ibalik ang lahat ng row na may mga timestamp sa pagitan ng 2:00 PM at 12:00 PM , gawin ito:
- Ilakip ang hanay ng mga timestamp ( A1:A10 ) sa isang hiwalay na function na HOUR. Ito ay magsasaad kung saan titingin.
- Pagkatapos ay magdagdag ng isa pang HOUR function upang itakda ang oras mismo.
=FILTER(A1:B10,HOUR(A1:A10)>=HOUR("2:00:00 PM"))
Tip . Tingnan na ang resulta ay hindi kasama ang 12:41 PM ? Iyon ay dahil tinatrato ito ng spreadsheet bilang 00:41 na mas mababa sa 2:00 .
Kung makakita ka ng mas eleganteng solusyon, mangyaring ibahagi ito sa seksyon ng mga komento sa ibaba.
Paano mag-filter sa Google Sheets gamit ang mga cell reference
Sa tuwing gagawa ka ng filter ng Google Sheetsformula, kailangan mong ilagay ang kundisyon gaya ng: salita man o bahagi nito, petsa, atbp. Maliban na lang kung pamilyar ka sa mga cell reference.
Pinapadali nila ang maraming bagay tungkol sa mga formula. Dahil sa halip na i-type ang lahat, maaari kang mag-refer na lang sa mga cell na may mga kundisyon.
Tandaan kung paano ko hinanap ang lahat ng mga order na huli? Mabilis akong makakapag-refer sa E4 na may text na Late upang gawin ang parehong:
=FILTER(A1:E20,E1:E20=E4)
Hindi mag-iiba ang resulta:
Maaari mong ulitin ito sa lahat ng mga nabanggit na formula. Halimbawa, iwasang magdagdag ng higit pang mga function tulad ng DATE at sumangguni lang sa cell na may petsa ng interes:
=FILTER(A1:E20,C1:C20=C15)
Tip. Hinahayaan ka rin ng mga cell reference na mag-filter mula sa isa pang sheet. Kailangan mo lang dalhin ang pangalan ng sheet:
=FILTER(Orders!A1:E20,Orders!C1:C20=Orders!C15)
Mga formula ng Google Sheets FILTER na may maraming pamantayan
Bagama't ginagamit ko ang isang kundisyon sa lahat ng formula ng filter ng Google Sheets dati, mas malamang na kakailanganin mong i-filter ang isang talahanayan sa pamamagitan ng ilang mga kundisyon sa isang pagkakataon.
Halimbawa 1. AY SA PAGITAN ng lohika
Upang mahanap ang lahat ng mga row na nasa pagitan ng dalawang numero/petsa/oras, ang opsyonal magagamit ang mga argumento ng function — condition2 , condition3 , atbp. Doblehin mo lang ang parehong hanay sa bawat pagkakataon ngunit may bagong kundisyon.
Tingnan, ako Ibabalik ko lang ang mga order na nagkakahalaga sa akin ng higit sa $250 ngunit mas mababa sa $350:
=FILTER(A1:E20,B1:B20>=250,B1:B20<350)
Halimbawa 2. O lohika saGoogle Sheets FILTER function
Nakakalungkot, para makuha ang lahat ng row na naglalaman ng iba't ibang record sa isang column ng interes, hindi magagawa ng nakaraang paraan. Kaya paano ko masusuri ang lahat ng order na parehong papunta at huli?
Kung susubukan ko ang nakaraang paraan at ilagay ang bawat status ng order sa isang hiwalay na kundisyon, makukuha ko ang #N/A error:
Kaya, upang maitakda nang tama ang OR logic sa FILTER function, dapat kong isama ang dalawang pamantayang ito sa loob ng isang kundisyon:
=FILTER(A1:E20,(E1:E20="Late")+(E1:E20="On the way"))
Magdagdag ng filter sa Google Sheets sa maraming column
Ang mas malamang kaysa sa paglalapat ng ilang kundisyon sa isang column ay ang paggawa ng filter sa Google Sheets para sa maraming column.
Pare-pareho ang mga argumento. Ngunit ang bawat bagong bahagi ng formula ay nangangailangan ng bagong hanay na may sarili nitong pamantayan.
Subukan natin at gawin ang FILTER function sa Google Sheets ng mga return order na nasa ilalim ng lahat ng sumusunod na panuntunan:
- Dapat ang mga ito ay nagkakahalaga ng $200-400:
A1:E20,B1:B20>=200,B1:B20<=400
- Ibabayaran sa Enero 2020:
MONTH(C1:C20)=1
- At papunta pa rin sila:
E1:E20="on the way"
Pagsama-samahin ang lahat ng bahaging ito at handa na ang iyong formula ng filter ng Google Sheets para sa maraming column:
=FILTER(A1:E20,B1:B20>=200,B1:B20<=400,MONTH(C1:C20)=1,E1:E20="on the way")
Formula-free na paraan para sa advanced na filter ng Google Sheets
Ang FILTER function ay mahusay at lahat, ngunit kung minsan maaari itong maging sobra. Ang pagsubaybay sa lahat ng argumento, delimiter, nested function at kung ano pa ay maaaring maging lubhang nakalilito at oras-nakakaubos.
Sa kabutihang palad, mayroon kaming isang mas mahusay na solusyon na lumalampas sa parehong Google Sheets FILTER function at sa kanilang karaniwang tool — Maramihang VLOOKUP Match.
Huwag maguluhan sa pangalan nito. Ito ay kahawig ng Google Sheets VLOOKUP function dahil naghahanap ito ng mga tugma. Tulad ng ginagawa ng FILTER function. Gaya ng ginawa ko sa itaas.
Narito ang 5 pangunahing bentahe ng tool sa Google Sheets FILTER function:
- Nanalo ka Hindi na kailangang mag-isip tungkol sa mga operator para sa iba't ibang kundisyon — piliin lang ang isa mula sa listahan:
Talagang hinihikayat kitang mag-install ng Multiple Ang VLOOKUP ay tumutugma at subukan ito. Upang tingnan ang mga opsyon nito nang mas malapit, bisitahin ang pahina ng tutorial nito o manood ng espesyal na video sa pagtuturo: