Jedwali la yaliyomo
Katika somo hili la haraka, utajifunza jinsi ya kuchuja katika Excel kwa nguvu kwa kutumia fomula. Mifano ya kuchuja nakala, visanduku vilivyo na maandishi fulani, vyenye vigezo vingi, na zaidi.
Je, huwa unachuja vipi katika Excel? Kwa sehemu kubwa, kwa kutumia Kichujio Kiotomatiki, na katika hali ngumu zaidi na Kichujio cha Kina. Kwa kuwa ni ya haraka na yenye nguvu, mbinu hizi zina dosari moja muhimu - hazisasishi kiotomatiki data yako inapobadilika, kumaanisha kwamba utahitaji kusafisha na kuchuja tena. Kuanzishwa kwa kazi ya FILTER katika Excel 365 inakuwa mbadala iliyosubiriwa kwa muda mrefu kwa vipengele vya kawaida. Tofauti na hizo, fomula za Excel hukokotoa upya kiotomatiki kwa kila badiliko la laha ya kazi, kwa hivyo utahitaji kusanidi kichujio chako mara moja tu!
Kitendaji cha Excel cha FILTER
Kitendaji cha FILTER katika Excel inatumika kuchuja anuwai ya data kulingana na vigezo ulivyobainisha.
Chaguo za kukokotoa ni za kategoria ya vitendakazi vya Mikusanyiko Inayobadilika. Matokeo yake ni safu ya thamani ambazo humiminika kiotomatiki katika safu mbalimbali, kuanzia kisanduku unapoingiza fomula.
Sintaksia ya chaguo za kukokotoa za FILTER ni kama ifuatavyo:
FILTER(safu, inajumuisha. , [if_empty])Wapi:
- Safu (inahitajika) - safu au safu ya thamani ambayo ungependa kuchuja.
- Jumuisha (inahitajika) - vigezo vinavyotolewa kama safu ya Boolean (thamani za TRUE na FALSE).
Yakehata mamia ya safu wima, bila shaka unaweza kutaka kuweka matokeo kwa chache muhimu zaidi.
Mfano 1. Chuja safu wima zilizo karibu
katika hali unapotaka baadhi ya safu wima jirani zionekane matokeo ya FILTER, inajumuisha safu wima zile pekee katika safu kwa sababu ni hoja hii ambayo huamua ni safu wima zipi zitarejeshwa.
Katika mfano wa fomula ya FILTER msingi, ikizingatiwa ungependa kurejesha safu wima 2 za kwanza. ( Jina na Kikundi ). Kwa hivyo, unatoa A2:B13 kwa safu hoja:
=FILTER(A2:B13, B2:B13=F1, "No results")
Kwa hivyo, tunapata orodha ya washiriki wa kikundi lengwa iliyofafanuliwa katika F1:
Mfano 2. Chuja safu wima zisizo karibu
Ili kusababisha kitendakazi cha FILTER kurejesha safu wima zisizofungamana, tumia ujanja huu:
- Tengeneza fomula ya FILTER yenye hali inayohitajika kwa kutumia jedwali zima kwa safu .
- Weka fomula iliyo hapo juu ndani ya kitendakazi kingine cha FILTER. Ili kusanidi chaguo za kukokotoa za "wrapper", tumia safu thabiti ya thamani za TRUE na FALSE au 1 na 0 kwa jumuisha hoja, ambapo TRUE (1) inaweka alama kwenye safu wima zinazopaswa kuwekwa na FALSE (0) inatia alama safu wima zitatengwa.
Kwa mfano, kurudisha Majina pekee (safu wima ya 1) na Washindi (safu wima ya 3), tunatumia {1, 0,1} au {TRUE,FALSE,TRUE} kwa jumuisha hoja ya kitendakazi cha nje cha FILTER:
=FILTER(FILTER(A2:C13, B2:B13=F1), {1,0,1})
Au
=FILTER(FILTER(A2:C13, B2:B13=F1), {TRUE,FALSE,TRUE})
Jinsi ya kuweka kikomoidadi ya safu mlalo zilizorejeshwa na chaguo la kukokotoa la FILTER
Ikiwa fomula yako ya FILTER itapata matokeo mengi, lakini laha yako ya kazi ina nafasi finyu na huwezi kufuta data iliyo hapa chini, basi unaweza kuweka kikomo idadi ya safu mlalo ambazo chaguo la kukokotoa la FILTER hurejeshwa. .
Hebu tuone jinsi inavyofanya kazi kwa mfano wa fomula rahisi ambayo huwavuta wachezaji kutoka kwa kikundi lengwa katika F1:
=FILTER(A2:C13, B2:B13=F1)
Mfumo ulio hapa juu hutoa rekodi zote ambazo hupata, safu 4 kwa upande wetu. Lakini tuseme una nafasi kwa mbili tu. Ili kutoa safu mlalo 2 za kwanza tu zilizopatikana, hivi ndivyo unahitaji kufanya:
- Chomeka fomula ya FILTER kwenye safu ya hoja ya chaguo la kukokotoa INDEX.
- >Kwa row_num hoja ya INDEX, tumia safu wima isiyobadilika kama {1;2}. Inaamua ni safu ngapi za kurudi (2 kwa kesi yetu).
- Kwa hoja ya column_num , tumia safu mlalo isiyobadilika kama {1,2,3}. Inabainisha safu wima zipi zitarejeshwa (safu wima 3 za kwanza katika mfano huu).
- Ili kutunza hitilafu zinazoweza kutokea wakati hakuna data inayolingana na vigezo vyako inayopatikana, unaweza kufunga fomula yako katika chaguo za kukokotoa za IFERROR.
Mfumo kamili huchukua fomu hii:
=IFERROR(INDEX(FILTER(A2:C13, B2:B13=F1), {1;2}, {1,2,3}), "No result")
Unapofanya kazi na majedwali makubwa, kuandika safu thabiti kunaweza kuwa mbaya sana. Hakuna tatizo, kitendakazi cha SEQUENCE kinaweza kukutengenezea nambari za mfuatano kiotomatiki:
=IFERROR(INDEX(FILTER(A2:C13, B2:B13=F1), SEQUENCE(2), SEQUENCE(1, COLUMNS(A2:C13))), "No result")
MFUMO wa kwanza hutengeneza safu wima.iliyo na nambari nyingi za kufuatana kama ilivyobainishwa katika hoja ya kwanza (na pekee). SEQUENCE ya pili hutumia chaguo za kukokotoa za COLUMNS kuhesabu idadi ya safu wima katika mkusanyiko wa data na kutoa safu sawa ya mlalo.
Kidokezo. Ili kurudisha data kutoka safu wima mahususi , si safu wima zote, katika safu mlalo isiyobadilika unayotumia kwa safu_ya_nambari hoja ya INDEX, inajumuisha nambari hizo mahususi pekee. Kwa mfano, ili kutoa data kutoka safu wima ya 1 na ya 3, tumia {1,3}.
Chaguo za kukokotoa za Excel FILTER hazifanyi kazi
Katika hali wakati fomula yako ya KUCHUJA ya Excel inaleta hitilafu, kuna uwezekano mkubwa hilo litakuwa mojawapo ya yafuatayo:
#CALC! error
Hutokea ikiwa hoja ya hiari ya if_empty imeachwa, na hakuna matokeo yanayokidhi vigezo yanayopatikana. Sababu ni kwamba kwa sasa Excel haitumii safu tupu. Ili kuzuia hitilafu kama hizo, hakikisha kuwa umefafanua kila wakati thamani ya ikiwa_tupu katika fomula zako.
hitilafu ya #VALUE
Hutokea wakati safu na jumuisha hoja zina vipimo visivyooana.
#N/A, #VALUE, n.k.
Hitilafu tofauti zinaweza kutokea ikiwa baadhi ya thamani katika inajumuisha hoja ni hitilafu au haiwezi kubadilishwa kuwa thamani ya Boolean.
Hitilafu ya #NAME
Hutokea unapojaribu kutumia FILTER katika toleo la zamani la Excel. Tafadhali kumbuka kuwa ni chaguo jipya la kukokotoa, ambalo linapatikana katika Ofisi ya 365 na Excel 2021 pekee.
Innew Excel, hitilafu ya #NAME hutokea ikiwa umekosea tahajia ya jina la kitendakazi.
#SPILL hitilafu
Mara nyingi, hitilafu hii hutokea ikiwa seli moja au zaidi katika safu ya kumwagika haziko wazi kabisa. . Ili kuirekebisha, futa tu au ufute visanduku visivyo tupu. Ili kuchunguza na kutatua kesi zingine, tafadhali tazama #SPILL! kosa katika Excel: inamaanisha nini na jinsi ya kurekebisha.
#REF! error
Hutokea wakati fomula ya FILTER inapotumika kati ya vitabu tofauti vya kazi, na kitabu cha kazi cha chanzo kinafungwa.
Hiyo ndio jinsi ya kuweka data katika Excel kwa nguvu. Ninakushukuru kwa kusoma na kutumaini kukuona kwenye blogu yetu wiki ijayo!
Pakua kitabu cha mazoezi cha mazoezi
Chuja katika Excel kwa kutumia fomula (.xlsx file)
urefu (wakati data iko kwenye safu wima) au upana (wakati data iko kwenye safu mlalo) lazima iwe sawa na ile ya safu ya hoja.Kitendaji cha FILTER kinapatikana tu katika Excel kwa Microsoft 365 na Excel 2021. Katika Excel 2019, Excel 2016 na matoleo ya awali, haitumiki.
Mchanganuo wa kimsingi wa FILTER wa Excel
Kwa kuanzia, hebu tujadili kesi chache rahisi ili tu kupata kuelewa zaidi jinsi fomula ya Excel ya kuchuja data inavyofanya kazi.
Kutoka kwa seti ya data iliyo hapa chini, ikizingatiwa kuwa unataka kutoa rekodi zilizo na thamani maalum katika Kundi , safuwima, sema kikundi C. Ili kuifanya, tunasambaza usemi B2:B13="C" kwa jumuisha hoja, ambayo itatoa safu ya Boolean inayohitajika, na TRUE inayolingana na thamani za "C".
=FILTER(A2:C13, B2:B13="C", "No results")
Katika mazoezi, ni rahisi zaidi kuingiza vigezo katika kisanduku tofauti, k.m. F1, na utumie rejeleo la kisanduku badala ya kuweka msimbo mgumu moja kwa moja kwenye fomula:
=FILTER(A2:C13, B2:B13=F1, "No results")
Tofauti na kipengele cha Kichujio cha Excel, chaguo la kukokotoa halifanyi mabadiliko yoyote kwenye data asili. Hutoa rekodi zilizochujwa kwenye safu inayoitwa ya kumwagika (E4:G7 katika picha ya skrini iliyo hapa chini), kuanzia kwenye kisanduku ambapo fomula imeingizwa:
Ikiwa hakuna rekodi. kulingana na vigezo vilivyoainishwa, fomula inarudisha thamani uliyoweka if_empty hoja, "Hakuna matokeo" katika mfano huu:
Ikiwa ungependa kurejesha chochote katika kesi hii, basi toa mfuatano tupu ("") kwa hoja ya mwisho:
=FILTER(A2:C13, B2:B13=F1, "")
Ikiwa data yako itapangwa mlalo kutoka kushoto kwenda kulia kama inavyoonyeshwa kwenye picha ya skrini iliyo hapa chini, kipengele cha FILTER kitafanya kazi vizuri pia. Hakikisha tu kuwa umefafanua masafa yanayofaa kwa safu na inajumuisha hoja, ili safu chanzo na safu ya Boolean ziwe na upana sawa:
=FILTER(B2:M4, B3:M3= B7, "No results")
Kitendaji cha Excel FILTER - madokezo ya matumizi
Ili kuchuja vyema katika Excel kwa kutumia fomula, hapa kuna mambo kadhaa muhimu ya kuzingatia:
- Kitendaji cha FILTER humwaga matokeo kiotomatiki kiwima au kimlalo kwenye lahakazi, kulingana na jinsi data yako asili inavyopangwa. Kwa hivyo, tafadhali hakikisha kuwa kila wakati una visanduku tupu vya kutosha chini na kulia, vinginevyo utapata hitilafu ya #SPILL.
- Matokeo ya chaguo za kukokotoa za Excel FILTER yanabadilika, kumaanisha yanasasishwa kiotomatiki thamani zinapoingia. mabadiliko ya awali ya seti ya data. Hata hivyo, safu inayotolewa kwa hoja ya safu haijasasishwa maingizo mapya yanapoongezwa kwenye data chanzo. Ikiwa ungependa safu ibadilishe ukubwa kiotomatiki, basi ibadilishe hadi jedwali la Excel na uunde fomula zilizo na marejeleo yaliyopangwa, au uunde safu dhabiti iliyopewa jina.
Jinsi ya kuchuja katika Excel -mifano ya fomula
Kwa kuwa sasa unajua jinsi fomula ya msingi ya kichujio cha Excel inavyofanya kazi, ni wakati wa kupata maarifa kuhusu jinsi inavyoweza kupanuliwa ili kutatua kazi ngumu zaidi.
Chuja kwa kutumia vigezo vingi (NA mantiki)
Ili kuchuja data yenye vigezo vingi, unatoa vielezi viwili au zaidi vya kimantiki kwa hoja ya jumuisha :
FILTER(safu, ( fungu1= vigezo1) * ( fungu2= vigezo2), "Hakuna matokeo")Uendeshaji wa kuzidisha huchakata safu kwa NA mantiki , kuhakikisha kwamba ni rekodi zinazotimiza vigezo vyote pekee ndizo zinazorejeshwa. Kitaalam, inafanya kazi kwa njia hii:
Tokeo la kila usemi wa kimantiki ni safu ya maadili ya Boolean, ambapo TRUE ni sawa na 1 na FALSE hadi 0. Kisha, vipengele vya safu zote katika nafasi sawa huzidishwa. . Kwa kuwa kuzidisha kwa sufuri daima hutoa sifuri, ni vitu ambavyo vigezo vyote ni TRUE pekee ndivyo vinavyoingia kwenye safu inayotokezwa, na kwa hivyo ni vitu hivyo pekee ndivyo vinavyotolewa.
Mifano iliyo hapa chini inaonyesha fomula hii ya jumla ikifanya kazi.
Mfano 1. Chuja safu wima nyingi katika Excel
Tukipanua fomula yetu ya msingi ya Excel FILTER mbele kidogo, hebu tuchuje data kwa safuwima mbili: Kundi (safu wima B) na Washindi (safu wima C).
Kwa hili, tunaweka vigezo vifuatavyo: andika jina la kikundi lengwa katika F2 ( vigezo1 ) na idadi ya chini zaidi inayohitajika yainashinda katika F3 ( vigezo2 ).
Ikizingatiwa kuwa data chanzo chetu iko katika A2:C13 ( safu ), vikundi viko katika B2:B13 ( fungu1 ) na ushindi upo katika C2:C13 ( range2 ), fomula inachukua fomu hii:
=FILTER(A2:C13, (B2:B13=F2) * (C2:C13>=F3), "No results")
Kwa matokeo, unapata orodha ya wachezaji. katika kundi A ambao wamepata ushindi mara 2 au zaidi:
Mfano 2. Chuja data kati ya tarehe
Kwanza, ikumbukwe kwamba haiwezekani kuunda fomula ya jumla ya kuchuja kwa tarehe katika Excel. Katika hali tofauti, utahitaji kujenga vigezo tofauti, kulingana na ikiwa unataka kuchuja kwa tarehe maalum, kwa mwezi, au kwa mwaka. Madhumuni ya mfano huu ni kuonyesha mbinu ya jumla.
Kwa sampuli yetu ya data, tunaongeza safu wima moja iliyo na tarehe za ushindi wa mwisho (safu wima D). Na sasa, tutatoa ushindi uliotokea katika kipindi mahususi, tuseme kati ya Mei 17 na Mei 31.
Tafadhali kumbuka kuwa katika kesi hii, vigezo vyote viwili vinatumika kwa safu sawa:
=FILTER(A2:D13, (D2:D13>=G2) * (D2:D13<=G3), "No results")
Ambapo G2 na G3 ndizo tarehe za kuchuja kati ya.
Chuja kwa vigezo vingi (AU mantiki)
Ili kutoa data kulingana na hali nyingi AU, pia unatumia misemo yenye mantiki kama inavyoonyeshwa kwenye mifano iliyotangulia, lakini badala ya kuzidisha, unaziongeza. Wakati safu za Boolean zilizorejeshwa na misemo zinafupishwa, safu inayotokana itakuwa na 0 kwa maingizo ambayo hayakidhi vigezo vyovyote (yaani.vigezo ni FALSE), na maingizo kama haya yatachujwa. Maingizo ambayo angalau kigezo kimoja ni TRUE yatatolewa.
Hii hapa ni fomula ya jumla ya kuchuja safu kwa mantiki ya AU:
FILTER(safu, ( fungu1= vigezo1) + ( fungu2= vigezo2), "Hakuna matokeo")Kwa mfano, hebu tutoe orodha ya wachezaji ambao wana hii au hiyo idadi ya walioshinda.
Ikizingatiwa kuwa data chanzo iko katika A2:C13, ushindi upo katika C2:C13, na nambari za ushindi zinazovutia ziko F2 na F3, fomula ingeenda kama ifuatavyo:
=FILTER(A2:C13, (C2:C13=F2) + (C2:C13=F3), "No results")
Kwa matokeo, unajua ni wachezaji gani wameshinda michezo yote (4) na ambao hawajashinda mchezo wowote (0):
Chuja kulingana na vigezo vingi NA na vile vile AU
Katika hali unapohitaji kutumia aina zote mbili za vigezo, kumbuka sheria hii rahisi: unganisha kigezo cha AND chenye kinyota (*) na AU kigezo cha kuongeza saini (+).
Kwa mfano, kurudisha orodha ya wachezaji ambao wana idadi fulani ya ushindi (F2) NA wamo katika kundi lililotajwa ama E2 AU E3, tengeneza msururu ufuatao wa kimantiki. maneno:
=FILTER(A2:C13, (C2:C13=F2) * ((B2:B13=E2) + (B2:B13=E3)), "No results")
Na utapata matokeo yafuatayo:
Jinsi ya kuchuja nakala katika Excel
Unapofanya kazi na laha kubwa za kazi au kuchanganya data kutoka vyanzo tofauti, mara nyingi kuna uwezekano kwamba baadhi ya nakala zinaweza kuingia kisiri.
Ikiwa unatafuta kuchuja rudufu na dondoovitu vya kipekee, kisha utumie chaguo la kukokotoa la UNIQUE kama ilivyoelezwa katika mafunzo yaliyounganishwa hapo juu.
Ikiwa lengo lako ni kuchuja nakala , yaani kutoa maingizo yanayotokea zaidi ya mara moja, basi tumia kitendakazi cha FILTER pamoja na COUNTIFS.
Wazo ni kupata hesabu za matukio kwa rekodi zote na kutoa zile kubwa kuliko 1. Ili kupata hesabu, unatoa masafa sawa kwa kila masafa_ya_vigezo / vigezo jozi ya COUNTIFS kama hii:
FILTER( safu, COUNTIFS( safu1, safu1, safu2, column2)>1, "Hakuna matokeo")Kwa mfano, ili kuchuja nakala mlalo kutoka kwa data iliyo katika A2:C20 kulingana na thamani katika safu wima zote 3, hii hapa ni fomula ya kutumia:
=FILTER(A2:C20, COUNTIFS(A2:A20, A2:A20, B2:B20, B2:B20, C2:C20, C2:C20)>1, "No results")
Kidokezo. Ili kuchuja nakala kulingana na thamani katika safu wima muhimu , jumuisha safu wima hizo mahususi pekee katika chaguo za kukokotoa za COUNTIFS.
Jinsi ya kuchuja nafasi zilizoachwa wazi katika Excel
Mfumo wa kuchuja seli tupu, kwa hakika, ni tofauti ya fomula ya Excel FILTER yenye vigezo vingi NA. Katika kesi hii, tunaangalia ikiwa safu wima zote (au mahususi) zina data ndani yake na hatujumuishi safu mlalo ambazo angalau kisanduku kimoja hakina kitu. Ili kutambua visanduku visivyo tupu, unatumia opereta "si sawa na" () pamoja na mfuatano tupu ("") kama hii:
FILTER(array, ( column1 "") * ( safu wima2 =""), "Hakuna matokeo")Na chanzo cha data katika A2:C12, ili kuchuja safu mlaloiliyo na seli moja au zaidi tupu, fomula ifuatayo imeingizwa katika E3:
Chuja visanduku vilivyo na maandishi mahususi
Ili kutoa visanduku vilivyo na maandishi fulani, wewe inaweza kutumia kitendakazi cha FILTER pamoja na kisanduku cha kawaida Ikiwa kisanduku kina fomula:
FILTER(safu, ISNUMBER(SEARCH(" text ", fungu )), "Hakuna matokeo")Hivi ndivyo inavyofanya kazi:
- Kitendo cha KUTAFUTA hutafuta mfuatano maalum wa maandishi katika safu fulani na kurejesha nambari (nafasi ya herufi ya kwanza) au #VALUE! hitilafu (maandishi hayajapatikana).
- Kitendo cha kukokotoa cha ISNUMBER hubadilisha nambari zote kuwa TRUE na hitilafu hadi FALSE na kupitisha safu ya Boolean inayotokana na jumuisha hoja ya chaguo za kukokotoa za FILTER.
Kwa mfano huu, tumeongeza majina ya mwisho ya wachezaji katika B2:B13, tukaandika sehemu ya jina tunalotaka kupata katika G2, na kisha kutumia fomula ifuatayo chuja data:
=FILTER(A2:D13, ISNUMBER(SEARCH(G2, B2:B13)), "No results")
Kutokana na hilo, fomula hurejesha majina mawili ya ukoo yaliyo na "han":
Chuja na ukokotoe. (Jumla, Wastani, Min, Max, n.k.)
Jambo la kupendeza kuhusu kitendakazi cha Excel FILTER ni kwamba haiwezi tu kutoa maadili kwa kutumia masharti, lakini pia kufupisha data iliyochujwa. Kwa hili, changanya FILTER na vitendaji vya ujumlisho kama vile SUM, WASTANI, COUNT, MAX au MIN.
Kwa mfano, ili kujumlisha data ya kikundi mahususi katika F1, tumia zifuatazo.formula:
Jumla ya ushindi:
=SUM(FILTER(C2:C13, B2:B13=F1, 0))
Wastani wa ushindi:
=AVERAGE(FILTER(C2:C13, B2:B13=F1, 0))
Ushindi wa juu zaidi:
=MAX(FILTER(C2:C13, B2:B13=F1, 0))
Kiwango cha chini cha ushindi:
=MIN(FILTER(C2:C13, B2:B13=F1, 0))
Tafadhali zingatia kwamba, katika fomula zote, tunatumia sufuri kwa hoja ya if_empty , ili fomula ziweze rudisha 0 ikiwa hakuna maadili yanayokidhi vigezo vinavyopatikana. Kutoa maandishi yoyote kama vile "Hakuna matokeo" kunaweza kusababisha hitilafu ya #VALUE, ambayo ni jambo la mwisho unalotaka :)
fomula ya FILTER nyeti kwa kesi
Mfumo wa kawaida wa KUCHUJA wa Excel hauhisi ukubwa wa herufi, kumaanisha kuwa haileti tofauti kati ya herufi ndogo na kubwa. Ili kutofautisha hali ya maandishi, weka kitendakazi EXACT katika hoja ya jumuisha . Hii italazimisha FILTER kufanya jaribio la kimantiki kwa njia nyeti sana:
FILTER(safu, EXACT( fungu , vigezo ), "Hakuna matokeo")Tuseme , una vikundi vyote viwili A na a na ungependa kutoa rekodi ambapo kikundi ni herufi ndogo "a". Ili kuifanya, tumia fomula ifuatayo, ambapo A2:C13 ndio data chanzo na B2:B13 ni vikundi vya kuchuja:
=FILTER(A2:C13, EXACT(B2:B13, "a"), "No results")
Kama kawaida, unaweza kuingiza kikundi lengwa ndani. kisanduku kilichobainishwa awali, sema F1, na utumie rejeleo hilo la kisanduku badala ya maandishi yenye msimbo mgumu:
=FILTER(A2:C13, EXACT(B2:B13, F1), "No results")
Jinsi ya KUCHUJA data na kurudisha safu wima mahususi pekee
Kwa sehemu kubwa, kuchuja safu wima zote kwa fomula moja ndiko watumiaji wa Excel wanataka. Lakini ikiwa jedwali lako la chanzo lina makumi au