Ішінара мәтін сәйкестігіне арналған Excel IF мәлімдемесі (қойылмалы таңба)

  • Мұны Бөлісіңіз
Michael Brown

Қойылмалы таңба мәтіні бар IF операторын құруға әрекеттеніп жатырсыз ба, бірақ ол әрқашан сәтсіз аяқталады ма? Мәселе формулаңызда емес, функцияның өзінде - Excel IF қойылмалы таңбаларды қолдамайды. Дегенмен, оны ішінара мәтін сәйкестендіру үшін жұмыс істеуге алудың жолы бар және бұл оқулық сізге қалай істеу керектігін үйретеді.

Excel бағдарламасында ішінара немесе анық емес сәйкестендіруді орындағыңыз келген кезде, ең айқын шешім болып табылады. қойылмалы таңбаларды пайдалану. Бірақ пайдалану қажет белгілі бір функция қойылмалы таңбаларды қолдамаса ше? Өкінішке орай, Excel IF осындай функциялардың бірі болып табылады. Бұл, әсіресе, COUNTIF, SUMIF және AVERAGEIFS сияқты басқа "шартты" функциялардың қойылмалы таңбалармен тамаша жұмыс істейтінін ескерсек, көңіл көншітпейді.

Бақытымызға орай, бұл креативті Excel пайдаланушысын тоқтата алатын кедергі емес :) IF біріктіру арқылы басқа функциялармен оны ішінара сәйкестікті бағалауға және Excel IF қойылмалы таңба формуласына жақсы балама алуға мәжбүрлей аласыз.

    Неге қойылмалы таңбалы Excel IF функциясы жұмыс істемейді

    Төмендегі үлгі кестеде бірінші бағандағы идентификаторларда «А» әрпі бар-жоғын тексергіңіз келсе. Егер табылса - В бағанында "Иә" көрсетіңіз, болмаса - "Жоқ" көрсетіңіз.

    Логикалық сынаққа қойылмалы таңба мәтінін қосу оңай шешім болар еді:

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

    Бірақ өкінішке орай ол жұмыс істемейді. Формула барлық ұяшықтар үшін, тіпті құрамында «А» бар ұяшықтар үшін «Жоқ» мәнін қайтарады:

    Негеқойылмалы IF мәлімдемесі сәтсіз аяқталды ма? Барлық көріністерден Excel теңдік белгісімен немесе басқа логикалық операторлармен пайдаланылатын қойылмалы таңбаларды танымайды. Қойылмалы таңбаларды қолдайтын функциялар тізімін мұқият қарап шықсаңыз, олардың синтаксисі келесідей аргументте тікелей көрінетін қойылмалы таңба мәтінін қабылдайтынын байқайсыз:

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

    Excel IF жартылай мәтінді қамтиды

    Енді IF қойылмалы таңбасының формуласының сәтсіздікке ұшырау себебін білетін болсаңыз, оны қалай жұмыс істеуге болатынын анықтауға тырысайық. Ол үшін біз жай ғана IF логикалық сынағында қойылмалы таңбаларды қабылдайтын функцияны, атап айтқанда COUNTIF функциясын ендіреміз:

    IF(COUNTIF( ұяшық, "* мәтін* "), мән_егер_шын, мән_егер_жалған)

    Бұл тәсілмен IF қойылмалы таңбаларды түсінуде еш қиындықсыз және құрамында "A" немесе "a" бар ұяшықтарды мінсіз анықтайды (COUNTIF регистрге сезімтал емес болғандықтан):

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

    Бұл формула B2 немесе 2-жолдағы кез келген басқа ұяшыққа өтеді, содан кейін оны қажетінше көптеген ұяшықтарға сүйреп апаруға болады:

    Бұл шешімді белгілі бір үлгінің жолдарын табу үшін де пайдалануға болады. Дефиспен бөлінген 2 таңбадан тұратын 2 топтан тұратын идентификаторлар ғана жарамды деп есептесеңіз, "??-???" оларды анықтау үшін қойылмалы таңбалар жолы:

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

    Бұл формула қалай жұмыс істейді:

    Логикалық тексеру үшін ЕГЕР, біз көрсетілген қойылмалы таңбаға сәйкес ұяшықтар санын есептейтін COUNTIF функциясын қолданамызжол. Шарт ауқымы бір ұяшық (A2) болғандықтан, нәтиже әрқашан 1 (сәйкестік табылды) немесе 0 (сәйкестік табылмады). 1 мәні ШЫН, ал 0 ЖАЛҒАН мәніне тең болатынын ескере отырып, сан 1 болғанда формула "Жарамды" (егер_шын_мән) мәнін және санау 0 болғанда бос жолды (егер_жалған_мән) қайтарады.

    Ішінара үшін IF ISNUMBER SEARCH формуласы сәйкестіктер

    Excel IF бағдарламасын жартылай мәтін сәйкестігі үшін жұмыс істеуге мәжбүрлеудің тағы бір жолы - логикалық сынаққа ТАБУ немесе ІЗДЕУ функциясын қосу. Айырмашылығы мынада: FIND регистрді ескереді, ал SEARCH емес.

    Сонымен, кіші және бас әріптерді бірдей немесе әртүрлі таңбалар ретінде қарастырғыңыз келетініне байланысты мына формулалардың бірі жұмыс істейді:

    Ішінара сәйкестікке арналған регистрді ескермейтін формуласы:

    ЕГЕР(ISNUMBER(SEARCH(" мәтін", ұяшық)), мән_егер_шын, мән_егер_жалған )

    Ішінара сәйкестікке арналған регистрге сезімтал формула:

    ЕГЕР(ISNUMBER(ТАБУ(" мәтін", ұяшық)), мән_егер_шын болса, мән_егер_жалған )

    Екі функция да "ұяшық бар" сәйкестік түрін орындау үшін жасалғандықтан, бұл жағдайда қойылмалы таңбалар қажет емес.

    Мысалы, құрамында "A" немесе "a" бар идентификаторларды анықтау үшін , формуласы:

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

    Тек «А» бас әріпін іздеу және «a» елемеу үшін формула:

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

    Төмендегі скриншоттағы B6-да нәтиженің айырмашылығын байқауға болады:

    Бұл формула қалай жұмыс істейді:

    жүрегіформулада ISNUMBER және SEARCH (немесе FIND) тіркесімі бар:

    ISNUMBER(SEARCH("A", A2))

    ІЗДЕУ функциясы көрсетілген мәтінді (осы мысалдағы "A") іздейді және оның орнын қайтарады. A2 форматындағы жол. Мәтін табылмаса, #VALUE қатесі қайтарылады. SEARCH және FIND екеуі де "ұяшық қамтылған" сәйкестік түрін орындау үшін жасалғандықтан, бұл жағдайда қойылмалы таңбалар қажет емес.

    ISNUMBER функциясы санды TRUE мәніне және кез келген басқа мәнді, соның ішінде қатені FALSE мәніне түрлендіреді. . Логикалық мән тікелей IF логикалық сынағына өтеді. Біздің жағдайда A2 «A» қамтиды, сондықтан ISNUMBER TRUE мәнін қайтарады:

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

    Нәтижесінде IF егер_шындық_мән аргументі үшін орнатылған мәнді қайтарады, ол "Иә".

    Excel IF OR операторы қойылмалы таңбалары бар

    Қойылмалы таңба мәтін жолдарының бірін қамтитын ұяшықтарды анықтау керек пе? Бұл жағдайда классикалық IF OR операторын жоғарыда қарастырылған COUNTIF немесе ISNUMBER Іздеу формуласымен біріктіруге болады.

    Мысалы, әріп регистрін елемей A2 ішінен "aa" НЕМЕСЕ "bb" іздеу және " қайтару" Иә» егер біреуі табылса, мына формулалардың бірін пайдаланыңыз:

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

    немесе

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

    Екі COUNTIF функциясын қосу да жұмыс істейді. Бұл жағдайда плюс белгісі НЕМЕСЕ операторы сияқты жұмыс істейді:

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

    Формуладағы қойылмалы таңба жолдарын қатты кодтаудың орнына, оларды бөлек ұяшықтарға енгізуге болады, мысалы, D2 және F2, көрсетілгендей. төмендегі скриншотта. Мыналарға назар аударыңызФормула төмендегі ұяшықтарға дұрыс көшірілуі үшін ұяшық сілтемелері $ белгісімен құлыпталған:

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

    Жоғарыдағы формулалар 2 жартылай сәйкестікте жақсы жұмыс істейді. , бірақ 3 немесе одан көп іздесеңіз, олар тым ұзақ болады. Бұл жағдайда тапсырмаға басқаша қарауға негіз бар:

    ІЗДЕУ функциясына массив тұрақтысында бірнеше ішкі жолдарды беріңіз, қайтарылған сандарды санаңыз және нәтиженің нөлден үлкен екенін тексеріңіз (бұл егер табылса, ішкі жолдардың кем дегенде біреуі):

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

    Осылайша, ықшам формуламен дәл осындай нәтиже аласыз:

    Excel IF ЖӘНЕ қойылмалы таңбалары бар формула

    Ұяшықта екі немесе одан да көп әртүрлі ішкі жолдар бар-жоғын тексергіңіз келсе, логикалық сынақ үшін COUNTIFS функциясын қойылмалы таңбалармен пайдаланудың ең оңай жолы.

    А бағанында "b" және "2" екеуін де қамтитын ұяшықтарды орналастырғыңыз келеді делік. Оны орындау үшін, COUNTIFS критерийлері үшін «*b*» және «*2*» және критерийлер ауқымы үшін A2 пайдаланыңыз:

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

    Басқа әдіс - ЕГЕР ЖӘНЕ формуласын бірге пайдалану. ISNUMBER SEARCH:

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

    Бұл формулаға қойылмалы таңбаларды қоспасақ та, ол екі қойылмалы таңба жолын («*b*» және «*2*») іздеу сияқты жұмыс істейді. ) бір ұяшықта.

    Әрине, алдын ала анықталған ұяшықтарға, біздің жағдайда D2 және F2 іздеу мәндерін енгізуге және жеткізуге ештеңе кедергі келтірмейді.ұяшық мына формулаға сілтеме жасайды:

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

    Егер мүмкіндігінше ықшам формулаларды пайдаланғыңыз келсе, онда массивтің тұрақты тәсілін ұнатуыңыз мүмкін. IF COUNT SEARCH формуласы алдыңғы мысалға өте ұқсас, бірақ бұл жолы екі ішкі жол да A2 форматында пайда болуы керек болғандықтан, біз санақтың 2-ге тең екенін тексереміз:

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

    Бұл Excel бағдарламасындағы IF операторында қойылмалы таңбаны қолданудың негізгі әдістері. Егер сіз басқа шешімдерді білсеңіз, тәжірибеңізді түсініктемелерде бөліссеңіз, басқа пайдаланушылар міндетті түрде бағалайды. Оқығаныңыз үшін алғыс айтамын және келесі аптада блогымызда көреміз деп үміттенемін!

    Жүктеп алуға арналған жұмыс кітабы

    Excel IF қойылмалы таңбасының формуласының мысалдары (.xlsx файлы)

    Майкл Браун - бағдарламалық құралдарды пайдалана отырып, күрделі процестерді жеңілдетуге құмарлығы бар арнайы технология әуесқойы. Технологиялық индустрияда он жылдан астам тәжірибесі бар ол Microsoft Excel және Outlook, сондай-ақ Google Sheets және Docs бағдарламаларында өз дағдыларын жетілдірді. Майклдың блогы өз білімі мен тәжірибесін басқалармен бөлісуге, өнімділік пен тиімділікті арттыруға арналған оңай орындалатын кеңестер мен оқулықтар беруге арналған. Сіз тәжірибелі кәсіпқой болсаңыз да, жаңадан бастаушы болсаңыз да, Майклдың блогы осы маңызды бағдарламалық құралдарды барынша пайдалану үшін құнды түсініктер мен практикалық кеңестер ұсынады.