Fungsi FILTER Excel - nyaring dinamis sareng rumus

  • Bagikeun Ieu
Michael Brown

Dina palajaran gancang ieu, anjeun bakal diajar kumaha nyaring dina Excel sacara dinamis nganggo rumus. Conto pikeun nyaring duplikat, sél anu ngandung téks anu tangtu, kalayan sababaraha kriteria, sareng seueur deui.

Kumaha anjeun biasana nyaring dina Excel? Kanggo sabagéan ageung, nganggo Filter Otomatis, sareng dina skenario anu langkung kompleks sareng Filter Lanjut. Janten gancang sareng kuat, metode ieu ngagaduhan hiji kalemahan anu signifikan - aranjeunna henteu ngapdet sacara otomatis nalika data anjeun robih, hartosna anjeun kedah ngabersihan sareng nyaring deui. Bubuka fungsi FILTER dina Excel 365 janten alternatif anu ditunggu-tunggu pikeun fitur konvensional. Teu kawas éta, rumus Excel ngitung deui sacara otomatis unggal robah lembar kerja, jadi anjeun kudu nyetél saringan anjeun sakali!

    Fungsi Excel FILTER

    Pungsi FILTER di Excel dipaké pikeun nyaring sauntuyan data dumasar kana kritéria nu anjeun tangtukeun.

    Pungsi éta kaasup kana kategori fungsi Dynamic Arrays. Hasilna mangrupa susunan nilai nu otomatis tumpah kana sauntuyan sél, mimitian ti sél dimana anjeun ngasupkeun rumus.

    Sintaksis fungsi FILTER nyaéta kieu:

    FILTER(array, kaasup , [if_empty])

    Dimana:

    • Asép Sunandar Sunarya (diperlukeun) - rentang atawa susunan nilai nu rék disaring.
    • Kaasupkeun (diperlukeun) - kritéria anu disayogikeun salaku array Boolean (nilai BENER sareng SALAH).

      Nyamalah ratusan kolom, anjeun pasti hoyong ngawatesan hasil kana sababaraha anu paling penting.

      Conto 1. Nyaring sababaraha kolom anu padeukeut

      Dina kaayaan nalika anjeun hoyong sababaraha kolom tatangga muncul dina hasil FILTER, ngan ukur kalebet kolom éta dina array sabab argumen ieu anu nangtukeun kolom mana anu badé dipulangkeun.

      Dina conto rumus FILTER dasar, upami anjeun hoyong mulangkeun 2 kolom anu munggaran. ( Ngaran jeung Grup ). Janten, anjeun nyayogikeun A2:B13 pikeun argumen array :

      =FILTER(A2:B13, B2:B13=F1, "No results")

      Hasilna, urang nampi daptar pamilon grup target anu didefinisikeun dina F1:

      Conto 2. Nyaring kolom nu teu padeukeut

      Pikeun ngabalukarkeun fungsi FILTER mulangkeun kolom nu teu padeukeut, gunakeun trik pinter ieu:

      1. Jieun rumus FILTER kalawan kaayaan nu dipikahoyong ngagunakeun sakabéh tabel pikeun array .
      2. Sarang rumus di luhur di jero fungsi FILTER sejen. Pikeun ngonpigurasikeun fungsi "wrapper", anggo konstanta array tina nilai BENER sareng PALSU atanapi 1 sareng 0 pikeun argumen kalebet , dimana BENER (1) nandaan kolom anu bakal disimpen sareng PALSU (0) nandaan kolom anu kedah dikaluarkeun.

      Misalna, ngan ukur mulangkeun Ngaran (kolom ka-1) sareng Meunang (kolom katilu), kami nganggo {1, 0,1} atawa {TRUE,FALSE,TRUE} pikeun include argumen fungsi FILTER luar:

      =FILTER(FILTER(A2:C13, B2:B13=F1), {1,0,1})

      Atawa

      =FILTER(FILTER(A2:C13, B2:B13=F1), {TRUE,FALSE,TRUE})

      Kumaha ngawatesananJumlah baris anu dipulangkeun ku fungsi FILTER

      Upami rumus FILTER anjeun mendakan hasil anu lumayan, tapi lembar kerja anjeun gaduh rohangan terbatas sareng anjeun henteu tiasa ngahapus data di handap, anjeun tiasa ngawates jumlah baris anu dipulangkeun ku fungsi FILTER. .

      Hayu urang tingali kumaha gawéna dina conto rumus basajan nu narik pamaén ti grup sasaran dina F1:

      =FILTER(A2:C13, B2:B13=F1)

      Rumus di luhur outputs sakabéh rékaman nu eta manggih, 4 jajar bisi urang. Tapi anggap anjeun ngan gaduh rohangan pikeun dua. Pikeun kaluaran ngan 2 baris kahiji nu kapanggih, ieu nu kudu dipigawé:

      • Colokkeun rumus FILTER kana array argumen fungsi INDEX.
      • Pikeun row_num argumen INDEX, paké konstanta array vertikal kawas {1;2}. Ieu nangtukeun sabaraha baris balik deui (2 bisi urang).
      • Pikeun argumen column_num , paké konstanta array horizontal kawas {1,2,3}. Ieu nangtukeun kolom mana nu bakal dipulangkeun (3 kolom kahiji dina conto ieu).
      • Pikeun ngurus kasalahan nu mungkin lamun teu kapanggih data nu cocog kriteria Anjeun, Anjeun bisa mungkus rumus Anjeun dina fungsi IFERROR.

    Rumus lengkepna kieu:

    =IFERROR(INDEX(FILTER(A2:C13, B2:B13=F1), {1;2}, {1,2,3}), "No result")

    Lamun gawe jeung tabel badag, nulis konstanta array sacara manual bisa jadi rada nyusahkeun. Teu aya masalah, pungsi SEQUENCE tiasa ngahasilkeun nomer urut pikeun anjeun sacara otomatis:

    =IFERROR(INDEX(FILTER(A2:C13, B2:B13=F1), SEQUENCE(2), SEQUENCE(1, COLUMNS(A2:C13))), "No result")

    SEQUENCE munggaran ngahasilkeun array vertikalngandung saloba angka sequential sakumaha dieusian dina kahiji (jeung ukur) argumen. SEQUENCE kadua ngagunakeun pungsi COLUMNS pikeun ngitung jumlah kolom dina set data sarta ngahasilkeun array horizontal sarimbag.

    Tip. Pikeun mulangkeun data tina kolom husus , teu sakabeh kolom, dina konstanta Asép Sunandar Sunarya horizontal nu Anjeun pake pikeun argumen column_num INDEX, ngan kaasup angka husus. Contona, pikeun nimba data tina kolom ka-1 jeung ka-3, paké {1,3}.

    Pungsi Excel FILTER teu jalan

    Dina kaayaan nalika rumus Excel FILTER anjeun nyababkeun kasalahan, paling dipikaresep éta salah sahiji ieu:

    #CALC! kasalahan

    Kajadian upami argumen if_empty opsional dileungitkeun, sareng teu aya hasil anu nyumponan kriteria anu kapendak. Alesanna nyaéta ayeuna Excel henteu ngadukung array kosong. Pikeun nyegah kasalahan sapertos kitu, pastikeun anjeun salawasna nangtukeun nilai if_empty dina rumus anjeun.

    #VALUE kasalahan

    Kajadian nalika array jeung kaasup argumen boga diménsi nu teu cocog.

    #N/A, #VALUE, jsb.

    Kasalahan béda bisa lumangsung lamun sababaraha nilai dina kaasup argumen mangrupa kasalahan atawa teu bisa dirobah jadi nilai Boolean.

    Kasalahan #NAME

    Kajadian nalika nyobian nganggo FILTER dina vérsi Excel anu lami. Punten émut yén éta mangrupikeun pungsi énggal, anu ngan sayogi di Office 365 sareng Excel 2021.

    DinaExcel anyar, kasalahan #NAME lumangsung lamun anjeun teu kahaja salah ngeja ngaran fungsi.

    #SPILL error

    Paling sering, kasalahan ieu lumangsung lamun hiji atawa leuwih sél dina rentang spill teu sagemblengna kosong. . Pikeun ngalereskeunana, ngan hapus atanapi hapus sél anu henteu kosong. Pikeun nalungtik sareng ngabéréskeun kasus anu sanés, mangga tingali #SPILL! kasalahan dina Excel: naon hartina jeung kumaha carana ngalereskeun.

    #REF! kasalahan

    Kajadian nalika rumus FILTER dianggo antara buku kerja anu béda-béda, sareng buku kerja sumber ditutup.

    Kukituna cara filer data dina Excel sacara dinamis. Hatur nuhun pikeun maca sareng ngarepkeun anjeun tiasa ningali dina blog urang minggu payun!

    Unduh buku latihan latihan

    Saring dina Excel nganggo rumus (file .xlsx)

    jangkungna (lamun data dina kolom) atawa rubak (lamun data dina baris) kudu sarua jeung argumen array .
  • If_empty (opsional) - nilai nu bakal dipulangkeun lamun euweuh entri nu minuhan kriteria.
  • Pungsi FILTER ngan sadia dina Excel pikeun Microsoft. 365 sareng Excel 2021. Dina Excel 2019, Excel 2016 sareng versi sateuacana, éta henteu dirojong.

    Rumus FILTER Excel Dasar

    Pikeun ngamimitian, hayu urang bahas sababaraha kasus anu saderhana pisan kanggo kéngingkeun leuwih paham kumaha rumus Excel pikeun nyaring data jalan.

    Ti kumpulan data di handap, upamana rék nimba rékaman nu mibanda nilai husus dina Grup , kolom, sebutkeun grup C. Jang ngalampahkeunana, urang nyadiakeun éksprési B2:B13="C" kana argumen include , nu bakal ngahasilkeun array Boolean nu diperlukeun, kalawan BENER pakait jeung nilai "C".

    =FILTER(A2:C13, B2:B13="C", "No results")

    Dina prakna, leuwih merenah ngasupkeun kritéria dina sél anu misah, misalna. F1, sarta ngagunakeun rujukan sél tinimbang hardcoding nilai langsung dina rumus:

    =FILTER(A2:C13, B2:B13=F1, "No results")

    Teu kawas fitur Filter Excel, fungsi teu nyieun parobahan naon wae kana data aslina. Ékstrak rékaman anu disaring kana anu disebut rentang spill (E4:G7 dina screenshot handap), dimimitian dina sél dimana rumus diasupkeun:

    Lamun euweuh rékaman cocog kriteria dieusian, rumus mulih nilai anjeun nempatkeun dina if_empty argumen, "Teu aya hasil" dina conto ieu:

    Upami anjeun langkung milih teu ngabalikeun nanaon dina hal ieu, teras nyadiakeun string kosong ("") pikeun argumen panungtungan:

    =FILTER(A2:C13, B2:B13=F1, "")

    Upami data anjeun diatur horizontal ti kénca ka katuhu kawas ditémbongkeun dina screenshot handap, fungsi FILTER bakal dianggo ogé. Ngan pastikeun Anjeun nangtukeun rentang luyu pikeun array jeung include argumen, ku kituna Asép Sunandar Sunarya sumber jeung Boolean array boga lebar sarua:

    =FILTER(B2:M4, B3:M3= B7, "No results")

    Fungsi Excel FILTER - catetan pamakean

    Pikeun nyaring sacara efektif dina Excel nganggo rumus, ieu sababaraha poin penting anu kedah diperhatoskeun:

    • Pungsi FILTER otomatis spills hasilna vertikal atawa horisontal dina LKS, gumantung kana kumaha data aslina anjeun diatur. Janten, pastikeun anjeun salawasna gaduh sél kosong anu cukup ka handap sareng ka katuhu, upami henteu anjeun bakal nampi kasalahan #SILL.
    • Hasil fungsi FILTER Excel dinamis, hartosna otomatis ngamutahirkeun nalika niléy asup. parobahan susunan data aslina. Tapi, rentang anu disayogikeun pikeun argumen array henteu diropéa nalika éntri anyar ditambahkeun kana data sumber. Upami anjeun hoyong array ngarobah ukuran sacara otomatis, teras robihkeun kana tabel Excel sareng ngawangun rumus sareng référénsi terstruktur, atanapi jieun rentang namina dinamis.

    Kumaha nyaring dina Excel -conto rumus

    Ayeuna anjeun terang kumaha rumus saringan Excel dasar tiasa dianggo, waktosna pikeun nyandak sababaraha wawasan ngeunaan kumaha éta tiasa diperpanjang pikeun ngarengsekeun tugas anu langkung kompleks.

    Saring nganggo sababaraha kriteria (AND logika)

    Pikeun nyaring data kalawan sababaraha kriteria, anjeun nyadiakeun dua atawa leuwih éksprési logis pikeun argumen kaasup :

    FILTER(array, ( rentang1= kriteria1) * ( rentang2= kriteria2), "Teu aya hasil")

    Operasi multiplikasi ngolah arrays nganggo AND logika , mastikeun yén ngan rékaman anu minuhan sadaya kriteria anu dipulangkeun. Téhnisna, jalanna kieu:

    Hasil unggal éksprési logis mangrupa Asép Sunandar Sunarya ti nilai Boolean, dimana BENER equates ka 1 jeung PALSU ka 0. Lajeng, elemen sadaya arrays dina posisi anu sarua dikalikeun. . Kusabab dikalikeun ku enol salawasna masihan nol, ngan item anu sadayana kriteriana BENER asup kana array anu dihasilkeun, sareng akibatna ngan ukur item-item anu diekstrak.

    Conto di handap nunjukkeun rumus umum ieu dina tindakan.

    Conto 1. Nyaring sababaraha kolom dina Excel

    Ngalegaan rumus dasar FILTER Excel sakedik deui, hayu urang nyaring data ku dua kolom: Grup (kolom B) sareng Meunang (kolom C).

    Kanggo ieu, urang nyetel kritéria di handap ieu: ketik ngaran grup sasaran dina F2 ( kriteria1 ) jeung jumlah minimum nu diperlukeunmeunang dina F3 ( kriteria2 ).

    Kusabab data sumber urang aya dina A2:C13 ( array ), grup aya dina B2:B13 ( rentang1 ) sareng kameunangan aya dina C2:C13 ( rentang2 ), rumusna sapertos kieu:

    =FILTER(A2:C13, (B2:B13=F2) * (C2:C13>=F3), "No results")

    Hasilna, anjeun nampi daptar pamaén di grup A anu geus ngamankeun 2 atawa leuwih kameunangan:

    Conto 2. Nyaring data antara tanggal

    Kahiji, kudu dicatet yén éta teu mungkin. pikeun nyieun rumus generik pikeun nyaring dumasar titimangsa di Excel. Dina kaayaan anu béda, anjeun kedah ngawangun kriteria anu béda-béda, gumantung kana naha anjeun badé nyaring ku tanggal anu khusus, ku bulan, atanapi dumasar taun. Tujuan tina conto ieu nyaéta pikeun nunjukkeun pendekatan umum.

    Ka data sampel urang, urang tambahkeun hiji kolom deui anu ngandung tanggal kameunangan terakhir (kolom D). Ayeuna, urang bakal nimba kameunangan anu lumangsung dina periode nu tangtu, sebutkeun antara 17 Méi jeung 31 Méi.

    Punten perhatikeun yén dina hal ieu, duanana kritéria dilarapkeun ka rentang anu sami:

    =FILTER(A2:D13, (D2:D13>=G2) * (D2:D13<=G3), "No results")

    Dimana G2 jeung G3 mangrupa tanggal pikeun nyaring antara.

    Saring jeung sababaraha kriteria (ATAU logika)

    Pikeun nimba data dumasar kana sababaraha kaayaan OR, Anjeun oge make ungkapan logis kawas ditémbongkeun dina conto saméméhna, tapi tinimbang ngalikeun, Anjeun nambahkeun aranjeunna nepi. Nalika arrays Boolean anu dipulangkeun ku éksprési dijumlahkeun, array anu dihasilkeun bakal gaduh 0 pikeun éntri anu henteu minuhan kriteria naon waé (nyaéta sadayakritéria nyaéta PALSU), sareng éntri sapertos kitu bakal disaring. Éntri nu sahanteuna hiji kriteria BENER bakal diekstrak.

    Kieu rumus umum pikeun nyaring kolom nganggo logika OR:

    FILTER(array, ( rentang1= kriteria1) + ( rentang2= kriteria2), "Henteu aya hasil")

    Salaku conto, hayu urang nimba daptar pamaén anu ngagaduhan ieu atanapi éta jumlah kameunangan.

    Anggap data sumberna aya dina A2:C13, kameunangan aya dina C2:C13, jeung angka win nu dipikaresepna aya dina F2 jeung F3, rumusna bakal kieu:

    =FILTER(A2:C13, (C2:C13=F2) + (C2:C13=F3), "No results")

    Hasilna, anjeun terang mana pamaén anu meunang sakabéh kaulinan (4) jeung mana anu teu meunang (0):

    Saring dumasar kana sababaraha AND ogé kriteria OR

    Dina kaayaan nalika anjeun kedah nerapkeun duanana jinis kriteria, émut aturan basajan ieu: gabungkeun kriteria AND sareng tanda bintang (*) sareng kriteria OR sareng tambah. tanda (+).

    Contona, pikeun ngabalikeun daptar pamaén anu ngagaduhan jumlah kameunangan (F2) sareng kagolong kana grup anu disebatkeun dina E2 OR E3, ngawangun ranté logis di handap ieu. éksprési:

    =FILTER(A2:C13, (C2:C13=F2) * ((B2:B13=E2) + (B2:B13=E3)), "No results")

    Sareng anjeun bakal nampi hasil ieu:

    Kumaha nyaring duplikat dina Excel

    Nalika damel sareng lembar kerja anu ageung atanapi ngagabungkeun data tina sumber anu béda, sering aya kamungkinan sababaraha duplikat bakal nyolong.

    Upami anjeun milarian nyaring kaluar duplikat sareng sariitem unik, teras paké pungsi UNIK sakumaha dipedar dina tutorial numbu di luhur.

    Upami tujuan anjeun nyaring duplikat , nyaéta ékstrak éntri anu lumangsung leuwih ti sakali, teras paké pungsi FILTER bareng jeung COUNTIFS.

    Idena nyaéta pikeun meunangkeun jumlah kajadian pikeun sakabéh rékaman jeung nimba nu leuwih gede ti 1. Pikeun meunangkeun cacah, Anjeun nyadiakeun rentang anu sarua pikeun tiap criteria_range / kriteria pasangan COUNTIFS sapertos kieu:

    FILTER( array, COUNTIFS( column1, column1, column2, column2)>1, "Teu aya hasil")

    Contona, pikeun nyaring duplikat baris tina data dina A2:C20 dumasar kana nilai dina 3 kolom, ieu rumus anu dianggo:

    =FILTER(A2:C20, COUNTIFS(A2:A20, A2:A20, B2:B20, B2:B20, C2:C20, C2:C20)>1, "No results")

    Tip. Pikeun nyaring duplikat dumasar kana nilai dina kolom konci , ngan ukur kalebet kolom khusus dina fungsi COUNTIFS.

    Kumaha nyaring kosong dina Excel

    Rumus pikeun nyaring sél kosong, kanyataanna, variasi rumus Excel FILTER sareng sababaraha kriteria AND. Dina hal ieu, urang pariksa naha sadayana (atawa sabagean) kolom gaduh data di jerona sareng ngaluarkeun barisan dimana sahenteuna hiji sél kosong. Pikeun ngaidentipikasi sél anu henteu kosong, anjeun nganggo operator "teu sami sareng" () sareng string kosong ("") sapertos kieu:

    FILTER(array, ( column1 "") * ( column2 =""), "Teu aya hasil")

    Kalayan data sumber dina A2:C12, pikeun nyaring barisngandung hiji atawa leuwih sél kosong, rumus ieu diasupkeun dina E3:

    Saring sél nu ngandung téks husus

    Pikeun nimba sél nu ngandung téks tangtu, Anjeun tiasa nganggo fungsi FILTER babarengan sareng klasik Upami sél ngandung rumus:

    FILTER(array, ISNUMBER(SEARCH(" text ", rentang )), "Euweuh hasil")

    Kieu cara gawéna:

    • Pungsi SEARCH néangan string téks nu tangtu dina rentang nu tangtu sarta mulangkeun hiji angka (posisi karakter kahiji) atawa #VALUE! kasalahan (téks teu kapanggih).
    • Pungsi ISNUMBER ngarobah sakabéh angka jadi BENER jeung kasalahan jadi PALSU jeung ngalirkeun array Boolean nu dihasilkeun kana argumen kaasup fungsi FILTER.

    Pikeun conto ieu, urang geus ditambahkeun Ngaran tukang pamaén dina B2:B13, ngetik bagian tina ngaran nu urang hayang manggihan di G2, terus make rumus di handap pikeun nyaring data:

    =FILTER(A2:D13, ISNUMBER(SEARCH(G2, B2:B13)), "No results")

    Hasilna, rumus retrieves dua ngaran kulawarga ngandung "han":

    Saring jeung ngitung (Jumlah, Rata-rata, Min, Maks, jsb.)

    Hal anu keren ngeunaan fungsi FILTER Excel nyaéta yén éta henteu ngan ukur tiasa nimba nilai sareng kaayaan, tapi ogé nyimpulkeun data anu disaring. Pikeun ieu, gabungkeun FILTER sareng fungsi agrégasi sapertos SUM, AVERAGE, COUNT, MAX atanapi MIN.

    Misalna, pikeun ngumpulkeun data pikeun grup khusus dina F1, paké ieu di handap.rumus:

    Total kameunangan:

    =SUM(FILTER(C2:C13, B2:B13=F1, 0))

    Rata-rata kameunangan:

    =AVERAGE(FILTER(C2:C13, B2:B13=F1, 0))

    Kameunangan maksimum:

    =MAX(FILTER(C2:C13, B2:B13=F1, 0))

    Kamenangan minimum:

    =MIN(FILTER(C2:C13, B2:B13=F1, 0))

    Punten perhatikeun yén, dina sadaya rumus, kami nganggo nol pikeun argumen if_empty , janten rumus bakal balik 0 lamun euweuh nilai minuhan kriteria nu kapanggih. Nyayogikeun téks naon waé sapertos "Teu aya hasil" bakal nyababkeun kasalahan #VALUE, anu écés mangrupikeun hal anu terakhir anu anjeun pikahoyong :)

    Rumus FILTER sénsitip hurup

    Rumus Excel FILTER standar teu merhatikeun hurup leutik, hartina teu ngabedakeun antara aksara leutik jeung aksara gede. Pikeun ngabédakeun kasus téks, sarang fungsi EXACT dina argumen include . Ieu bakal maksa FILTER pikeun ngalakukeun tes logis ku cara sénsitip leutik:

    FILTER(array, EXACT( rentang , kriteria ), "Teu aya hasil")

    Misalna , anjeun gaduh dua grup A sareng a sareng hoyong nimba rékaman dimana grup éta hurup leutik "a". Jang ngalampahkeunana, paké rumus di handap ieu, dimana A2:C13 nyaéta sumber data sareng B2:B13 mangrupikeun grup pikeun disaring:

    =FILTER(A2:C13, EXACT(B2:B13, "a"), "No results")

    Sapertos biasa, anjeun tiasa ngalebetkeun grup target dina sél nu geus ditangtukeun, sebutkeun F1, sarta maké éta rujukan sél tinimbang téks hardcoded:

    =FILTER(A2:C13, EXACT(B2:B13, F1), "No results")

    Kumaha carana nyaring data sarta mulangkeun ukur kolom husus

    Sabagéan ageung, nyaring sadaya kolom nganggo rumus tunggal mangrupikeun anu dipikahoyong ku pangguna Excel. Tapi lamun tabel sumber Anjeun ngandung puluhan atawa

    Michael Brown mangrupakeun enthusiast téhnologi dedicated kalawan gairah pikeun nyederhanakeun prosés kompléks ngagunakeun parabot software. Kalayan langkung ti dasawarsa pangalaman dina industri téknologi, anjeunna parantos ngasah kaahlianna dina Microsoft Excel sareng Outlook, ogé Google Sheets sareng Docs. Blog Michael dikhususkeun pikeun ngabagi pangaweruh sareng kaahlianna ka batur, nyayogikeun tip sareng tutorial anu gampang pikeun ningkatkeun produktivitas sareng efisiensi. Naha anjeun profésional berpengalaman atanapi pamula, blog Michael nawiskeun wawasan anu berharga sareng naséhat praktis pikeun ngamangpaatkeun alat parangkat lunak penting ieu.