Taarifa ya Excel IF ya kulinganisha maandishi kwa sehemu (kadi ya pori)

  • Shiriki Hii
Michael Brown

Jedwali la yaliyomo

Je, unajaribu kuunda taarifa ya IF na maandishi ya kadi-mwitu, lakini inashindikana kila wakati? Shida haiko katika fomula yako lakini kwenye chaguo la kukokotoa lenyewe - Excel IF haitumii herufi za kadi-mwitu. Hata hivyo, kuna njia ya kuifanya ifanye kazi kwa ulinganifu wa maandishi, na somo hili litakufundisha jinsi gani.

Wakati wowote unapotaka kutekeleza ulinganishaji wa sehemu au wa kutatanisha katika Excel, suluhu ya dhahiri zaidi ni kutumia kadi za mwitu. Lakini vipi ikiwa kitendakazi mahususi ambacho unahitaji kutumia hakiauni herufi za wildcards? Kwa kusikitisha, Excel IF ni mojawapo ya kazi kama hizo. Hii inakatisha tamaa hasa ikizingatiwa kwamba utendakazi zingine " zenye masharti" kama vile COUNTIF, SUMIF, na AVERAGEIFS hufanya kazi na kadi-mwitu vizuri kabisa.

Kwa bahati nzuri, sio kikwazo kinachoweza kusimamisha mtumiaji mbunifu wa Excel :) Kwa kuchanganya IF pamoja na vitendaji vingine, unaweza kuilazimisha kutathmini ulinganifu kiasi na kupata mbadala mzuri wa fomula ya kadi-mwitu ya Excel IF.

    Kwa nini Excel IF inafanya kazi na wildcard haifanyi kazi

    Katika sampuli ya jedwali hapa chini, ukidhania kuwa unataka kuangalia kama vitambulisho katika safu wima ya kwanza vina herufi "A". Ikipatikana - onyesha "Ndiyo" katika safu wima B, ikiwa sivyo - onyesha "Hapana".

    Inaonekana kama kujumuisha maandishi ya kadi-mwitu katika jaribio la kimantiki litakuwa suluhisho rahisi:

    =IF(A2="*a*","Yes", "No")

    Lakini cha kusikitisha haifanyi kazi. Fomula inarejesha "Hapana" kwa seli zote, hata zile zilizo na "A":

    Kwa ninitaarifa ya wildcard IF imeshindwa? Kutoka kwa mwonekano wote, Excel haitambui kadi-mwitu zinazotumiwa na ishara sawa au waendeshaji wengine kimantiki. Ukiangalia kwa makini orodha ya vitendaji vinavyounga mkono kadi-mwitu, utagundua kuwa sintaksia yao inachukua maandishi ya kadi-mwitu kuonekana moja kwa moja kwenye hoja kama hii:

    =COUNTIF(A2:A10, "*a*")

    Excel IF ina maandishi machache 7>

    Sasa kwa kuwa unajua sababu kwa nini fomula ya wildcard IF imeshindwa, hebu tujaribu kujua jinsi ya kuifanya ifanye kazi. Kwa hili, tutapachika tu chaguo la kukokotoa ambalo linakubali kadi-mwitu katika jaribio la kimantiki la IF, yaani kazi ya COUNTIF:

    IF(COUNTIF( seli , "* text * "), value_if_true, value_if_false)

    Kwa mbinu hii, IF haina tatizo la kuelewa kadi-mwitu na inabainisha kikamilifu visanduku vilivyo na "A" au "a" (kwa kuwa COUNTIF si nyeti kwa kadiri):

    =IF(COUNTIF(A2, "*a*"),"Yes", "No")

    Mfumo huu huenda kwa B2, au kisanduku kingine chochote katika safu mlalo ya 2, na kisha unaweza kuiburuta hadi kwenye visanduku vingi inavyohitajika:

    Suluhisho hili pia linaweza kutumika kupata mifuatano ya muundo maalum . Kwa kuchukulia kuwa vitambulisho vilivyo na vikundi 2 vya herufi 2 pekee vilivyotenganishwa na kistari ni halali, unaweza kutumia "??-??" mfuatano wa wildcard ili kuwatambua:

    =IF(COUNTIF(A2, "??-??"), "Valid", "")

    Jinsi fomula hii inavyofanya kazi:

    Kwa jaribio la kimantiki la KAMA, tunatumia chaguo la kukokotoa COUNTIF ambalo huhesabu idadi ya seli zinazolingana na kadi-mwitu iliyobainishwakamba. Kwa kuwa anuwai ya vigezo ni kisanduku kimoja (A2), matokeo huwa 1 kila wakati (kulingana kunapatikana) au 0 (kulingana hakupatikani). Ikizingatiwa kuwa 1 ni sawa na TRUE na 0 kwa FALSE, fomula inarejesha "Halali" (thamani_kama_kweli) wakati hesabu ni 1 na mfuatano usio na kitu (thamani_kama_sivyo) wakati hesabu ni 0.

    IF ISNUMBER SEARCH fomula kwa nusu. mechi

    Njia nyingine ya kulazimisha Excel IF kufanya kazi kwa ulinganifu wa maandishi ni kujumuisha kipengele cha FIND au TAFUTA katika jaribio la kimantiki. Tofauti ni kwamba FIND ni nyeti kwa herufi ilhali SEARCH sio nyeti.

    Kwa hivyo, kulingana na ikiwa unataka kutibu herufi ndogo na kubwa kama herufi sawa au tofauti, mojawapo ya fomula hizi itafanya kazi vizuri:

    Haijalishi fomula ya ulinganifu kiasi:

    IF(ISNUMBER(SEARCH(" maandishi ", seli )), value_if_true, value_if_false )

    fomula nyeti kwa kesi kwa ulinganifu kiasi:

    IF(ISNUMBER(TAFUTA(" maandishi ", seli )), value_if_true, value_if_false )

    Kwa vile vipengele vyote viwili vimeundwa kutekeleza aina ya "kisanduku kilicho na" inayolingana, kadi-mwitu hazihitajiki kabisa katika kesi hii.

    Kwa mfano, ili kugundua vitambulisho vilivyo na "A" au "a" , fomula ni:

    =IF(ISNUMBER(SEARCH("A", A2)), "Yes", "No")

    Kutafuta tu neno kubwa "A" na kupuuza "a", fomula ni:

    =IF(ISNUMBER(FIND("A", A2)), "Yes", "No")

    Katika B6 katika picha ya skrini iliyo hapa chini, unaweza kuona tofauti katika matokeo:

    Jinsi fomula hii inavyofanya kazi:

    Katika moyo wafomula, kuna mchanganyiko wa ISNUMBER na TAFUTA (au TAFUTA):

    ISNUMBER(SEARCH("A", A2))

    Kitendaji cha TAFUTA hutafuta maandishi maalum ("A" katika mfano huu) na kurudisha nafasi yake ndani kamba katika A2. Maandishi yasipopatikana, hitilafu ya #VALUE itarejeshwa. Kwa vile SEARCH na FIND zote mbili zimeundwa kutekeleza aina ya "kisanduku kilicho na" inayolingana, kadi-mwitu hazihitajiki kabisa katika kesi hii.

    Chaguo za kukokotoa za ISNUMBER hubadilisha nambari kuwa TRUE na thamani nyingine yoyote ikijumuisha hitilafu kuwa FALSE. . Thamani ya kimantiki huenda moja kwa moja kwenye jaribio la kimantiki la IF. Kwa upande wetu, A2 ina "A", kwa hivyo ISNUMBER inarejesha TRUE:

    IF(TRUE, "Yes", "No")

    Kama matokeo, IF hurejesha thamani iliyowekwa kwa hoja ya value_if_true , ambayo ni "Ndiyo".

    Excel IF OR statement with wildcards

    Je, unahitaji kutambua visanduku vilivyo na mojawapo ya mifuatano ya maandishi ya wildcard? Katika hali hii, unaweza kuchanganya kauli ya kawaida ya IF AU na fomula ya COUNTIF au ISNUMBER SEARCH iliyojadiliwa hapo juu.

    Kwa mfano, kutafuta "aa" AU "bb" katika A2 ukipuuza herufi na kurejesha " Ndiyo" ikiwa mojawapo itapatikana, tumia mojawapo ya fomula hizi:

    =IF(OR(ISNUMBER(SEARCH("aa", A2)), ISNUMBER(SEARCH("bb", A2))), "Yes", "")

    au

    =IF(OR(COUNTIF(A2, "*aa*"), COUNTIF(A2, "*bb*")), "Yes", "")

    Kuongeza vipengele viwili vya kukokotoa COUNTIF pia kutafanya kazi. Katika hali hii, ishara ya kuongeza hufanya kazi kama opereta AU:

    =IF(COUNTIF(A3, "*aa*") + COUNTIF(A3, "*bb*"), "Yes", "")

    Badala ya minyororo ya kadi-mwitu ya kuweka misimbo katika fomula, unaweza kuziingiza katika visanduku tofauti, sema D2 na F2, kama inavyoonyeshwa. kwenye skrini hapa chini. Tafadhali kumbuka kuwa hayamarejeleo ya seli yamefungwa kwa ishara ya $ ili fomula inakili ipasavyo kwenye visanduku vilivyo hapa chini:

    =IF(OR(COUNTIF(A2, "*"&$D$2&"*"), COUNTIF(A2, "*"&$F$2&"*")), "Yes", "")

    Fomula zilizo hapo juu hufanya kazi vizuri kwa mechi 2 zisizo kamili. , lakini ikiwa unatafuta 3 au zaidi, zinaweza kuwa ndefu sana. Katika hali hii, inatosha kukabili kazi kwa njia tofauti:

    Toa vifungu vidogo vingi kwa kitendakazi cha SEARCH katika safu isiyobadilika, hesabu nambari zilizorejeshwa, na uangalie ikiwa matokeo ni makubwa kuliko sufuri (ambayo itamaanisha. kwamba angalau moja ya kamba ndogo ikipatikana):

    =IF(COUNT(SEARCH({"aa","bb"}, A2))>0, "Yes", "")

    Kwa njia hii, utapata tokeo lile lile kwa fomula iliyoshikana zaidi:

    Excel IF AND formula with wildcards

    Unapotaka kuangalia kama kisanduku kina kamba ndogo mbili au zaidi tofauti, njia rahisi ni kutumia chaguo la kukokotoa COUNTIFS na kadi-mwitu kwa jaribio la kimantiki.

    Tuseme unataka kupata visanduku kwenye safu wima A ambavyo vina "b" NA "2". Ili kuifanya, tumia "*b*" na "*2*" kwa vigezo vya COUNTIFS na A2 kwa masafa ya vigezo:

    =IF(COUNTIFS(A2, "*b*", A2, "*2*"), "Yes", "")

    Njia nyingine ni kutumia IF NA fomula pamoja. kwa ISNUMBER SEARCH:

    =IF(AND(ISNUMBER(SEARCH("b", A2)), ISNUMBER(SEARCH("2", A2))), "Yes", "")

    Ingawa hatujumuishi herufi zozote za kadi-mwitu katika fomula hii, inafanya kazi kama kutafuta mifuatano miwili ya kadi-mwitu ("*b*" na "*2*" ) katika seli moja.

    Bila shaka, hakuna kinachokuzuia kuingiza thamani za utafutaji katika visanduku vilivyobainishwa awali, D2 na F2 kwa upande wetu, na kusambazamarejeleo ya kisanduku kwa fomula:

    =IF(AND(ISNUMBER(SEARCH($D$2, A2)), ISNUMBER(SEARCH($F$2, A2))), "Yes", "")

    Ikiwa unapendelea kutumia fomula fupi zaidi popote inapowezekana, basi unaweza kupenda vyema mbinu ya kudumu ya safu. Fomula ya IF COUNT SEARCH ni kama ilivyokuwa katika mfano uliopita, lakini kwa sababu wakati huu masharti yote mawili lazima yaonekane katika A2, tunaangalia kama hesabu ni sawa na 2:

    =IF(COUNT(SEARCH({"b","2"}, A2))=2, "Yes", "")

    Hizi ndizo mbinu kuu za kutumia wildcard katika taarifa ya IF katika Excel. Ikiwa unajua masuluhisho mengine yoyote, watumiaji wengine hakika watathamini ikiwa utashiriki uzoefu wako katika maoni. Ninakushukuru kwa kusoma na natumai kukuona kwenye blogu yetu wiki ijayo!

    Fanya mazoezi ya kupakuliwa kwa kitabu cha kazi

    mifano ya fomula za Excel IF wildcard (.xlsx file)

    Michael Brown ni mpenda teknolojia aliyejitolea na mwenye shauku ya kurahisisha michakato changamano kwa kutumia zana za programu. Akiwa na uzoefu wa zaidi ya muongo mmoja katika tasnia ya teknolojia, ameboresha ujuzi wake katika Microsoft Excel na Outlook, pamoja na Majedwali ya Google na Hati. Blogu ya Michael imejitolea kushiriki maarifa na ujuzi wake na wengine, kutoa vidokezo na mafunzo ambayo ni rahisi kufuata ili kuboresha tija na ufanisi. Iwe wewe ni mtaalamu aliyebobea au umeanza, blogu ya Michael inatoa maarifa muhimu na ushauri wa vitendo ili kupata manufaa zaidi kutoka kwa zana hizi muhimu za programu.