Excel IF yfirlýsing fyrir textasamsvörun að hluta (algildisstákn)

  • Deildu Þessu
Michael Brown

Ertu að reyna að búa til IF-yfirlýsingu með algildistexta, en það mistekst í hvert skipti? Vandamálið er ekki í formúlunni þinni heldur í aðgerðinni sjálfri - Excel IF styður ekki algildisstafi. Hins vegar er leið til að fá það til að virka fyrir textasamsvörun að hluta og þessi kennsla mun kenna þér hvernig.

Þegar þú vilt framkvæma hluta- eða óljós samsvörun í Excel, er augljósasta lausnin að nota jokertákn. En hvað ef tiltekin aðgerð sem þú þarft að nota styður ekki jokerstafi? Því miður er Excel IF ein af slíkum aðgerðum. Þetta eru sérstaklega vonbrigði í ljósi þess að aðrar „skilyrtar“ aðgerðir eins og COUNTIF, SUMIF og AVERAGEIFS virka með algildisstöfum fullkomlega vel.

Sem betur fer er það ekki hindrunin sem getur stöðvað skapandi Excel notanda :) Með því að sameina IF með öðrum aðgerðum geturðu þvingað það til að meta samsvörun að hluta og fá góðan valkost við Excel IF algildisformúlu.

    Hvers vegna Excel IF fall með algildisstaf virkar ekki

    Í sýnistöflunni hér að neðan, að því gefnu að þú viljir athuga hvort auðkennin í fyrsta dálki innihaldi bókstafinn "A". Ef það finnst - sýndu "Já" í dálki B, ef ekki - sýndu "Nei".

    Það virðist vera auðveld lausn að taka með algildistexta í rökrétta prófið:

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

    En því miður virkar það ekki. Formúlan skilar „Nei“ fyrir allar frumurnar, jafnvel þær sem innihalda „A“:

    Af hverjuIF yfirlýsing með algildi mistakast? Frá öllum útlitum, Excel þekkir ekki jokertákn sem notuð eru með jöfnunarmerki eða öðrum rökrænum aðgerðum. Þegar þú skoðar nánar listann yfir aðgerðir sem styðja algildisstafi muntu taka eftir því að setningafræði þeirra gerir ráð fyrir að algildistexti birtist beint í rifrildi eins og þessari:

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

    Excel IF inniheldur hlutatexta

    Nú þegar þú veist ástæðuna fyrir því að algildisformúla IF mistekst, skulum reyna að finna út hvernig á að fá það til að virka. Til þess munum við einfaldlega fella inn fall sem tekur við algildisstöfum í rökréttu prófinu IF, nefnilega COUNTIF fallið:

    IF(COUNTIF( cell, "* texti* "), value_if_true, value_if_false)

    Með þessari nálgun á IF ekki í neinum vandræðum með að skilja jokertákn og auðkennir gallalaust hólf sem innihalda annaðhvort "A" eða "a" (þar sem COUNTIF er ekki há- og hástafaviðkvæmt):

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

    Þessi formúla fer í B2, eða hvaða hólf sem er í röð 2, og síðan geturðu dregið hana niður í eins marga reiti og þarf:

    Þessi lausn er einnig hægt að nota til að finna strengi af ákveðnu mynstri . Að því gefnu að aðeins auðkennin sem samanstanda af 2 hópum af 2 stöfum aðskilin með bandstrik séu gild, geturðu notað "??-??" algildisstrengur til að auðkenna þá:

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

    Hvernig þessi formúla virkar:

    Fyrir rökrétt próf af EF, notum við COUNTIF aðgerðina sem telur fjölda frumna sem passa við tilgreint algildistrengur. Þar sem viðmiðunarsviðið er einn reiti (A2), er niðurstaðan alltaf 1 (samsvörun finnst) eða 0 (samsvörun finnst ekki). Í ljósi þess að 1 jafngildir TRUE og 0 FALSE, þá skilar formúlan „Gildt“ (gildi_ef_satt) þegar talningin er 1 og tómum streng (gildi_ef_ósatt) þegar talningin er 0.

    IF ISNUMBER SEARCH formúlu fyrir hluta samsvarar

    Önnur leið til að þvinga Excel IF til að virka fyrir textasamsvörun að hluta er að hafa annað hvort FIND eða SEARCH aðgerðina í rökréttu prófinu. Munurinn er sá að FIND er hástafanæm á meðan SEARCH er það ekki.

    Þannig að, eftir því hvort þú vilt meðhöndla lágstafi og hástafi sem sömu eða mismunandi stafi, mun ein af þessum formúlum virka vel:

    Hástafaónæmir formúla fyrir samsvörun að hluta:

    IF(ISNUMBER(SEARCH(" texti", cell)), value_if_true, value_if_false )

    Hástafir og hástafir formúla fyrir samsvörun að hluta:

    IF(ISNUMBER(FIND(" texti", reitur)), value_if_true, value_if_false )

    Þar sem báðar aðgerðirnar eru hannaðar til að framkvæma samsvörun „frumu inniheldur“, er í raun ekki þörf á algildisstöfum í þessu tilfelli.

    Til dæmis til að greina auðkenni sem innihalda „A“ eða „a“ , formúlan er:

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

    Til að leita aðeins að stóru „A“ og hunsa „a“ er formúlan:

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

    Í B6 á skjámyndinni hér að neðan geturðu séð muninn á niðurstöðunni:

    Hvernig þessi formúla virkar:

    Á hjarta afformúlunni, það er samsetning af ISNUMBER og SEARCH (eða FINNA):

    ISNUMBER(SEARCH("A", A2))

    SEARCH fallið leitar að tilgreindum texta ("A" í þessu dæmi) og skilar stöðu sinni innan strengur í A2. Ef textinn finnst ekki er #VALUE villa skilað. Þar sem bæði SEARCH og FIND eru hönnuð til að framkvæma samsvörun af „frumu inniheldur“, er í raun ekki þörf á jokertáknum í þessu tilfelli.

    ISNUMBER fallið breytir tölu í TRUE og hverju öðru gildi þar á meðal villu í FALSE . Rökfræðilega gildið fer beint í rökrétt próf IF. Í okkar tilviki inniheldur A2 "A", þannig að ISNUMBER skilar TRUE:

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

    Svo sem afleiðingin skilar IF gildinu fyrir value_if_true röksemdin, sem er "Já".

    Excel IF OR setning með algildisstöfum

    Þarftu að bera kennsl á reiti sem innihalda einn af algildistextastrengjum? Í þessu tilviki geturðu sameinað klassísku IF OR setninguna með COUNTIF eða ISNUMBER SEARCH formúlunni sem fjallað er um hér að ofan.

    Til dæmis, til að leita að "aa" EÐA "bb" í A2 með því að hunsa hástafina og skila " Já" ef annaðhvort finnst, notaðu eina af þessum formúlum:

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

    eða

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

    Að bæta við tveimur COUNTIF aðgerðum mun einnig virka. Í þessu tilviki virkar plúsmerkið eins og OR stjórnandinn:

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

    Í stað þess að harðkóða algildisstrengi í formúlunni geturðu sett þá inn í aðskildar reiti, segjum D2 og F2, eins og sýnt er. í skjáskotinu hér að neðan. Vinsamlegast athugaðu að þessarfrumutilvísanir eru læstar með $ tákninu þannig að formúlan afritast rétt í reitina hér að neðan:

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

    Ofgreindar formúlur virka vel fyrir 2 samsvörun að hluta , en ef þú ert að leita að 3 eða fleiri myndu þær verða of langar. Í þessu tilfelli er ástæða til að nálgast verkefnið á annan hátt:

    Settu marga undirstrengi til SEARCH fallsins í fylkisfasta, teldu tölurnar sem skilað er og athugaðu hvort niðurstaðan sé meiri en núll (sem myndi þýða að að minnsta kosti einn af undirstrengjunum ef hann finnst):

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

    Þannig færðu nákvæmlega sömu niðurstöðu með þéttari formúlu:

    Excel IF AND formúla með algildisstöfum

    Þegar þú vilt athuga hvort hólf innihaldi tvo eða fleiri mismunandi undirstrengi er auðveldasta leiðin að nota COUNTIFS fallið með algildum fyrir rökrétta prófið.

    Svo sem þú vilt finna frumur í dálki A sem innihalda bæði "b" OG "2". Til að gera það skaltu nota "*b*" og "*2*" fyrir viðmið COUNTIFS og A2 fyrir viðmiðunarsviðið:

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

    Önnur leið er að nota EF OG formúluna saman með ISNUMBER LEIT:

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

    Þó að við tökum enga algildisstafi með í þessari formúlu, þá virkar hún eins og að leita að tveimur algildisstrengjum ("*b*" og "*2*" ) í sama hólfinu.

    Auðvitað kemur ekkert í veg fyrir að þú slærð inn leitargildin í fyrirfram skilgreindum hólfum, D2 og F2 í okkar tilviki, ogreitinn vísar í formúluna:

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

    Ef þú vilt frekar nota þéttari formúlur þar sem það er mögulegt, þá gætirðu líkað betur við raðfylkinguna. IF COUNT SEARCH formúlan er mjög lík í fyrra dæminu, en vegna þess að í þetta skiptið verða báðir undirstrengirnir að koma fram í A2, athugum við hvort talan sé jöfn 2:

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

    Þetta eru helstu aðferðir við að nota jokertákn í IF yfirlýsingu í Excel. Ef þú þekkir einhverjar aðrar lausnir munu aðrir notendur vissulega þakka ef þú deilir reynslu þinni í athugasemdum. Ég þakka þér fyrir lesturinn og vonast til að sjá þig á blogginu okkar í næstu viku!

    Æfingabók til niðurhals

    Excel IF algildisformúludæmi (.xlsx skrá)

    Michael Brown er hollur tækniáhugamaður með ástríðu fyrir því að einfalda flókna ferla með hugbúnaðarverkfærum. Með meira en áratug af reynslu í tækniiðnaðinum hefur hann aukið færni sína í Microsoft Excel og Outlook, sem og Google Sheets og Docs. Blogg Michael er tileinkað því að deila þekkingu sinni og sérfræðiþekkingu með öðrum, veita auðveld ráð og leiðbeiningar til að bæta framleiðni og skilvirkni. Hvort sem þú ert vanur fagmaður eða byrjandi, þá býður blogg Michaels upp á dýrmæta innsýn og hagnýt ráð til að fá sem mest út úr þessum nauðsynlegu hugbúnaðarverkfærum.