Mundarija
Joyker belgilar matni bilan IF bayonotini yaratmoqchimisiz, lekin u har safar muvaffaqiyatsiz bo'ladimi? Muammo formulangizda emas, balki funksiyaning o'zida - Excel IF joker belgilarni qo'llab-quvvatlamaydi. Biroq, matnni qisman moslashtirish uchun uni ishga tushirishning bir yo'li bor va bu qo'llanma sizga qanday qilishni o'rgatadi.
Excelda qisman yoki loyqa moslashtirishni xohlaganingizda, eng aniq yechim bu joker belgilardan foydalanish. Agar siz ishlatishingiz kerak bo'lgan muayyan funktsiya joker belgilarni qo'llab-quvvatlamasa-chi? Afsuski, Excel IF ham shunday funksiyalardan biridir. Bu, ayniqsa, COUNTIF, SUMIF va AVERAGEIFS kabi boshqa "shartli" funksiyalar joker belgilar bilan juda yaxshi ishlashini hisobga olsak, xafa qiladi.
Yaxshiyamki, bu Excelning ijodiy foydalanuvchisini to'xtata oladigan to'siq emas :) IF ni birlashtirish orqali boshqa funksiyalar bilan siz uni qisman moslikni baholashga majbur qilishingiz va Excel IF joker belgisi formulasiga yaxshi alternativa olishingiz mumkin.
Nega Excel IF joker belgisi bilan ishlamayapti
Quyidagi namunaviy jadvalda, birinchi ustundagi identifikatorlarda "A" harfi bor-yo'qligini tekshirmoqchi bo'lsangiz. Agar topilsa - B ustunida "Ha"ni ko'rsating, bo'lmasa - "Yo'q"ni ko'rsating.
Mantiqiy testda joker belgilar matnini qo'shish oson yechim bo'ladi:
=IF(A2="*a*","Yes", "No")
Ammo afsuski u ishlamayapti. Formula barcha hujayralar uchun, hatto "A" ni o'z ichiga olgan hujayralar uchun "Yo'q" ni qaytaradi:
Nima uchunjoker belgili IF bayonoti muvaffaqiyatsiz tugadimi? Har qanday ko'rinishda Excel teng belgisi yoki boshqa mantiqiy operatorlar bilan ishlatiladigan joker belgilarni tanimaydi. Joker belgilarni qo'llab-quvvatlaydigan funksiyalar ro'yxatini diqqat bilan ko'rib chiqsangiz, ularning sintaksisi to'g'ridan-to'g'ri quyidagi argumentda ko'rinadigan joker belgilar matnini qabul qilishini ko'rasiz:
=COUNTIF(A2:A10, "*a*")
Excel IF qisman matnni o'z ichiga oladi
Endi siz IF formulasi nima sababdan ishlamay qolganini bilganingizdan so'ng, keling, uni qanday ishga tushirishni aniqlashga harakat qilaylik. Buning uchun biz IF mantiqiy testida joker belgilarni qabul qiladigan funksiyani, yaʼni COUNTIF funksiyasini joylashtiramiz:
IF(COUNTIF( hujayra, "* matn* "), qiymat_agar_to'g'ri, qiymat_agar_noto'g'ri)Ushbu yondashuv yordamida IF joker belgilarni tushunishda muammoga duch kelmaydi va "A" yoki "a" ni o'z ichiga olgan kataklarni mukammal aniqlaydi (chunki COUNTIF katta-kichik harflarga sezgir emas):
=IF(COUNTIF(A2, "*a*"),"Yes", "No")
Ushbu formula B2 yoki 2-qatordagi boshqa katakchaga oʻtadi va keyin uni keraklicha koʻp katakka tortib olishingiz mumkin:
Ushbu yechimdan ma'lum bir naqshning satrlarini topish uchun ham foydalanish mumkin. Faqat defis bilan ajratilgan 2 ta belgidan iborat 2 guruhdan iborat identifikatorlar haqiqiy deb faraz qilsangiz, "??-???" ularni aniqlash uchun joker belgilar qatori:
=IF(COUNTIF(A2, "??-??"), "Valid", "")
Ushbu formula qanday ishlaydi:
Mantiqiy test uchun AGAR, biz ko'rsatilgan joker belgiga mos keladigan hujayralar sonini hisoblaydigan COUNTIF funksiyasidan foydalanamizip. Mezon diapazoni bitta katak (A2) bo'lganligi sababli, natija har doim 1 (moslik topildi) yoki 0 (moslik topilmadi). 1 ROQIQ va 0 FALSE ga teng ekanligini hisobga olsak, hisoblash 1 bo‘lsa, formula “Valid” (agar_to‘g‘ri_qiymat), 0 bo‘lsa, bo‘sh qator (value_agar_false) qaytariladi.
IF ISNUMBER SEARCH formulasi qisman matches
Excel IF ni qisman matn moslashuvi uchun ishlashga majburlashning yana bir usuli mantiqiy testga TOPISh yoki QIDIRU funksiyasini kiritishdir. Farqi shundaki, FIND katta-kichik va SEARCH emas.
Shunday qilib, kichik va katta harflarni bir xil yoki turli belgilar sifatida ko‘rishni xohlayotganingizga qarab, quyidagi formulalardan biri foydali bo‘ladi:<3 Qisman moslik uchun>
katta-katta harflarni sezmaydigan formula:
AGAR(ISNUMBER(SEARCH(" matn ", yacheyka )), qiymat_agar_to'g'ri, qiymat_agar_false )Kisim-katta moslik uchun formula:
AGAR(ISNUMBER(TOP(" matn ", yacheyka )), qiymat_agar_to'g'ri, qiymat_agar_false )Har ikkala funksiya ham "hujayra oʻz ichiga oladi" turidagi moslikni bajarish uchun moʻljallanganligi sababli, bu holda joker belgilar kerak emas.
Masalan, "A" yoki "a" ni oʻz ichiga olgan identifikatorlarni aniqlash uchun , formula:
=IF(ISNUMBER(SEARCH("A", A2)), "Yes", "No")
Faqat "A" bosh harfini qidirish va "a" ni e'tiborsiz qoldirish uchun formula:
=IF(ISNUMBER(FIND("A", A2)), "Yes", "No")
Quyidagi skrinshotdagi B6 da natijadagi farqni ko'rishingiz mumkin:
Ushbu formula qanday ishlaydi:
Bu erda yuragiformulada ISNUMBER va SEARCH (yoki FIND) kombinatsiyasi mavjud:
ISNUMBER(SEARCH("A", A2))
SEARCH funksiyasi ko'rsatilgan matnni qidiradi (bu misolda "A") va uning ichida o'z o'rnini qaytaradi. A2 formatidagi qator. Agar matn topilmasa, #VALUE xatosi qaytariladi. SEARCH va FIND ikkalasi ham “yacheyka o‘z ichiga olgan” moslik turini bajarish uchun mo‘ljallanganligi sababli, bu holda joker belgilar kerak emas.
ISNUMBER funksiyasi raqamni TRUEga va boshqa har qanday qiymatni, shu jumladan xatoni FALSE ga o‘zgartiradi. . Mantiqiy qiymat to'g'ridan-to'g'ri IF ning mantiqiy testiga o'tadi. Bizning holatda, A2 "A" ni o'z ichiga oladi, shuning uchun ISNUMBER TRUE qaytaradi:
IF(TRUE, "Yes", "No")
Natijada, IF agar_haqiqat_qiymati argumenti uchun o'rnatilgan qiymatni qaytaradi. "Ha".
Excel IF OR identifikatori joker belgilar bilan
Joyker belgilar matn satrlaridan birini o'z ichiga olgan katakchalarni aniqlash kerakmi? Bunday holda siz klassik IF OR iborasini yuqorida muhokama qilingan COUNTIF yoki ISNUMBER QIDIRISh formulasi bilan birlashtirishingiz mumkin.
Masalan, A2 da "aa" YOKI "bb" ni qidirish uchun harf kattaligiga e'tibor bermay, ""ni qaytaring. Ha" deb topilgan bo'lsa, quyidagi formulalardan birini ishlating:
=IF(OR(ISNUMBER(SEARCH("aa", A2)), ISNUMBER(SEARCH("bb", A2))), "Yes", "")
yoki
=IF(OR(COUNTIF(A2, "*aa*"), COUNTIF(A2, "*bb*")), "Yes", "")
Ikkita COUNTIF funksiyasini qo'shish ham ishlaydi. Bunday holda, plyus belgisi OR operatori kabi ishlaydi:
=IF(COUNTIF(A3, "*aa*") + COUNTIF(A3, "*bb*"), "Yes", "")
Formuladagi joker belgilar qatorlarini qattiq kodlash o'rniga ularni alohida katakchalarga kiritishingiz mumkin, masalan, ko'rsatilganidek, D2 va F2 quyidagi skrinshotda. Iltimos, bularga e'tibor beringformula quyidagi kataklarga toʻgʻri nusxalanishi uchun hujayra havolalari $ belgisi bilan bloklanadi:
=IF(OR(COUNTIF(A2, "*"&$D$2&"*"), COUNTIF(A2, "*"&$F$2&"*")), "Yes", "")
Yuqoridagi formulalar 2 ta qisman moslik uchun yaxshi ishlaydi. , lekin agar siz 3 yoki undan ko'proq narsani qidirsangiz, ular juda uzun bo'ladi. Bunday holda, vazifaga boshqacha yondashish uchun asos bo'ladi:
QIDIRISh funksiyasiga massiv konstantasida bir nechta pastki qatorlarni kiriting, qaytarilgan raqamlarni hisoblang va natija noldan katta ekanligini tekshiring (bu degani agar topilgan bo'lsa, pastki qatorlardan kamida bittasi):
=IF(COUNT(SEARCH({"aa","bb"}, A2))>0, "Yes", "")
Shunday qilib, siz ixchamroq formula bilan aynan bir xil natijaga erishasiz:
Excel IF AND joker belgilar bilan formulasi
Yacheykada ikki yoki undan ortiq turli pastki qatorlar mavjudligini tekshirmoqchi boʻlsangiz, eng oson yoʻli mantiqiy test uchun COUNTIFS funksiyasidan joker belgilar bilan foydalanishdir.
Siz A ustunidagi "b" va "2" ni o'z ichiga olgan hujayralarni topmoqchi bo'lsangiz. Buni amalga oshirish uchun COUNTIFS mezonlari uchun "*b*" va "*2*" va mezon diapazoni uchun A2 dan foydalaning:
=IF(COUNTIFS(A2, "*b*", A2, "*2*"), "Yes", "")
Boshqa usul IF VA formulasini birgalikda ishlatishdir. ISNUMBER SEARCH bilan:
=IF(AND(ISNUMBER(SEARCH("b", A2)), ISNUMBER(SEARCH("2", A2))), "Yes", "")
Ushbu formulaga joker belgilar kiritilmagan boʻlsa-da, u ikkita joker belgilar qatorini ("*b*" va "*2*") qidirish kabi ishlaydi. ) bitta katakda.
Albatta, oldindan belgilangan katakchalarga qidiruv qiymatlarini kiritishingizga hech narsa xalaqit bermaydi, bizning holatlarimizda D2 va F2 vahujayra quyidagi formulaga ishora qiladi:
=IF(AND(ISNUMBER(SEARCH($D$2, A2)), ISNUMBER(SEARCH($F$2, A2))), "Yes", "")
Agar iloji boricha ixchamroq formulalardan foydalanishni afzal ko'rsangiz, massivning doimiy yondashuvi sizga ko'proq yoqadi. IF COUNT SEARCH formulasi avvalgi misolga juda o'xshaydi, lekin bu safar ikkala pastki satr ham A2 formatida paydo bo'lishi kerakligi sababli, hisob 2 ga teng yoki yo'qligini tekshiramiz:
=IF(COUNT(SEARCH({"b","2"}, A2))=2, "Yes", "")
Bular Excelda IF operatorida joker belgilardan foydalanishning asosiy usullari. Agar siz boshqa echimlarni bilsangiz, sharhlarda tajribangizni baham ko'rsangiz, boshqa foydalanuvchilar albatta minnatdor bo'lishadi. O'qiganingiz uchun tashakkur va kelgusi hafta blogimizda ko'rishga umid qilaman!
Yuklab olish uchun mashq kitobi
Excel IF joker belgisi formulasi misollari (.xlsx fayli)