Excel FILTER-funkcio - dinamika filtrado kun formuloj

  • Kundividu Ĉi Tion
Michael Brown

En ĉi tiu rapida leciono, vi lernos kiel filtri en Excel dinamike per formuloj. Ekzemploj por filtri duplikatojn, ĉelojn enhavantajn certan tekston, kun pluraj kriterioj, kaj pli.

Kiel oni kutime filtras en Excel? Plejparte, uzante Aŭtomatan Filtrilon, kaj en pli kompleksaj scenaroj kun Altnivela Filtrilo. Estante rapidaj kaj potencaj, ĉi tiuj metodoj havas unu gravan malavantaĝon - ili ne aŭtomate ĝisdatigas kiam viaj datumoj ŝanĝiĝas, tio signifas, ke vi devus purigi kaj filtri denove. La enkonduko de la FILTRO-funkcio en Excel 365 fariĝas longe atendita alternativo al la konvenciaj funkcioj. Male al ili, Excel-formuloj rekalkulas aŭtomate kun ĉiu laborfolioŝanĝo, do vi devos agordi vian filtrilon nur unufoje!

    Excel FILTER-funkcio

    La FILTRO-funkcio en Excel estas uzata por filtri gamon da datumoj surbaze de la kriterioj kiujn vi specifas.

    La funkcio apartenas al la kategorio de funkcioj Dinamikaj Tabeloj. La rezulto estas tabelo da valoroj, kiuj aŭtomate disvastiĝas en gamon da ĉeloj, komencante de la ĉelo, kie vi enigas formulon.

    La sintakso de la funkcio FILTRO estas jena:

    FILTRO(tabelo, inkluzivu , [se_malplena])

    Kie:

    • Tabelo (postulata) - la gamo aŭ tabelo de valoroj kiujn vi volas filtri.
    • Inkluzivi (postulata) - la kriteriojn provizitajn kiel Bulea tabelo (VERA kaj FALSA valoroj).

      Ĝiaeĉ centojn da kolumnoj, vi certe volas limigi la rezultojn al kelkaj plej gravaj.

      Ekzemplo 1. Filtri iujn apudajn kolumnojn

      En situacio, kiam vi volas, ke kelkaj najbaraj kolumnoj aperu ene. rezulto de FILTRO, inkludu nur tiujn kolumnojn en tabelo ĉar estas ĉi tiu argumento kiu determinas kiujn kolumnojn redoni.

      En la baza FILTER-formulekzemplo, supozante, ke vi volas redoni la unuajn 2 kolumnojn. ( Nomo kaj Grupo ). Do, vi provizas A2:B13 por la argumento tabelo :

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

      Kiel rezulto, ni ricevas liston de partoprenantoj de la celgrupo difinita en F1:

      Ekzemplo 2. Filtri ne apudajn kolumnojn

      Por ke la FILTRO-funkcio redonu ne apudajn kolumnojn, uzu ĉi tiun lertan lertaĵon:

      1. Faru FILTRIN-formulon kun la dezirata(j)n kondiĉon(j) uzante la tutan tabelon por tabelo .
      2. Nestigu la ĉi-supran formulon ene de alia FILTRIA funkcio. Por agordi la funkcion "envolvaĵo", uzu tabelkonstanton de VERA kaj FALSA valoroj aŭ 1'oj kaj 0'oj por la argumento inkluzivi , kie VERA (1) markas la kolumnojn por esti konservitaj kaj FALSA (0) markas la kolumnoj por esti ekskluditaj.

      Ekzemple, por redoni nur Nomojn (1a kolumno) kaj Venkoj (3a kolumno), ni uzas {1, 0,1} aŭ {TRUE,FALSE,TRUE} por la inkluzivi argumenton de la ekstera FILTRIA funkcio:

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

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

      Kiel limigi lanombro da vicoj redonitaj de FILTER-funkcio

      Se via FILTER-formulo trovas sufiĉe multajn rezultojn, sed via laborfolio havas limigitan spacon kaj vi ne povas forigi la datumojn sube, tiam vi povas limigi la nombron da vicoj, kiujn redonas la FILTER-funkcio. .

      Ni vidu kiel ĝi funkcias ĉe ekzemplo de simpla formulo, kiu tiras ludantojn el la celgrupo en F1:

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

      La supra formulo eligas ĉiujn rekordojn kiuj ĝi trovas, 4 vicoj en nia kazo. Sed supozu, ke vi nur havas spacon por du. Por eligi nur la 2 unuajn trovitajn vicojn, jen kion vi devas fari:

      • Enŝovu la FILTRIN-formulon en la argumenton tabelo de la funkcio INDEX.
      • Por la argumento vica_num de INDEX, uzu vertikalan tabelkonstanton kiel {1;2}. Ĝi determinas kiom da vicoj reveni (2 en nia kazo).
      • Por la argumento kolumn_num , uzu horizontalan tabelkonstanton kiel {1,2,3}. Ĝi specifas kiujn kolumnojn redoni (la unuaj 3 kolumnoj en ĉi tiu ekzemplo).
      • Por prizorgi eblajn erarojn kiam neniuj datumoj kongruaj kun viaj kriterioj estas trovitaj, vi povas envolvi vian formulon en la funkcio IFERROR.

    La kompleta formulo prenas ĉi tiun formon:

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

    Kiam laboras kun grandaj tabeloj, skribi tabelkonstantojn mane povas esti sufiĉe ĝena. Neniu problemo, la funkcio SEQUENCE povas generi la sinsekvajn nombrojn por vi aŭtomate:

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

    La unua SEQUENCE generas vertikalan tabelonenhavanta tiom da sinsekvaj nombroj kiel specifitaj en la unua (kaj nur) argumento. La dua SEQUENCE uzas la funkcion COLUMNS por kalkuli la nombron da kolumnoj en la datumaro kaj produktas ekvivalentan horizontalan tabelon.

    Konsilo. Por redoni datumojn de specifaj kolumnoj , ne ĉiuj kolumnoj, en la horizontala tabelkonstanto, kiun vi uzas por la argumento kolumn_num de INDEX, inkluzivas nur tiujn specifajn nombrojn. Ekzemple, por ĉerpi datumojn el la 1-a kaj 3-a kolumnoj, uzu {1,3}.

    La funkcio de Excel FILTRO ne funkcias

    En situacio kiam via formulo de Excel FILTRO rezultigas eraron, plej verŝajne tio estos unu el la sekvaj:

    #CALC! eraro

    Okazas se la nedeviga if_malplena argumento estas preterlasita, kaj neniuj rezultoj konformaj al la kriterioj estas trovitaj. La kialo estas, ke nuntempe Excel ne subtenas malplenajn tabelojn. Por malhelpi tiajn erarojn, nepre ĉiam difini la valoron if_malplena en viaj formuloj.

    #VALUE-eraro

    Okazas kiam la tabelo kaj include argumento havas nekongruajn dimensiojn.

    #N/A, #VALUE, ktp.

    Malsamaj eraroj povas okazi se iu valoro en la argumento include estas eraro aŭ ne povas esti konvertita al Bulea valoro.

    #NAME eraro

    Okazas kiam oni provas uzi FILTRILON en pli malnova versio de Excel. Bonvolu memori, ke ĝi estas nova funkcio, kiu disponeblas nur en Office 365 kaj Excel 2021.

    Ennova Excel, #NAME-eraro okazas se vi hazarde misliterumas la nomon de la funkcio.

    #SPILL-eraro

    Plej ofte, ĉi tiu eraro okazas se unu aŭ pluraj ĉeloj en la disverŝa intervalo ne estas tute malplenaj. . Por ripari ĝin, simple purigu aŭ forigu nemalplenajn ĉelojn. Por esplori kaj solvi aliajn kazojn, bonvolu vidi #SPILL! eraro en Excel: kion ĝi signifas kaj kiel ripari.

    #REF! eraro

    Okazas kiam FILTRO-formulo estas uzata inter malsamaj laborlibroj, kaj la fonta laborlibro estas fermita.

    Tiel arkivi datumojn en Excel dinamike. Mi dankas vin pro legado kaj esperas vidi vin en nia blogo venontsemajne!

    Elŝutu ekzerclibron

    Filtrilo en Excel per formuloj (.xlsx-dosiero)

    alteco (kiam datumoj estas en kolumnoj) aŭ larĝo (kiam datumoj estas en vicoj) devas esti egala al tiu de la argumento tabelo .
  • Se_malplena (laŭvola) - la valoro redonenda kiam neniuj enskriboj plenumas la kriteriojn.
  • La FILTRIA funkcio disponeblas nur en Excel por Microsoft. 365 kaj Excel 2021. En Excel 2019, Excel 2016 kaj pli fruaj versioj, ĝi ne estas subtenata.

    Baza Excel FILTER-formulo

    Por komenci, ni diskutu kelkajn tre simplajn kazojn nur por gajni pli komprenu kiel funkcias Excel-formulo por filtri datumojn.

    El la suba datumaro, supozante, ke vi volas ĉerpi la rekordojn kun specifa valoro en la Grupo , kolumno, diru grupo C. Por fari ĝin, ni liveras la esprimon B2:B13="C" al la argumento include , kiu produktos bezonatan Bulea tabelo, kun VERA responda al "C" valoroj.

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

    Praktike estas pli oportune enigi la kriteriojn en aparta ĉelo, ekz. F1, kaj uzu ĉelreferencon anstataŭ malmolkodi la valoron rekte en la formulo:

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

    Malkiel la funkcio Filtrilo de Excel, la funkcio ne faras ajnajn ŝanĝojn al la originaj datumoj. Ĝi ĉerpas la filtritajn rekordojn en la tiel nomatan disverŝan gamon (E4:G7 en la ekrankopio malsupre), komencante en la ĉelo, kie la formulo estas enigita:

    Se neniuj registroj. kongruas kun la specifitaj kriterioj, la formulo redonas la valoron, kiun vi metis en la se_malplena argumento, "Neniu rezultoj" en ĉi tiu ekzemplo:

    Se vi preferas resendi nenion ĉi-kaze, tiam liveru malplenan ĉenon ("") por la lasta argumento:

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

    Se viaj datumoj estas organizitaj horizontale de maldekstre dekstren kiel montrite en la ekrankopio sube, la FILTRO-funkcio ankaŭ bone funkcios. Nur certigu, ke vi difinas taŭgajn intervalojn por la argumentoj tabelo kaj inkluzivi , por ke la fonta tabelo kaj Bulea tabelo havu la saman larĝon:

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

    Excel FILTER-funkcio - uzado-notoj

    Por efike filtri en Excel per formuloj, jen kelkaj gravaj punktoj por atenti:

    • La FILTRIA funkcio aŭtomate verŝas la rezultojn vertikale aŭ horizontale en la laborfolio, depende de kiel viaj originaj datumoj estas organizitaj. Do, bonvolu certigi, ke vi ĉiam havas sufiĉe da malplenaj ĉeloj malsupre kaj dekstre, alie vi ricevos eraron #SPILL.
    • La rezultoj de la Excel FILTER-funkcio estas dinamikaj, tio signifas, ke ili ĝisdatigas aŭtomate kiam valoroj eniras. la originala datumaro ŝanĝiĝas. Tamen, la intervalo provizita por la argumento array ne estas ĝisdatigita kiam novaj enskriboj estas aldonitaj al la fontaj datumoj. Se vi deziras, ke la tabelo aŭtomate regrandiĝu, tiam konvertu ĝin al Excel-tabelo kaj konstruu formulojn kun strukturitaj referencoj, aŭ kreu dinamikan nomitan gamon.

    Kiel filtri en Excel. -formulekzemploj

    Nun kiam vi scias kiel baza Excel-filtrila formulo funkcias, estas tempo akiri kelkajn sciojn pri kiel ĝi povus esti etendita por solvi pli kompleksajn taskojn.

    Filtrilo kun pluraj kriterioj (KAJ). logiko)

    Por filtri datumojn per pluraj kriterioj, vi liveras du aŭ pli da logikaj esprimoj por la argumento inkluzivi :

    FILTRO(tabelo, ( gamo1= kriterio1) * ( gamo2= kriterio2), "Neniaj rezultoj")

    La multiplika operacio prilaboras la tabelojn kun la KAJ logiko , certigante ke nur la registroj kiuj plenumas ĉiujn kriteriojn estas resenditaj. Teknike, ĝi funkcias jene:

    La rezulto de ĉiu logika esprimo estas tabelo de Buleaj valoroj, kie VERA egalas al 1 kaj FALSA al 0. Tiam, la elementoj de ĉiuj tabeloj en la samaj pozicioj estas multobligitaj. . Ĉar multobligado per nulo ĉiam donas nulon, nur la eroj por kiuj ĉiuj kriterioj estas VERAJ eniras la rezultan tabelon, kaj sekve nur tiuj eroj estas ĉerpitaj.

    La malsupraj ekzemploj montras ĉi tiun ĝeneralan formulon en ago.

    Ekzemplo 1. Filtru plurajn kolumnojn en Excel

    Etendante nian bazan Excel FILTER-formulon iom pli, ni filtru la datumojn per du kolumnoj: Grupo (kolumno B) kaj Venkoj (kolumno C).

    Por tio ni starigas jenajn kriteriojn: tajpu la nomon de la celgrupo en F2 ( kriterio1 ) kaj la minimuman bezonatan nombron dagajnas en F3 ( kriterio2 ).

    Konsiderante ke niaj fontaj datumoj estas en A2:C13 ( tabelo ), grupoj estas en B2:B13 ( gamo1 ) kaj venkoj estas en C2:C13 ( gamo2 ), la formulo prenas ĉi tiun formon:

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

    Kiel rezulto, vi ricevas liston de ludantoj en grupo A, kiuj atingis 2 aŭ pli da venkoj:

    Ekzemplo 2. Filtri datumojn inter datoj

    Unue, oni notu, ke ĝi ne eblas por krei ĝeneralan formulon por filtri laŭ dato en Excel. En malsamaj situacioj, vi devos konstrui kriteriojn alimaniere, depende de ĉu vi volas filtri laŭ specifa dato, laŭ monato aŭ laŭ jaro. La celo de ĉi tiu ekzemplo estas montri la ĝeneralan aliron.

    Al niaj specimenaj datumoj, ni aldonas unu plian kolumnon enhavantan la datojn de la lasta venko (kolumno D). Kaj nun, ni ĉerpos la venkojn, kiuj okazis en specifa periodo, ekzemple inter la 17-a kaj la 31-a de majo.

    Bonvolu rimarki, ke ĉi-kaze ambaŭ kriterioj validas por la sama gamo:

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

    Kie G2 kaj G3 estas la datoj por filtri.

    Filtrilo kun pluraj kriterioj (OR-logiko)

    Por ĉerpi datumojn surbaze de multobla OR-kondiĉo, vi ankaŭ uzas logikajn esprimojn kiel montrite en la antaŭaj ekzemploj, sed anstataŭ multobligi, vi aldonas ilin. Kiam la Buleaj tabeloj resenditaj de la esprimoj estas sumigitaj, la rezulta tabelo havos 0 por enskriboj kiuj ne plenumas iujn ajn kriteriojn (t.e. ĉiujkriterioj estas FALSA), kaj tiaj enskriboj estos filtritaj. La enskriboj por kiuj almenaŭ unu kriterio estas VERA estos ĉerpitaj.

    Jen la ĝenerala formulo por filtri kolumnojn kun la OR-logiko:

    FILTRI(tabelo, ( gamo1= kriterio1) + ( gamo2= kriterio2), "Neniaj rezultoj")

    Ekzemple, ni ĉerpu liston de ludantoj kiuj havas ĉi tiun aŭ tiu nombro da gajnoj.

    Supozinte, ke la fontodatumoj estas en A2:C13, gajnoj estas en C2:C13, kaj la gajnaj nombroj de intereso estas en F2 kaj F3, la formulo estus jene:

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

    Kiel rezulto, vi scias kiuj ludantoj gajnis ĉiujn ludojn (4) kaj kiuj gajnis neniun (0):

    Filtrilo surbaze de multoblaj kriterioj AND kaj ankaŭ OR

    En situacio, kiam vi bezonas apliki ambaŭ kriteriotipojn, memoru ĉi tiun simplan regulon: kunigu la kriteriojn AND per asterisko (*) kaj OR-kriterioj per la pluso. signo (+).

    Ekzemple, por redoni liston de ludantoj kiuj havas donitan nombron da venkoj (F2) KAJ apartenas al la grupo menciita en aŭ E2 AŬ E3, konstruu la sekvan ĉenon de logikaj esprimoj:

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

    Kaj vi ricevos la jenan rezulton:

    Kiel filtri duplikatojn en Excel

    Kiam vi laboras kun grandegaj laborfolioj aŭ kombinas datumojn de malsamaj fontoj, ofte estas ebleco, ke iuj duplikatoj ŝtelirus.

    Se vi serĉas filtri duplikatojn kaj ekstraktounikaj eroj, tiam uzu la UNIKA funkcion kiel klarigite en la ĉi-supra ligita lernilo.

    Se via celo estas filtri duplikatojn , t.e. ĉerpi enskribojn kiuj okazas pli ol unufoje, tiam uzu la FILTRI-funkcion. kune kun COUNTIFS.

    La ideo estas akiri la aperaĵojn por ĉiuj registroj kaj ĉerpi tiujn pli grandajn ol 1. Por akiri la kalkulojn, vi provizas la saman intervalon por ĉiu kriterio_gamo / kriterio paro de COUNTIFS tia:

    FILTRO( tabelo, COUNTIFS( kolumno1, kolumno1, kolumno2, kolumno2)>1, "Neniaj rezultoj")

    Ekzemple, por filtri duplikatajn vicojn el la datumoj en A2:C20 surbaze de la valoroj en ĉiuj 3 kolumnoj, jen la formulo por uzi:

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

    Konsileto. Por filtri duplikatojn surbaze de la valoroj en la ŝlosilkolumnoj , inkluzivu nur tiujn specifajn kolumnojn en la funkcio COUNTIFS.

    Kiel filtri malplenajn en Excel

    Formulo por filtri malplenajn ĉelojn estas, fakte, variaĵo de la Excel FILTRO-formulo kun multoblaj KAJ kriterioj. En ĉi tiu kazo, ni kontrolas ĉu ĉiuj (aŭ apartaj) kolumnoj havas iujn datumojn en ili kaj ekskludas la vicojn kie almenaŭ unu ĉelo estas malplena. Por identigi nemalplenajn ĉelojn, vi uzas la operatoron "ne egala al" () kune kun malplena ĉeno ("") tiel:

    FILTRO(tabelo, ( kolumno1 "") * ( kolumno2 =""), "Neniu rezultoj")

    Kun la fontaj datumoj en A2:C12, por filtri vicojnenhavantaj unu aŭ plurajn malplenajn ĉelojn, la sekva formulo estas enigita en E3:

    Filtri ĉelojn enhavantajn specifan tekston

    Por ĉerpi ĉelojn kiuj enhavas certan tekston, vi povas uzi la funkcion FILTRI kune kun la klasika Se ĉelo enhavas formulon:

    FILTRO(tabelo, ISNUMERO(SERĈO(" teksto ", gamo )), "Neniu rezultoj")

    Jen kiel ĝi funkcias:

    • La SERĈA funkcio serĉas specifitan tekstoĉenon en difinita gamo kaj liveras aŭ nombron (la pozicion de la unua signo) aŭ #VALORO! eraro (teksto ne trovita).
    • La ISNUM-funkcio konvertas ĉiujn ciferojn al VERA kaj erarojn al FALSO kaj pasas la rezultan Bulea tabelo al la argumento inkluzivi de la funkcio FILTRO.

    Por ĉi tiu ekzemplo, ni aldonis la Familinomojn de ludantoj en B2:B13, tajpis la parton de la nomo, kiun ni volas trovi en G2, kaj poste uzis la sekvan formulon por filtri la datumojn:

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

    Kiel rezulto, la formulo retrovas la du familiajn nomojn enhavantajn "han":

    Filtri kaj kalkulu (Sumo, Mezumo, Min, Maksimumo, ktp.)

    Kompata afero pri la Excel FILTER-funkcio estas, ke ĝi povas ne nur ĉerpi valorojn kun kondiĉoj, sed ankaŭ resumi la filtritajn datumojn. Por tio, kombinu FILTRILON kun agregaj funkcioj kiel SUM, AVERAGE, COUNT, MAX aŭ MIN.

    Ekzemple, por aldoni datumojn por specifa grupo en F1, uzu la jenanformuloj:

    Sumaj venkoj:

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

    Averaĝaj venkoj:

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

    Maksimumo venkoj:

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

    Minimumaj gajnoj:

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

    Bonvolu atenti, ke, en ĉiuj formuloj, ni uzas nulon por la argumento se_malplena , do la formuloj estus redonu 0 se neniuj valoroj renkontantaj la kriteriojn estas trovitaj. Liveri iun ajn tekston kiel "Neniu rezultojn" rezultigus #VALUE-eraron, kio evidente estas la lasta afero, kiun vi volas :)

    Majuskkle-distinga FILTRA formulo

    Norma Excel FILTER-formulo ne distingas minusklojn, tio signifas, ke ĝi ne faras distingon inter minuskloj kaj majuskloj. Por distingi tekstmajskon, nestu la EKZAKTAN funkcion en la argumento inkluzivi . Ĉi tio devigos FILTRIN fari logikan teston en majuskla maniero:

    FILTRO(tabelo, EKZAKTA( gamo , kriterioj ), "Neniaj rezultoj")

    Supozi , vi havas ambaŭ grupojn A kaj a kaj deziras ĉerpi rekordojn kie la grupo estas la minuskla "a". Por fari ĝin, uzu la sekvan formulon, kie A2:C13 estas la fontodatumo kaj B2:B13 estas grupoj por filtri:

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

    Kiel kutime, vi povas enigi la celgrupon en antaŭdifinita ĉelo, diru F1, kaj uzu tiun ĉelan referencon anstataŭ malmola teksto:

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

    Kiel FILTRI datumojn kaj redoni nur specifajn kolumnojn

    Plejparte, filtri ĉiujn kolumnojn per ununura formulo estas tio, kion volas uzantoj de Excel. Sed se via fonttabelo enhavas dekojn aŭ

    Michael Brown estas diligenta teknologia entuziasmulo kun pasio por simpligi kompleksajn procezojn uzante programarajn ilojn. Kun pli ol jardeko da sperto en la teknologia industrio, li perfektigis siajn kapablojn en Microsoft Excel kaj Outlook, same kiel Google Sheets kaj Docs. La blogo de Mikaelo estas dediĉita al kunhavigi siajn sciojn kaj kompetentecon kun aliaj, provizante facilajn sekvajn konsiletojn kaj lernilojn por plibonigi produktivecon kaj efikecon. Ĉu vi estas sperta profesiulo aŭ komencanto, la blogo de Mikaelo ofertas valorajn komprenojn kaj praktikajn konsilojn por eltiri la plej multajn el ĉi tiuj esencaj programaj iloj.