Formula misollari bilan Excel FIND va SEARCH funksiyalari

  • Buni Baham Ko'Ring
Michael Brown

O'quv qo'llanma Excel FIND va SEARCH funksiyalarining sintaksisini tushuntiradi va ilg'or noaniq foydalanish formulalariga misollar beradi.

Oxirgi maqolada biz Excel asoslarini ko'rib chiqdik. Topish va almashtirish dialog oynasi. Biroq, ko'p holatlarda, Excel sizning mezonlaringiz asosida avtomatik ravishda boshqa hujayralardan ma'lumotlarni topib olishini xohlashingiz mumkin. Shunday qilib, keling, Excel qidiruv funktsiyalari nimani taklif qilishini batafsil ko'rib chiqamiz.

    Excel FIND funksiyasi

    Excel'dagi FIND funksiyasi faylning o'rnini qaytarish uchun ishlatiladi. matn satri ichidagi ma'lum bir belgi yoki pastki qator.

    Excel Find funksiyasining sintaksisi quyidagicha:

    TOP (matnni_topish, matn ichida, [start_num])

    Birinchi 2 ta argument talab qilinadi, oxirgisi ixtiyoriy.

    • Matnni topish - siz topmoqchi bo'lgan belgi yoki pastki qator.
    • Matn ichida - matn qatori ichida qidiriladi. Odatda u yacheyka ma'lumotnomasi sifatida taqdim etiladi, lekin siz qatorni to'g'ridan-to'g'ri formulaga kiritishingiz mumkin.
    • Start_num - qidiruv qaysi belgidan boshlanishini ko'rsatadigan ixtiyoriy argument. Agar o'tkazib yuborilmagan bo'lsa, qidiruv matn ichidagi_satrning 1-belgisidan boshlanadi.

    Agar FIND funksiyasi topilgan_matn belgi(larini) topmasa, #VALUE! xato qaytariladi.

    Masalan, =FIND("d", "find") formulasi 4 ni qaytaradi, chunki "d" " topish " so'zining 4-harfi. Formula =FIND("a", "find") yana eng murakkab qismi formulaga qancha belgilarni qaytarish kerakligini aytadigan oxirgi argumentdir. Num_chars argumentidagi juda uzun ibora quyidagilarni amalga oshiradi:

    • Birinchi, siz yopilish qavsning o'rnini topasiz: SEARCH(")",A2)
    • Bundan so'ng siz ochilish qavs o'rnini topasiz: SEARCH("(",A2)
    • Va keyin siz yopish va ochish qavslari o'rtasidagi farqni hisoblab, bu raqamdan 1ni ayirasiz, chunki natijada qavslar ham bo'lishini xohlamaysiz: SEARCH(")",A2)-SEARCH("(",A2))-1

    Tabiiyki, SEARCH o'rniga Excel FIND funksiyasidan foydalanishga hech narsa xalaqit bermaydi, chunki bu misolda katta-kichik harf sezgirligi yoki katta-kichik harf sezgirligi farq qilmaydi.

    Umid qilamizki, bu O'quv qo'llanma Excelda QIDIRUV va TOPSh funksiyalaridan qanday foydalanishni yoritib berdi. Keyingi oʻquv qoʻllanmada biz ALSHISH funksiyasini diqqat bilan koʻrib chiqamiz, shuning uchun bizni kuzatib boring. O'qiganingiz uchun tashakkur!

    Mashq qilish bo'yicha ish kitobini yuklab oling

    Formula misollarini TOPISH va QIDIRING

    xato qaytaradi, chunki " topish" da "a" mavjud emas.

    Excel FIND funksiyasi - eslash kerak bo'lgan narsalar!

    Excelda FIND formulasidan to'g'ri foydalanish uchun quyidagi oddiy faktlarni yodda tuting:

    1. FIND funksiyasi katta harflarni sezgir . Agar siz katta-kichik harflarni sezmaydigan moslikni qidirsangiz, QIDIRISh funksiyasidan foydalaning.
    2. Excel'dagi FIND funksiyasi joker belgilar dan foydalanishga ruxsat bermaydi.
    3. Agar find_text argumenti bo'lsa bir nechta belgilarni o'z ichiga oladi, FIND funksiyasi birinchi belgining o'rnini qaytaradi. Masalan, FIND("ap","baxtli") formulasi 2 ni qaytaradi, chunki "baxtli" so'zining 2-harfidagi "a".
    4. Agar_matn ichida bir nechta takrorlanish bo'lsa find_text, birinchi hodisa qaytariladi. Masalan, FIND("l", "salom") 3 ni qaytaradi, bu "salom" so'zidagi birinchi "l" belgisining o'rnini bildiradi.
    5. Agar find_text bo'sh qator bo'lsa "", Excel FIND formulasi qidiruv qatoridagi birinchi belgini qaytaradi.
    6. Excel FIND funksiyasi #VALUE! xato , agar quyidagilardan biri sodir bo'lsa:
      • Matn ichida_topish.
      • Boshlash_raqami matn ichidagidan ko'proq belgilarni o'z ichiga oladi.
      • Boshlash_raqami 0 (nol) yoki manfiy son.

    Excel SEARCH funksiyasi

    Excel'dagi QIDIRUV funksiyasi FIND funksiyasiga juda o'xshaydi, chunki u ham pastki qatorning joylashuvini qaytaradi. matnip. Sintaksis va argumentlar FIND ga o'xshashmi:

    SEARCH (matnni_topish, matn ichida_boshlang'ich_raqam])

    TOPISH funksiyasidan farqli o'laroq, SEARCH funksiyasi katta-katta harflarni sezmaydi va joker belgilardan foydalanishga imkon beradi. , quyidagi misolda ko'rsatilgandek.

    Mana bir nechta asosiy Excel QIDIRUV formulalari:

    =SEARCH("market", "supermarket") 6 ni qaytaradi, chunki "bozor" pastki qatori "supermarket" so'zining 6-belgisidan boshlanadi. .

    =SEARCH("e", "Excel") 1ni qaytaradi, chunki "e" "Excel" so'zining birinchi belgisi bo'lib, registrga e'tibor bermaydi.

    FIND kabi Excelning QIDIRISh funksiyasi #VALUE! xato, agar:

    • Matnni topish argumentining qiymati topilmasa.
    • Start_num argumenti matn ichidagi_uzunligidan katta bo'lsa.
    • Boshlash_raqami teng yoki noldan kamroq.

    Keyinchalik ushbu qoʻllanmada siz Excel ish varaqlarida QIDIRUV funksiyasidan qanday foydalanishni koʻrsatadigan bir nechta mazmunli formula misollarini topasiz.

    Yuqorida aytib o'tganimizdek, Excel-dagi TOPISh va QIDIRUV funksiyalari sintaksis va foydalanish nuqtai nazaridan juda o'xshash. Biroq, ularning bir nechta farqlari bor.

    1. Katta-kichik va katta-kichik harflarni sezgir TOPQISH

    Excel SEARCH va FIND funktsiyalari o'rtasidagi eng muhim farq shundaki, SEARCH katta-kichik harflarni sezmaydi, FIND esa katta-kichik harflarni sezgir.

    Masalan. , SEARCH("e", "Excel") 1ni qaytaradi, chunki u e'tibor bermaydi"E" harfi, FIND("e", "Excel") esa 4 ni qaytaradi, chunki u ishni ko'rib chiqadi.

    2. Joyker belgilar bilan qidirish

    TOPISHdan farqli o'laroq, Excel SEARCH funksiyasi find_text argumentida joker belgilarni qabul qiladi:

    • Savol belgisi (?) bitta belgiga mos keladi va
    • Yulduzcha (*) har qanday belgilar qatoriga mos keladi.

    U haqiqiy ma'lumotlarda qanday ishlashini ko'rish uchun quyidagi misolni ko'rib chiqing:

    Yuqoridagi skrinshotda ko'rib turganingizdek, SEARCH("funktsiya*2013", A2) formulasi, agar in_text argumentida ko'rsatilgan matn qatori ikkala "funksiyani" ham o'z ichiga olsa, pastki qatordagi birinchi belgining ("f") o'rnini qaytaradi. va "2013", orasida qancha boshqa belgilar bo'lishidan qat'iy nazar.

    Maslahat. Haqiqiy savol belgisini (?) yoki yulduzcha (*) topish uchun tegishli belgidan oldin tilda (~) belgisini kiriting.

    Excel FIND va SEARCH formula misollari

    Amalda Excel FIND va SEARCH funksiyalari o'z-o'zidan kam qo'llaniladi. Odatda siz ulardan MID, LEFT yoki RIGHT kabi boshqa funksiyalar bilan birgalikda foydalanasiz va quyidagi formula misollari ba'zi real hayotda foydalanishni ko'rsatadi.

    1-misol. Berilgan belgidan oldingi yoki keyingi qatorni toping

    Ushbu misolda ma'lum bir belgining chap yoki o'ng tomonidagi matn qatoridagi barcha belgilarni qanday topish va chiqarib olish mumkinligi ko'rsatilgan. Tushunishni osonlashtirish uchun quyidagini ko'rib chiqingquyidagi misol.

    Faraz qilish kerakki, sizda ismlar ustuni (A ustuni) bor va siz Ism va Familiyani alohida ustunlarga ajratmoqchisiz.

    Ismni olish uchun foydalanishingiz mumkin. FIND (yoki SEARCH) CHAP funksiyasi bilan birgalikda:

    =LEFT(A2, FIND(" ", A2)-1)

    yoki

    =LEFT(A2, SEARCH(" ", A2)-1)

    Sizga ma'lumki, Excel LEFT funksiyasi satrdagi eng chapdagi belgilarning belgilangan soni. Va siz FIND funktsiyasidan bo'sh joy (" ") o'rnini aniqlash uchun CHAP funksiyasiga qancha belgi chiqarish kerakligini bilish uchun foydalanasiz. Bunda siz boʻsh joydan 1ni ayirasiz, chunki qaytarilgan qiymat boʻsh joyni oʻz ichiga olishini istamaysiz.

    Familiyani chiqarish uchun OʻRGʻA, TOPISh / QIDIRISH va LEN funksiyalarining kombinatsiyasidan foydalaning. LEN funktsiyasi satrdagi belgilarning umumiy sonini olish uchun kerak bo'lib, undan bo'sh joy o'rnini ayirasiz:

    =RIGHT(A2,LEN(A2)-FIND(" ",A2))

    yoki

    =RIGHT(A2,LEN(A2)-SEARCH(" ",A2))

    Quyidagi skrinshotda natija koʻrsatilgan:

    Ota ismini ajratib olish yoki nomlarni qoʻshimchalar bilan ajratish kabi murakkabroq stsenariylar uchun Excelda katakchalarni qanday ajratish boʻlimini koʻring. formulalar yordamida.

    2-misol. Matn satrida berilgan belgining N-nchi takrorlanishini toping

    A ustunida bir nechta matn satrlari bor deb faraz qiling, SKUlar roʻyxatini ayting va siz topmoqchi boʻlsangiz 2-chi tirening satrdagi o'rni. Quyidagi formula yaxshi ishlaydi:

    =FIND("-", A2, FIND("-",A2)+1)

    Birinchi ikkitasiargumentlarni izohlash oson: A2 katakchasidagi chiziqchani ("-") toping. Uchinchi argumentda (start_num) siz Excelga tire birinchi marta paydo bo'lgandan so'ng darhol keladigan belgidan (FIND("-",A2)+1) qidirishni boshlashni bildiruvchi boshqa TOPISH funksiyasini joylashtirasiz.

    3-qayta o‘rnini qaytarish uchun siz yuqoridagi formulani boshqa FIND funksiyasining start_num argumentiga kiritasiz va qaytarilgan qiymatga 2 qo‘shasiz:

    =FIND("-",A2, FIND("-", A2, FIND("-",A2)+1) +2)

    Ma'lum bir belgining N-ko'rinishini topishning yana bir va ehtimol oddiyroq usuli Excel FIND funksiyasidan CHAR va SUBSTITUTE bilan birgalikda foydalanishdir:

    =FIND(CHAR(1),SUBSTITUTE(A2,"-",CHAR(1),3))

    Bu yerda “-” so‘ralgan belgi va “3” siz topmoqchi bo‘lgan N-ko‘rinishdir.

    Yuqoridagi formulada ALTISH funksiyasi chiziqchaning uchinchi ("-") ko‘rinishini CHAR() bilan almashtiradi. 1), bu ASCII tizimida chop etilmaydigan "Sarlavhaning boshlanishi" belgisidir. CHAR(1) o'rniga siz 1 dan 31 gacha bo'lgan har qanday boshqa chop etilmaydigan belgidan foydalanishingiz mumkin. Va keyin FIND funksiyasi matn qatoridagi ushbu belgining o'rnini qaytaradi. Demak, umumiy formula quyidagicha:

    FIND(CHAR(1),SUBSTITUTE( yacheyka , belgi ,CHAR(1), N-chi hodisa ))

    Bir qarashda, yuqoridagi formulalarning amaliy ahamiyati kamdek tuyulishi mumkin, ammo keyingi misolda ular real vazifalarni hal qilishda qanchalik foydali ekanligini ko‘rsatadi.

    Eslatma. Esda tutingki, Excel FINDfunksiya katta-kichik harflarga sezgir. Bizning misolimizda bu hech qanday farq qilmaydi, lekin agar siz harflar bilan ishlayotgan bo'lsangiz va siz katta-kichik harflarni sezmaydigan mos kelishini istasangiz, FIND o'rniga SEARCH funksiyasidan foydalaning.

    3-misol. Muayyan belgidan keyin N ta belgini ajratib oling

    Har qanday matn qatori ichida berilgan uzunlikdagi pastki qatorni topish uchun MID funksiyasi bilan birgalikda Excel FIND yoki Excel SEARCH-dan foydalaning. Quyidagi misolda bunday formulalardan amalda qanday foydalanish mumkinligi ko'rsatilgan.

    Bizning SKUlar ro'yxatida siz birinchi chiziqdan keyingi dastlabki 3 ta belgini topib, ularni boshqa ustunga tortmoqchi bo'lsangiz.

    >Birinchi tire oldidagi belgilar guruhi har doim bir xil miqdordagi elementlarni (masalan, 2 ta belgi) o'z ichiga olsa, bu ahamiyatsiz vazifa bo'ladi. MID funksiyasidan 4-pozitsiyadan boshlab satrdan 3 ta belgini qaytarish uchun foydalanishingiz mumkin (birinchi 2 ta belgi va chiziqchani oʻtkazib yuborish):

    =MID(A2, 4, 3)

    Ingliz tiliga tarjima qilingan formulada shunday deyilgan: “A2 katakchaga qarang, 4-belgidan chiqarishni boshlang va 3 ta belgini qaytaring”.

    Biroq, real hayotdagi ish varaqlarida siz chiqarishingiz kerak bo'lgan pastki qator istalgan joydan boshlanishi mumkin. matn qatori ichida. Bizning misolimizda siz birinchi chiziqdan oldin nechta belgi borligini bilmasligingiz mumkin. Ushbu qiyinchilikni yengish uchun FIND funksiyasidan foydalanib, siz olmoqchi bo'lgan pastki qatorning boshlang'ich nuqtasini aniqlang.

    Topish formulasi1-chiziqning o'rni quyidagicha:

    =FIND("-",A2)

    Siz chiziqdan keyingi belgidan boshlamoqchi bo'lganingiz uchun qaytarilgan qiymatga 1 qo'shing va yuqoridagi funktsiyani ikkinchi argumentga kiriting. MID funksiyasining (boshlang'ich_num):

    =MID(A2, FIND("-",A2)+1, 3)

    Ushbu stsenariyda Excel SEARCH funksiyasi bir xil darajada yaxshi ishlaydi:

    =MID(A2, SEARCH("-",A2)+1, 3)

    Ajoyib, lekin birinchi chiziqdan keyingi belgilar guruhi boshqa sonli belgilarni o'z ichiga olsa-chi? Hmm... bu muammo bo'lishi mumkin:

    Yuqoridagi skrinshotda ko'rib turganingizdek, formula 1 va 2-qatorlar uchun mukammal ishlaydi. 4 va 5-qatorlarda ikkinchi guruh 4 ta belgidan iborat, lekin faqat birinchi 3 ta belgi qaytariladi. 6 va 7-qatorlarda ikkinchi guruhda atigi 2 ta belgi bor va shuning uchun Excel Qidiruv formulamiz ulardan keyin chiziqchani qaytaradi.

    Agar siz 1 va 2-qatorlar orasidagi barcha belgilarni qaytarmoqchi bo'lsangiz. ma'lum bir belgi (ushbu misolda chiziqcha), qanday davom etasiz? Mana javob:

    =MID(A2, FIND("-",A2)+1, FIND("-", A2, FIND("-",A2)+1) - FIND("-",A2)-1)

    Ushbu MID formulasini yaxshiroq tushunish uchun uning argumentlarini birma-bir ko'rib chiqamiz:

    • 1-argument (matn). Bu siz chiqarmoqchi bo'lgan belgilarni o'z ichiga olgan matn qatori, ushbu misoldagi A2 katak.
    • 2-argument (boshlang'ich_pozitsiya). Chiqarmoqchi bo'lgan birinchi belgining o'rnini belgilaydi. Siz FIND funksiyasidan satrdagi birinchi chiziqchani topish va unga 1 qo'shish uchun foydalanasizbu qiymat, chunki siz chiziqdan keyingi belgidan boshlamoqchisiz: FIND("-",A2)+1.
    • 3-argument (belgi_son). Qaytarmoqchi bo'lgan belgilar sonini belgilaydi. Bizning formulamizda bu eng qiyin qism. Siz ikkita FIND (yoki SEARCH) funksiyasidan foydalanasiz, biri birinchi tire o'rnini aniqlaydi: FIND("-",A2). Ikkinchisi esa ikkinchi tire o'rnini qaytaradi: FIND("-", A2, FIND("-",A2)+1). Keyin siz ikkinchisidan birinchisini ayirasiz va keyin 1ni ayirasiz, chunki siz ikkala chiziqni ham qo'shishni xohlamaysiz. Natijada siz 1-chi va 2-chi chiziqchalar orasidagi belgilar sonini olasiz, bu biz qidirayotgan narsadir. Shunday qilib, siz ushbu qiymatni MID funksiyasining argumentlar soniga kiritasiz.

    Shunga o'xshab, siz 2-chiziqdan keyin 3 ta belgini qaytarishingiz mumkin:

    =MID(A2, FIND("-",A2, FIND("-", A2, FIND("-",A2)+1) +2), 3)

    Yoki 2 va 3-chiziqlar orasidagi barcha belgilarni chiqarib oling:

    =MID(A2, FIND("-", A2, FIND("-",A2)+1)+1, FIND("-",A2, FIND("-", A2, FIND("-",A2)+1) +2) - FIND("-", A2, FIND("-",A2)+1)-1)

    Misol 4. Qavslar orasidagi matnni toping

    Aytaylik, sizda A ustunida uzun matn qatori bor va siz faqat (qavslar) ichiga olingan matnni topib, chiqarib olishni xohlaysiz.

    Buni amalga oshirish uchun sizga MID funksiyasi kerak bo'ladi. qator va Excel FIND yoki SEARCH funksiyasi qayerdan boshlash va qancha belgi ajratib olishni aniqlash uchun.

    =MID(A2,SEARCH("(",A2)+1, SEARCH(")",A2)-SEARCH("(",A2)-1)

    Ushbu formulaning mantig'i biz avvalgi maqolada muhokama qilganlarga o'xshaydi. misol. Va

    Maykl Braun - dasturiy vositalardan foydalangan holda murakkab jarayonlarni soddalashtirishga ishtiyoqi bo'lgan maxsus texnologiya ishqibozi. Texnologiya sohasida o'n yildan ortiq tajribaga ega bo'lgan holda, u Microsoft Excel va Outlook, shuningdek, Google Sheets va Docs dasturlarida o'z mahoratini oshirdi. Mayklning blogi o'z bilimi va tajribasini boshqalar bilan baham ko'rishga, samaradorlik va samaradorlikni oshirish uchun amal qilish oson maslahatlar va o'quv qo'llanmalariga bag'ishlangan. Tajribali mutaxassismisiz yoki yangi boshlovchi boʻlasizmi, Mayklning blogi ushbu muhim dasturiy vositalardan maksimal darajada foydalanish uchun qimmatli tushunchalar va amaliy maslahatlarni taqdim etadi.