Qismən mətn uyğunluğu üçün Excel IF ifadəsi (wildcard)

  • Bunu Paylaş
Michael Brown

Yol simvol mətni ilə IF bəyanatı yaratmağa çalışırsınız, lakin hər dəfə uğursuz olur? Problem sizin formulunuzda deyil, funksiyanın özündədir - Excel IF joker simvolları dəstəkləmir. Bununla belə, onu qismən mətn uyğunluğu üçün işə salmağın bir yolu var və bu dərslik sizə bunu necə öyrədəcək.

Excel-də qismən və ya qeyri-səlis uyğunluq etmək istədiyiniz zaman, ən bariz həll yolu budur. joker işarələrdən istifadə etmək. Bəs istifadə etməli olduğunuz xüsusi funksiya joker simvolları dəstəkləmirsə? Təəssüf ki, Excel IF belə funksiyalardan biridir. COUNTIF, SUMIF və AVERAGEIFS kimi digər "şərti" funksiyaların joker işarələrlə mükəmməl işlədiyini nəzərə alsaq, bu, xüsusilə məyusedicidir.

Xoşbəxtlikdən, bu, yaradıcı Excel istifadəçisini dayandıra biləcək maneə deyil :) IF-i birləşdirməklə digər funksiyalarla siz onu qismən uyğunluğu qiymətləndirməyə və Excel IF joker simvol düsturuna gözəl alternativ əldə etməyə məcbur edə bilərsiniz.

    Niyə joker işarəli Excel IF funksiyası işləmir

    Aşağıdakı nümunə cədvəlində, ilk sütundakı identifikatorların "A" hərfinin olub olmadığını yoxlamaq istədiyinizi fərz edin. Əgər tapılarsa - B sütununda "Bəli", yoxsa - "Xeyr"i göstərin.

    Deyəsən, məntiqi testə joker xarakterli mətni daxil etmək asan həll olacaq:

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

    Amma təəssüf ki, işləmir. Düstur bütün xanalar, hətta "A" olanlar üçün "Xeyr" qaytarır:

    Niyəjoker IF ifadəsi uğursuz oldu? Bütün görünüşlərdən Excel bərabər işarəsi və ya digər məntiqi operatorlarla istifadə edilən joker simvolları tanımır. Joker simvolları dəstəkləyən funksiyaların siyahısına daha yaxından nəzər saldıqda, onların sintaksisinin belə bir arqumentdə birbaşa görünmək üçün joker xarakterli mətnin nəzərdə tutulduğunu görəcəksiniz:

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

    Excel IF qismən mətn ehtiva edir

    İndi siz IF formulunun uğursuz olmasının səbəbini bildiyiniz üçün gəlin onu necə işə salacağımızı anlamağa çalışaq. Bunun üçün biz sadəcə IF-in məntiqi testində joker simvolları qəbul edən funksiyanı, yəni COUNTIF funksiyasını daxil edəcəyik:

    IF(COUNTIF( cell, "* mətn* "), dəyər_əgər_həqiqət, dəyər_əgər_yanlış)

    Bu yanaşma ilə IF-nin joker simvolları anlamaqda problemi yoxdur və "A" və ya "a" olan xanaları qüsursuz şəkildə müəyyən edir (çünki COUNTIF hərf-həssas deyil):

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

    Bu düstur B2 və ya 2-ci sətirdəki hər hansı digər xanaya gedir və siz onu lazım olan qədər xanaya dartıb saxlaya bilərsiniz:

    Bu həll xüsusi nümunənin sətirlərini tapmaq üçün də istifadə edilə bilər. Yalnız tire ilə ayrılmış 2 simvoldan ibarət 2 qrupdan ibarət ID-lərin etibarlı olduğunu fərz etsək, siz "??-???" onları müəyyən etmək üçün joker simvol:

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

    Bu düstur necə işləyir:

    Məntiqi test üçün ƏGƏR, biz göstərilən joker işarəyə uyğun gələn xanaların sayını hesablayan COUNTIF funksiyasından istifadə ediriksimli. Kriteriya diapazonu tək xana (A2) olduğundan nəticə həmişə 1 (uyğunluq tapılıb) və ya 0 (uyğunluq tapılmadı) olur. 1-in DOĞRU, 0-ın isə YANLIŞ-a bərabər olduğunu nəzərə alsaq, say 1 olduqda düstur "Etibarlı" (əgər_əgər_əgər_dəyər), say 0 olduqda isə boş sətir (dəyər_əgər_yanlış) qaytarır.

    ƏGƏR ISNUMBER AXTAR düsturu qismən matches

    Excel IF proqramını qismən mətn uyğunluğu üçün işləməyə məcbur etməyin başqa bir yolu məntiqi testə TAP və ya AXTAR funksiyasını daxil etməkdir. Fərq ondadır ki, SEARCH olmasa da, FIND böyük hərflərə həssasdır.

    Beləliklə, kiçik və böyük hərfləri eyni və ya fərqli simvollar kimi qəbul etmək istəməyinizdən asılı olaraq, bu düsturlardan biri işləyəcək:<3 Qismən uyğunluq üçün>

    böyük hərflərə həssas deyil düstur:

    ƏGƏR(ISNUMBER(SEARCH(" mətn ", xana )), dəyər_doğrudursa, dəyər_yanlış ) Qismən uyğunluq üçün

    böyük hərflərə həssas düstur:

    ƏGƏR(ISNUMA(FIND(" mətn ", xana )), dəyər_doğrudursa, dəyər_yanlış )

    Hər iki funksiya "hüceyrənin ehtiva etdiyi" uyğunluğu yerinə yetirmək üçün nəzərdə tutulduğundan, bu halda joker simvollara ehtiyac yoxdur.

    Məsələn, "A" və ya "a" olan identifikatorları aşkar etmək üçün , düstur belədir:

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

    Yalnız böyük "A" hərfini axtarmaq və "a"nı nəzərə almamaq üçün düstur:

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

    Aşağıdakı ekran görüntüsündə B6-da nəticədəki fərqi müşahidə edə bilərsiniz:

    Bu düstur necə işləyir:

    ürəyidüsturda ISNUMBER və AXTAR (və ya TAP) kombinasiyası var:

    ISNUMBER(SEARCH("A", A2))

    AXTAR funksiyası göstərilən mətni axtarır (bu misalda "A") və öz yerini qaytarır. A2-də sətir. Mətn tapılmadıqda, #VALUE xətası qaytarılır. Həm AXTAR, həm də TAP "xana ehtiva edən" uyğunluğu yerinə yetirmək üçün nəzərdə tutulduğuna görə, bu halda joker işarələrə ehtiyac yoxdur.

    ISNUMBER funksiyası rəqəmi TRUE və hər hansı digər dəyəri, o cümlədən xətanı YANLIŞa çevirir. . Məntiqi dəyər birbaşa İF-in məntiqi testinə keçir. Bizim vəziyyətimizdə A2 "A" ehtiva edir, ona görə də ISNUMBER TRUE qaytarır:

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

    Nəticədə IF əgər_əgər_doğrudur arqumenti üçün təyin edilmiş dəyəri qaytarır. "Bəli".

    Excel IF OR ifadəsi joker işarələrlə

    Cavablı mətn sətirlərindən birini ehtiva edən xanaları müəyyən etmək lazımdır? Bu halda, siz klassik IF OR ifadəsini yuxarıda müzakirə olunan COUNTIF və ya ISNUMBER AXTAR düsturu ilə birləşdirə bilərsiniz.

    Məsələn, hərf hərfinə məhəl qoymadan A2-də "aa" VEYA "bb" axtarışı etmək və " qaytarın" Bəli" hər ikisi tapılarsa, bu düsturlardan birini istifadə edin:

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

    və ya

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

    İki COUNTIF funksiyasının əlavə edilməsi də işləyəcək. Bu halda, üstəlik işarəsi OR operatoru kimi işləyir:

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

    Düsturda joker sətirləri sərt kodlaşdırmaq əvəzinə, onları göstərildiyi kimi ayrı-ayrı xanalara daxil edə bilərsiniz, deyək ki, D2 və F2 aşağıdakı ekran görüntüsündə. Diqqət yetirin ki, bunlarxana istinadları $ işarəsi ilə kilidlənir ki, formula aşağıdakı xanalara düzgün surətdə kopyalanır:

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

    Yuxarıdakı düsturlar 2 qismən uyğunluq üçün yaxşı işləyir , lakin 3 və ya daha çoxunu axtarırsınızsa, onlar çox uzanacaq. Bu halda, tapşırığa fərqli yanaşmağın əsas səbəbi var:

    Axtarış funksiyasına massiv sabitində çoxlu alt sətirlər təqdim edin, qaytarılan ədədləri sayın və nəticənin sıfırdan böyük olub olmadığını yoxlayın (bu o deməkdir ki, alt sətirlərdən ən azı birinin tapıldığı halda):

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

    Beləliklə, siz daha yığcam düsturla eyni nəticəni əldə edəcəksiniz:

    Excel IF AND joker işarəli düstur

    Xanada iki və ya daha çox müxtəlif alt sətirlərin olub-olmadığını yoxlamaq istədiyiniz zaman, ən asan yol məntiqi test üçün COUNTIFS funksiyasından istifadə etməkdir.

    Fərz edək ki, siz A sütununda həm "b" həm də "2" olan xanaları tapmaq istəyirsiniz. Bunu etmək üçün COUNTIFS meyarları üçün "*b*" və "*2*" və meyar diapazonu üçün A2 istifadə edin:

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

    Başqa bir yol ƏGƏR VƏ düsturunu birlikdə istifadə etməkdir. ISNUMBER SEARCH ilə:

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

    Bu düstura heç bir joker simvol daxil etməsək də, o, iki joker simvol ("*b*" və "*2*") axtarışı kimi işləyir. ) eyni xanada.

    Əlbəttə, əvvəlcədən təyin edilmiş xanalara, bizim vəziyyətimizdə D2 və F2-yə axtarış dəyərlərini daxil etməyə və təmin etməyə heç nə mane olmur.xana aşağıdakı düstura istinad edir:

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

    Mümkün olan yerdə daha yığcam düsturlardan istifadə etməyi üstün tutursunuzsa, massiv sabit yanaşmasını daha çox bəyənə bilərsiniz. IF COUNT SEARCH düsturu əvvəlki nümunəyə çox bənzəyir, lakin bu dəfə hər iki alt sətir A2-də görünməli olduğundan, saymanın 2-yə bərabər olub olmadığını yoxlayırıq:

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

    Bunlar Excel-də IF ifadəsində joker işarədən istifadə etməyin əsas üsullarıdır. Hər hansı digər həll yollarını bilirsinizsə, təcrübənizi şərhlərdə bölüşsəniz, digər istifadəçilər mütləq qiymətləndirəcəklər. Oxuduğunuz üçün sizə təşəkkür edirəm və sizi gələn həftə bloqumuzda görməyə ümid edirəm!

    Endirmək üçün məşq iş dəftəri

    Excel IF wildcard formul nümunələri (.xlsx faylı)

    Michael Brown proqram alətlərindən istifadə edərək mürəkkəb prosesləri sadələşdirməyə həvəsi olan xüsusi texnologiya həvəskarıdır. Texnologiya sənayesində on ildən artıq təcrübəyə malik olmaqla, o, Microsoft Excel və Outlook, həmçinin Google Cədvəl və Sənədlərdə bacarıqlarını mükəmməlləşdirib. Mayklın bloqu öz biliyini və təcrübəsini başqaları ilə bölüşməyə, məhsuldarlığı və səmərəliliyi artırmaq üçün asan izlənilən məsləhətlər və dərslikləri təqdim etməyə həsr olunub. İstər təcrübəli peşəkar, istərsə də yeni başlayan biri olmağınızdan asılı olmayaraq, Mayklın bloqu bu vacib proqram alətlərindən maksimum yararlanmaq üçün dəyərli fikirlər və praktiki məsləhətlər təklif edir.