Tabloya naverokê
Di vê dersa bilez de, hûn ê fêr bibin ka meriv çawa di Excel de bi formulên dînamîkî fîlter dike. Nimûneyên ji bo fîlterkirina dubareyan, şaneyên ku hin nivîsan dihewîne, bi gelek pîvanan û hêj bêtir.
Hûn bi gelemperî di Excel de çawa fîlter dikin? Bi piranî, bi karanîna Parzûna Xweser, û di senaryoyên tevlihevtir de bi Parzûna Pêşkeftî. Ji ber ku zû û bi hêz in, van rêbazan kêmasiyek girîng heye - gava ku daneyên we diguhezin ew bixweber nûve nabin, tê vê wateyê ku hûn ê ji nû ve paqij bikin û fîlter bikin. Danasîna fonksiyona FILTER-ê di Excel 365 de ji taybetmendiyên kevneşopî re dibe alternatîfek çaverêkirî. Berevajî wan, formulên Excel bi her guhertina pelxebatê re bixweber ji nû ve têne hesibandin, ji ber vê yekê hûn hewce ne ku fîltera xwe tenê carekê saz bikin!
Fonksiyon FILTER ya Excel
Fonksiyon FILTER li Excel ji bo fîlterkirina rêze daneyan li gorî pîvanên ku hûn diyar dikin tê bikar anîn.
Fonksiyon ji kategoriya fonksiyonên Arrayên Dînamîkî ye. Encam komek nirxan e ku bixweber di nav rêzek hucreyan de diherike, ji şaneya ku hûn tê de formulek tê de dest pê dikin.
Sîntaksa fonksiyona FILTER wiha ye:
FILTER(array, têde , [eger_vala])Li ku:
- Array (pêdivî ye) - rêze an rêzika nirxan ku tu dixwazî fîltre bikî.
- Tevve bike (pêdivî ye) - pîvanên ku wekî rêzek Boolean têne peyda kirin (nirxên TRUE û FALSE).
Wêbi sedan stûn jî, dibe ku hûn helbet bixwazin ku encaman bi çend yên herî girîng bisînor bikin.
Mînak 1. Hin stûnên cîran parzûn bikin
Di rewşek ku hûn dixwazin hin stûnên cîran di nav de xuya bibin. encamek FILTER, tenê wan stûnan di array de bihewîne ji ber ku ev arguman e ku diyar dike ka dê kîjan stûnan vegere.
Di mînaka formula FILTER ya bingehîn de, bi gumana ku hûn dixwazin 2 stûnên pêşîn vegerînin. ( Nav û Kom ). Ji ber vê yekê, hûn A2:B13 ji bo argumana array peyda dikin:
=FILTER(A2:B13, B2:B13=F1, "No results")
Di encamê de, em navnîşek beşdarên koma armancê ya ku di F1-ê de hatî destnîşan kirin digirin:
Mînak 2. Stûnên ne cîran parzûn bikin
Ji bo ku fonksiyona FILTERê stûnên ne hevgirtî vegerîne, vê hîleyê jîr bikar bînin:
- Formulek FILTER bi şert(ên) xwestî bi kar anîna tevahiya tabloya array çêbikin.
- Formula jorîn di hundurê fonksiyonek FILTERê ya din de bihêlin. Ji bo mîhengkirina fonksiyona "wrapper"ê, ji bo argumana tevlî domdarek rêzê ya nirxên TRUE û FALSE an jî 1 û 0-yan bikar bînin, li wir TRUE (1) stûnên ku bêne girtin û FALSE (0) nîşan dide. stûnên ku bêne derxistin.
Mînakî, ji bo vegerandina tenê Nav (stûna 1mîn) û Serkeftin (stûna 3mîn), em {1 bikar tînin, 0,1} an {RAST,FALSE,RAST} ji bo tevlî argûmana fonksiyona FILTER ya derve:
=FILTER(FILTER(A2:C13, B2:B13=F1), {1,0,1})
An
=FILTER(FILTER(A2:C13, B2:B13=F1), {TRUE,FALSE,TRUE})
Meriv çawa sînor dikehejmara rêzên ku ji hêla fonksiyona FILTER ve hatine vegerandin
Heke formula FILTER ya we gelek encam dibîne, lê cîhê xebata we kêm e û hûn nekarin daneyên jêrîn jêbikin, wê hingê hûn dikarin hejmara rêzan ku fonksiyona FILTER vedigerîne sînordar bike. .
Werin em bibînin ka ew çawa li ser mînakek formulek hêsan dixebite ku lîstikvanan ji koma armancê ya F1 derdixe:
=FILTER(A2:C13, B2:B13=F1)
Formula jorîn hemî tomarên ku ew di doza me de 4 rêzan dibîne. Lê bifikirin ku hûn tenê ji bo du kesan cîh heye. Ji bo ku tenê 2 rêzên hatine dîtin derbikeve, ev e ya ku divê hûn bikin:
- Formula FILTERê têxin argumana array ya fonksiyona INDEX.
- Ji bo argumana row_num ya INDEX-ê, risteke vertîkal a wekî {1;2} bikar bîne. Ew diyar dike ka çend rêz vedigere (di doza me de 2).
- Ji bo argumana numreya_stûnê , rêzek hevrika horizontî ya wekî {1,2,3} bikar bînin. Ew diyar dike ka kîjan stûn werin vegerandin (di vê nimûneyê de 3 stûnên pêşîn).
- Ji bo ku hûn xeletiyên muhtemel dema ku daneyên li gorî pîvanên we nehatin dîtin.
Formula bêkêmasî vê formê digire:
=IFERROR(INDEX(FILTER(A2:C13, B2:B13=F1), {1;2}, {1,2,3}), "No result")
Dema ku bi tabloyên mezin re dixebitin, dibe ku bi destan domdariya rêzê were nivîsandin. pir giran. Pirsgirêk nîne, fonksiyona SEQUENCE dikare ji bo we jimareyên rêzî bixweber çêbike:
=IFERROR(INDEX(FILTER(A2:C13, B2:B13=F1), SEQUENCE(2), SEQUENCE(1, COLUMNS(A2:C13))), "No result")
SEQUENCE yekem rêzek vertîkal çêdikebi qasî ku di argumana yekem (û tenê) de hatine destnîşan kirin, bi qasî hejmarên rêzdar hene. SEQUENCE ya duyemîn fonksiyona COLUMNS bikar tîne da ku hejmara stûnên di danezanê de bijmêre û nîgarek hevwateya horizontî çêdike.
Tip. Ji bo vegerandina daneyan ji stûnên taybetî , ne hemî stûnên, di rêzika domdar a horizontî ya ku hûn ji bo argumana hejmara_stûnê ya INDEX-ê bikar tînin, tenê wan hejmarên taybetî di nav xwe de nagirin. Mînakî, ji bo derxistina daneyan ji stûnên 1mîn û 3mîn, {1,3} bikar bînin.
Fonksiyona FILTER a Excel naxebite
Di rewşek ku formula weya Excel FILTER de xeletiyek çêdike, bi îhtîmalek mezin ew ê yek ji jêrîn be:
#CALC! xeletî
Eger argumana bijarte eger_vala ji holê bê rakirin, çêdibe û tu encamek ku pîvanan pêk tîne neyên dîtin. Sedem ev e ku niha Excel rêzikên vala piştgirî nake. Ji bo pêşîgirtina li xeletiyên weha, ji bîr mekin ku hûn her gav nirxa ger_vala di formulên xwe de diyar bikin.
#VALUE error
Dema ku array û
#N/A, #VALUE, hwd.
Heke hin nirx di argumana tevî de dibe ku xeletiyên cuda derkevin. çewtiyek e an nikare bibe nirxek Boolean.
Çewtiya #NAME
Dema ku hûn hewl bidin ku FILTER di guhertoyek kevntir a Excel de bikar bînin diqewime. Ji kerema xwe ji bîr mekin ku ew fonksiyonek nû ye, ku tenê di Office 365 û Excel 2021 de heye.
DiExcel nû, heke hûn bi xeletî navê fonksiyonê binivîsin xeletiyek #NAME çêdibe.
#SPILL error
Gelek caran, ev xeletî çêdibe heke yek an jî çend şaneyên di rêza rijandinê de bi tevahî vala nebin. . Ji bo rastkirina wê, tenê şaneyên ne-vala paqij bikin an jêbikin. Ji bo vekolîn û çareserkirina dozên din, ji kerema xwe bibînin #SPILL! xeletiya Excel: tê çi wateyê û meriv çawa rast dike.
#REF! xeletî
Diqewime dema ku formula FILTER di navbera pirtûkên xebatê yên cihê de tê bikar anîn, û pirtûka xebatê ya çavkaniyê girtî ye.
Bi vî rengî daneyên di Excel de bi dînamîk têne pel kirin. Ez ji bo xwendinê spas dikim û hêvî dikim ku hefteya pêş me we li ser bloga xwe bibînim!
Pirtûka xebatê ya pratîkê dakêşin
Li Excel bi formulan (pelê xlsx) fîlter bikin
bilindahî (gava ku dane di stûnan de bin) an firehî (gava dane di rêzan de bin) divê bi argumana array re wekhev be.Fonksiyon FILTER tenê di Excel de ji bo Microsoft-ê heye 365 û Excel 2021. Di Excel 2019, Excel 2016 û guhertoyên berê de, ew nayê piştgirî kirin.
Formula bingehîn Excel FILTER
Ji bo destpêkê, bila em çend dozên pir hêsan nîqaş bikin ku tenê bi dest bixin. bêtir fêm bikin ka formula Excel ji bo fîlterkirina daneyan çawa dixebite.
Ji berhevoka daneya jêrîn, em guman dikin ku hûn dixwazin tomarên bi nirxek taybetî di stûna Grûp de derxînin, bêje koma C. Ji bo ku ew pêk were, em îfadeya B2:B13="C" didin argumana include , ku dê rêzek Boolean a pêwîst çêbike, bi TRUE ya ku bi nirxên "C" re têkildar e.
=FILTER(A2:C13, B2:B13="C", "No results")
Di pratîkê de, hêsantir e ku meriv pîvanan di hucreyek cihê de binivîsîne, mînakî. F1, û li şûna ku nirxê rasterast di formula de kodkirina hişk bikar bînin, referansek hucreyê bikar bînin:
=FILTER(A2:C13, B2:B13=F1, "No results")
Berevajî taybetmendiya Parzûna Excel, fonksiyon tu guhertinan li daneyên orîjînal nake. Ew tomarên fîlterkirî derdixe nav qada ku jê re tê gotin rijandin (E4:G7 di dîmena jêrîn de), di şaneya ku formula têde tê de dest pê dike:
Heke tomar tune pîvanên diyarkirî li hev bikin, formula nirxa ku we tê de danî vedigerîne eger_vala argumana, "encam tune" di vê nimûneyê de:
Heke hûn dixwazin tiştekî vegerînin di vê rewşê de, wê hingê Ji bo argumana paşîn rêzek vala ("") peyda bike:
=FILTER(A2:C13, B2:B13=F1, "")
Heke ku daneyên we ji çepê ber bi rastê ve wekî ku di dîmena jêrîn de tê xuyang kirin horizontal birêxistin bibin, fonksiyona FILTER jî dê xweş bixebite. Tenê piştrast bikin ku hûn rêzikên guncaw ji bo argumanên array û tevî diyar dikin, da ku rêzika çavkanî û rêzika Boolean xwedî heman firehiyê bin:
=FILTER(B2:M4, B3:M3= B7, "No results")
Fonksiyon FILTER-a Excel - nîşeyên bikaranînê
Ji bo ku di Excel de bi formulan re bi bandor fîlter bikin, li vir çend xalên girîng hene ku meriv bala xwe bide wan:
- Fonksiyon FILTER bixweber encaman di pelika xebatê de vertîkal an horîzontal dirijîne, li gorî ka daneyên weya orjînal çawa têne organîze kirin. Ji ber vê yekê, ji kerema xwe pê ewle bibin ku hûn her gav bi têra xwe şaneyên vala li jêr û rastê hene, wekî din hûn ê xeletiyek #SPILL bistînin.
- Encamên fonksiyona Excel FILTER dînamîk in, yanî gava nirxan di nav de ew bixweber nûve dikin. guhertina daneya orîjînal. Lêbelê, rêza ku ji bo argumana array hatî peyda kirin, dema ku navnîşên nû li daneya çavkaniyê têne zêdekirin nayê nûve kirin. Heke hûn dixwazin array bixwe mezinahiya xwe biguherîne, wê hingê wê veguherîne tabloyek Excel û bi referansên birêkûpêk formulan ava bike, an navçeyek bi navek dînamîkî biafirîne.
Çawa di Excel de fîlterkirin -mînakên formulê
Niha ku hûn dizanin ka formula fîltera Excel-ê ya bingehîn çawa dixebite, wextê wê ye ku hûn çend têgihîştinê bistînin ka ew çawa dikare ji bo çareserkirina karên tevlihevtir were dirêj kirin.
Bi çend pîvanan Parzûn bikin (Û mantiq)
Ji bo parzûnkirina daneyan bi çend pîvanan, hûn du an jî zêdetir îfadeyên mantiqî ji bo argumana tevî pêşkêş dikin:
FILTER(array, ( range1= krîter 1) * ( rêz2= krîter2), "encam tune")Operasyona pirjimariyê rêzan bi Û mantiqê pêvajo dike. , piştrast dike ku tenê tomarên ku hemû pîvanan pêk tînin werin vegerandin. Di warê teknîkî de, ew bi vî rengî dixebite:
Encama her biwêjek mentiqî rêzek nirxên Boolean e, ku TRUE bi 1 û FALSE bi 0 re ye. Dûv re, hêmanên hemî rêzikên di heman cihan de têne zêdekirin. . Ji ber ku pirkirina bi sifirê her tim sifir dide, tenê tiştên ku hemû pîvan RAST in, dikevin rêza encam de, û ji ber vê yekê tenê ew tişt têne derxistin.
Mînakên jêrîn vê formula giştî di çalakiyê de nîşan didin.
Mînak 1. Di Excel de gelek stûnan parzûn bikin
Formula xweya bingehîn a Excel FILTER hinekî din dirêj bikin, werin em daneyan bi du stûnan fîlter bikin: Kom (stûna B) û Serkeftin (stûna C).
Ji bo vê yekê, me pîvanên jêrîn saz kirin: Navê koma armancê di F2 de binivîsin ( krîter1 ) û hejmara herî kêm a pêwîstdi F3 ( krîter2 ) de bi ser dikeve.
Ji ber ku daneyên çavkaniya me di A2:C13 ( array ) de ye, kom di B2:B13 de ne ( range1 ) û serkeftin di C2:C13 de ne ( range2 ), formula vî rengî digire:
=FILTER(A2:C13, (B2:B13=F2) * (C2:C13>=F3), "No results")
Di encamê de, hûn navnîşek lîstikvanan distînin. di koma A de ku 2 an zêdetir serketî bi dest xistine:
Mînak 2. Daneyên di navbera dîrokan de parzûn bikin
Di serî de, divê were zanîn ku ne gengaz e ji bo ku li Excel li gorî tarîxê fîlterkirinek gelemperî çêbikin. Di rewşên cihêreng de, hûn ê hewce bikin ku pîvanên cûda ava bikin, li gorî ka hûn dixwazin bi tarîxek taybetî, bi meh, an bi sal ve fîlter bikin. Armanca vê nimûneyê ew e ku nêzîkatiya giştî nîşan bide.
Li ser daneya nimûneya xwe, em stûnek din ku tê de tarîxên serketina paşîn tê de zêde dikin (stûna D). Û niha, em ê serketinên ku di heyamek taybetî de qewimîne derxînin, bêje di navbera 17-ê Gulanê û 31-ê Gulanê de.
Ji kerema xwe bala xwe bidin ku di vê rewşê de, her du pîvan li ser heman rêzê derbas dibin:
=FILTER(A2:D13, (D2:D13>=G2) * (D2:D13<=G3), "No results")
G2 û G3 tarîxên ku di navbera wan de werin fîltrekirin. li ser bingeha şerta pirjimar OR, hûn di heman demê de bêjeyên mentiqî yên mîna ku di mînakên berê de hatine destnîşan kirin bikar tînin, lê li şûna ku hûn pir bikin, hûn wan lê zêde dikin. Dema ku rêzikên Boolean ên ku ji hêla vegotinan ve têne vegerandin têne berhev kirin, rêzika encam dê ji bo navnîşên ku tu pîvanan pêk naynin (ango hemîkrîterên DEREW in), û navnîşên weha dê bêne fîlter kirin. Danûstandinên ku ji bo wan herî kêm pîvanek RAST e dê werin derxistin.
Li vir formula giştî ya parzûna stûnên bi mantiqa OR heye:
FILTER(array, ( range1= krîterên1) + ( range2= krîterên2), "encam tune")Wek nimûne, werin em navnîşek lîstikvanên ku ev an ew hejmara serketiyan.
Bihesibînin ku daneya çavkaniyê di A2:C13 de ye, serkeftin di C2:C13 de ne, û jimareyên serketinê yên berjewendiyê di F2 û F3 de ne, formula dê wiha biçe:
=FILTER(A2:C13, (C2:C13=F2) + (C2:C13=F3), "No results")
Di encamê de, hûn dizanin ku kîjan lîstikvan hemî lîstikan bi dest xistine (4) û kîjan lîstikvanan qezenc nekir (0):
Parzûna li ser bingeha pir pîvanên AND û hem jî OR
Di rewşek ku hûn hewce ne ku her du celeb pîvanan bicîh bînin, vê qaîdeya hêsan ji bîr nekin: bi stêrka (*) û pîvanên OR-ê bi stêrka (*) re tevlê bibin nîşana (+).
Mînakî, ji bo vegerandina navnîşek lîstikvanên ku xwediyê hejmareke diyarkirî ya serketinê ne (F2) Û di koma ku di E2 AN E3 de tê behs kirin, zincîra jêrîn a mentiqî ava bikin. bêjeyan:
=FILTER(A2:C13, (C2:C13=F2) * ((B2:B13=E2) + (B2:B13=E3)), "No results")
Û hûn ê encama jêrîn bistînin:
Çawa di Excel de dubendiyan parzûn dike
Dema ku bi pelên xebatê yên mezin re dixebitin an daneyên ji çavkaniyên cihêreng berhev dikin, bi gelemperî îhtîmalek heye ku hin dubareyan bi dizî têkevin hundur.
Heke hûn dixwazin filter bikin duberî û derxistinhêmanên yekta, dûvre fonksiyona UNIQUE bikar bînin ku di dersa jor ve girêdayî de hate ravekirin.
Heke armanca we parzkirina dubareyan e , yanî navnîşên ku ji carekê zêdetir çêdibin derxînin, wê hingê fonksiyona FILTER bikar bînin. bi hev re COUNTIFS.
Fikir ev e ku meriv ji bo hemî tomaran jimartina bûyeran bigire û yên ji 1-ê mezintir derxîne. 1>pîvan cotê COUNTIFS bi vî rengî:
FILTER( array, COUNTIFS( stûn1, stûn1, stûn2, stûn2)>1, "Encam tune")Mînakî, ji bo fîlterkirina rêzên dubare yên daneyên di A2:C20 de li ser bingeha nirxên her 3 stûnan, li vir formula ku bikar bînin heye:
=FILTER(A2:C20, COUNTIFS(A2:A20, A2:A20, B2:B20, B2:B20, C2:C20, C2:C20)>1, "No results")
Şîret. Ji bo fîlterkirina dubareyan li ser bingeha nirxên stûnên mifteyê , tenê wan stûnên taybetî di fonksiyona COUNTIFS de bihewîne.
Meriv çawa di Excel de valahiyan fîltre dike
Formulek ji bo fîlterkirina şaneyên vala, bi rastî, guhertoyek formula Excel FILTER e bi gelek pîvan û pîvanên Û. Di vê rewşê de, em kontrol dikin ka hemî (an taybetî) stûn di wan de dane hene û rêzên ku bi kêmî ve yek şaneyek vala ye derdixin. Ji bo danasîna şaneyên ne vala, hûn operatora "ne wekhev" () digel rêzek vala ("") bi vî rengî bikar tînin:
FILTER(array, ( stûna1 "") * ( stûna2 =""), "Encam tune")Bi daneya çavkaniyê di A2:C12 de, ji bo fîlterkirina rêzanku yek an jî çend şaneyên vala dihewîne, formula jêrîn di E3-ê de tê nivîsandin:
Hêneyên ku tê de nivîsek taybetî dihewîne parzûn bike
Ji bo derxistina şaneyên ku hin nivîsan dihewîne, hûn dikare fonksiyona FILTER bi hev re bi kar bîne Ger şaneyek formulek heye:
FILTER(array, ISNUMBER(SEARCH(" text ", range )), "Encam tune")Li vir çawa dixebite:
- Fonksiyon SEARCH li rêzek nivîsê ya diyarkirî di rêzek diyarkirî de digere û an jimarekê (cihê karaktera yekem) an jî #VALUE vedigerîne! xeletî (nivîsar nehat dîtin).
- Fonksiyon ISNUMBER hemî hejmaran diguherîne TRUE û xeletiyan dike FALSE û rêzika Boolean ya encam dide derbazî argumana include ya fonksiyona FILTERê dike.
Ji bo vê nimûneyê, me Paşnav ya lîstikvanan li B2:B13 zêde kir, beşa navê ku em dixwazin di G2 de bibînin nivîsand, û paşê formula jêrîn bikar bînin daneyan fîlter bikin:
=FILTER(A2:D13, ISNUMBER(SEARCH(G2, B2:B13)), "No results")
Di encamê de, formula du paşnavên ku "han" tê de hene vedigire:
Parzûn bike û hesab bike (Girtî, Average, Min, Max, hwd.)
Tiştek xweş di derbarê fonksiyona Excel FILTER de ev e ku ew ne tenê dikare bi şert û mercan nirxan derxe, lê di heman demê de daneyên fîlterkirî jî kurt bike. Ji bo vê, FILTER bi fonksiyonên berhevkirinê yên wekî SUM, AVERAGE, COUNT, MAX an MIN re bikin yek.
Mînakî, ji bo komkirina daneyan ji bo komek taybetî di F1 de, jêrîn bikar bîninformulas:
Tevahiya destkeftiyan:
=SUM(FILTER(C2:C13, B2:B13=F1, 0))
Serkeftinên navîn:
=AVERAGE(FILTER(C2:C13, B2:B13=F1, 0))
Serkeftinên herî zêde:
=MAX(FILTER(C2:C13, B2:B13=F1, 0))
Serkeftinên hindiktirîn:
=MIN(FILTER(C2:C13, B2:B13=F1, 0))
Ji kerema xwe bala xwe bidin ku, di hemî formulan de, em ji bo argumana ger_vala sifir bikar tînin, ji ber vê yekê formula dê Heke nirxên ku pîvanan pêk neynin nehatin dîtin 0 vegerînin. Dabînkirina her nivîsek wekî "Bê encam" dê bibe sedema xeletiyek #VALUE, ku diyar e ya paşîn e ku hûn dixwazin :)
Formula FILTER-ya hesas-qezenc
Formulek standard a Excel FILTER-ê ne hesas e, yanî ew ferqê naxe navbera tîpên piçûk û yên mezin. Ji bo cudakirina rewşa nivîsê, fonksiyona EXACT di argumana include de bihêlin. Ev ê FILTER mecbûr bike ku ceribandina mantiqî bi şêwazek hesas a dozê bike:
FILTER(array, EXACT( range , krîter ), "Tê encam tune")Bi guman , her du komên we A û a hene û hûn dixwazin tomarên ku kom bi tîpên piçûk "a" ye derxînin. Ji bo ku wê were kirin, formula jêrîn bikar bînin, ku A2:C13 daneya çavkaniyê ye û B2:B13 komên ku têne parzûn kirin:
=FILTER(A2:C13, EXACT(B2:B13, "a"), "No results")
Wekî her car, hûn dikarin koma armancê têxin nav şaneyek ji berê diyarkirî, bêje F1, û wê referansa şaneyê li şûna nivîsa kodkirî bikar bîne:
=FILTER(A2:C13, EXACT(B2:B13, F1), "No results")
Meriv çawa daneyan FILTER dike û tenê stûnên taybetî vedigerîne
Bi piranî, fîlterkirina hemî stûnan bi formula yekane tiştê ku bikarhênerên Excel dixwazin e. Lê heger tabloya çavkaniya we bi dehan an