"Excel" funkcijos FIND ir SEARCH su formulės pavyzdžiais

  • Pasidalinti
Michael Brown

Mokomojoje programoje paaiškinama "Excel" funkcijų FIND ir SEARCH sintaksė ir pateikiama pažangių netrivialių naudojimo pavyzdžių.

Praėjusiame straipsnyje apžvelgėme "Excel" dialogo lango "Rasti ir pakeisti" pagrindus. Tačiau daugeliu atvejų galite norėti, kad "Excel" automatiškai rastų ir ištrauktų duomenis iš kitų langelių pagal jūsų nustatytus kriterijus. Taigi atidžiau apžvelkime, ką gali pasiūlyti "Excel" paieškos funkcijos.

    "Excel" funkcija FIND

    Funkcija FIND "Excel" naudojama tam, kad būtų grąžinta konkretaus simbolio ar eilutės poaibio vieta teksto eilutėje.

    "Excel" funkcijos "Find" sintaksė yra tokia:

    FIND(find_text, within_text, [start_num])

    Pirmieji 2 argumentai yra privalomi, o paskutinysis - neprivalomas.

    • Find_text - norimą rasti simbolį arba eilutės dalį.
    • Within_text - teksto eilutę, kurioje bus ieškoma. Paprastai ji pateikiama kaip ląstelės nuoroda, tačiau eilutę galite įvesti ir tiesiogiai formulėje.
    • Start_num - neprivalomas argumentas, nurodantis, nuo kurio simbolio turi būti pradedama paieška. Jei nepateikiama, paieška pradedama nuo 1-ojo within_text eilutės simbolio.

    Jei FIND funkcija neranda find_text simbolio (-ų), grąžinama #VALUE! klaida.

    Pavyzdžiui, formulė =FIND("d", "find") grąžina 4, nes "d" yra ketvirtoji raidė žodyje " rasti ". Formulė =FIND("a", "find") grąžina klaidą, nes " rasti ".

    "Excel" funkcija FIND - ką reikia prisiminti!

    Norėdami teisingai naudoti FIND formulę "Excel" programoje, nepamirškite šių paprastų faktų:

    1. Funkcija FIND yra Atskiriant didžiąsias ir mažąsias raides . Jei ieškote atitikmens, kurio raidės neskiriamos, naudokite funkciją SEARCH (ieškoti).
    2. "Excel" funkcija FIND neleidžia naudoti pakaitiniai simboliai .
    3. Jei argumente find_text yra keletas simbolių, funkcija FIND grąžina simbolio poziciją. pirmasis simbolis Pavyzdžiui, formulė FIND("ap", "happy") grąžina 2, nes "a" yra 2-oji žodžio "happy" raidė.
    4. Jei within_text yra keli atvejai FIND("l", "hello") grąžina 3, t. y. pirmojo "l" ženklo poziciją žodyje "hello".
    5. Jei find_text yra tuščia eilutė "", Excel FIND formulė grąžina pirmąjį paieškos eilutės simbolį.
    6. "Excel" funkcija FIND grąžina #VALUE! klaida jei įvyksta bet kuris iš toliau nurodytų atvejų:
      • Find_text neegzistuoja within_text.
      • Start_num turi daugiau simbolių nei within_text.
      • Start_num yra 0 (nulis) arba neigiamas skaičius.

    "Excel" paieškos funkcija

    "Excel" funkcija SEARCH yra labai panaši į funkciją FIND, nes ji taip pat grąžina teksto eilutės poaibio vietą. Jos sintaksė ir argumentai yra panašūs į funkcijos FIND sintaksę ir argumentus:

    SEARCH(find_text, within_text, [start_num])

    Skirtingai nei funkcija FIND, funkcija SEARCH yra Atskirų raidžių ir leidžia naudoti pakaitinius simbolius, kaip parodyta toliau pateiktame pavyzdyje.

    Štai keletas pagrindinių "Excel" paieškos formulių:

    = IEŠKOTI("rinka", "prekybos centras") grąžina 6, nes eilutė "market" prasideda nuo žodžio "supermarket" 6 simbolio.

    =Ieškoti("e", "Excel") grąžina 1, nes "e" yra pirmasis žodžio "Excel" simbolis, neatsižvelgiant į atvejį.

    Kaip ir funkcija FIND, "Excel" funkcija SEARCH grąžina klaidą #VALUE!, jei:

    • Argumento find_text reikšmė nerasta.
    • Argumentas start_num yra didesnis už ilgį within_text.
    • Start_num yra lygus nuliui arba mažesnis už jį.

    Toliau šiame vadovėlyje rasite dar keletą prasmingų formulių pavyzdžių, kuriuose parodoma, kaip naudoti funkciją SEARCH "Excel" darbalapiuose.

    Kaip jau minėta, "Excel" funkcijos FIND ir SEARCH yra labai panašios savo sintakse ir naudojimo būdais. Tačiau jos turi keletą skirtumų.

    1. Ieškoti pagal didžiąsias raides ir Paieška pagal didžiąsias raides

    Esminis skirtumas tarp "Excel" paieškos ir suradimo funkcijų yra tas, kad paieškos funkcija SEARCH neskiria didžiųjų ir mažųjų raidžių, o FIND - mažųjų ir didžiųjų raidžių.

    Pavyzdžiui, SEARCH("e", "Excel") grąžina 1, nes neatsižvelgia į raidės "E" atvejį, o FIND("e", "Excel") grąžina 4, nes atsižvelgia į šį atvejį.

    2. Paieška su pakaitiniais simboliais

    Skirtingai nei FIND, "Excel" funkcija SEARCH priima pakaitinius simbolius argumente find_text:

    • Klausimo ženklas (?) atitinka vieną simbolį, o
    • Žvaigždutė (*) atitinka bet kokią simbolių seriją.

    Kad pamatytumėte, kaip tai veikia naudojant tikrus duomenis, žr. šį pavyzdį:

    Kaip matote pirmiau pateiktame paveikslėlyje, formulė SEARCH("function*2013", A2) grąžina pirmojo simbolio ("f") vietą pojuostėje, jei argumente within_text nurodytoje teksto eilutėje yra ir "function", ir "2013", nesvarbu, kiek kitų simbolių yra tarp jų.

    Patarimas. Norėdami rasti tikrąjį klausimo ženklą (?) arba žvaigždutę (*), prieš atitinkamą simbolį įveskite tilde (~).

    "Excel" FIND ir SEARCH formulių pavyzdžiai

    Praktikoje "Excel" funkcijos FIND ir SEARCH retai naudojamos atskirai. Paprastai jos naudojamos kartu su kitomis funkcijomis, pavyzdžiui, MID, LEFT arba RIGHT, o toliau pateikti formulių pavyzdžiai rodo keletą realaus naudojimo atvejų.

    1 pavyzdys. Raskite eilutę, esančią prieš arba po tam tikro simbolio

    Šiame pavyzdyje parodyta, kaip galima rasti ir išskirti visus teksto eilutės simbolius, esančius į kairę arba į dešinę nuo konkretaus simbolio. Kad būtų lengviau suprasti, panagrinėkite toliau pateiktą pavyzdį.

    Tarkime, turite vardų stulpelį (stulpelis A) ir norite ištraukti vardą ir pavardę į atskirus stulpelius.

    Norėdami sužinoti vardą, galite naudoti funkciją FIND (arba SEARCH) kartu su funkcija LEFT:

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

    arba

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

    Kaip tikriausiai žinote, "Excel" funkcija LEFT grąžina nurodytą skaičių simbolių, esančių eilutėje labiausiai į kairę. O jūs naudojate funkciją FIND, kad nustatytumėte tarpo (" ") padėtį, kad funkcija LEFT žinotų, kiek simbolių reikia išskirti. Tuo metu iš tarpo padėties atimate 1, nes nenorite, kad į grąžinamą reikšmę būtų įtrauktas tarpas.

    Norėdami išgauti pavardę, naudokite funkcijų RIGHT, FIND / SEARCH ir LEN derinį. Funkcija LEN reikalinga tam, kad gautumėte bendrą simbolių skaičių eilutėje, iš kurio atimate tarpo poziciją:

    = DEŠINĖ(A2,LEN(A2)-FIND(" ",A2))

    arba

    = DEŠINĖ(A2,LEN(A2)-SEARCH(" ",A2))

    Toliau pateiktoje ekrano nuotraukoje parodytas rezultatas:

    Sudėtingesnių scenarijų, pavyzdžiui, antrojo vardo išskyrimo arba vardų su priesagomis skaidymo, ieškokite straipsnyje Kaip skaidyti ląsteles "Excel" naudojant formules.

    2 pavyzdys. Raskite N-ąjį duoto simbolio pasikartojimą teksto eilutėje

    Tarkime, kad A stulpelyje turite keletą teksto eilučių, tarkime, SKU sąrašą, ir norite rasti pozicijos 2. brūkšnelis eilutėje. Toliau pateikta formulė veikia puikiai:

    =IEŠKOTI("-", A2, RASTI("-",A2)+1)

    Pirmuosius du argumentus lengva interpretuoti: suraskite brūkšnelį ("-") ląstelėje A2. Trečiajame argumente (start_num) įterpiama kita FIND funkcija, kuri nurodo "Excel" pradėti paiešką nuo simbolio, esančio iš karto po pirmojo brūkšnelio (FIND("-",A2)+1).

    Norėdami grąžinti padėtį 3-iasis įvykis , į kitos funkcijos FIND argumentą start_num įterpiate pirmiau pateiktą formulę ir prie grąžinamos vertės pridedate 2:

    =IEŠKOTI("-",A2, RASTI("-", A2, RASTI("-",A2)+1) +2)

    Kitas ir tikriausiai paprastesnis būdas rasti N-ąjį tam tikro simbolio pasikartojimą yra naudoti "Excel" funkciją FIND kartu su CHAR ir SUBSTITUTE:

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

    Kur "-" yra atitinkamas simbolis, o "3" - N-tasis norimas rasti atvejis.

    Pirmiau pateiktoje formulėje funkcija SUBSTITUTE pakeičia 3-iąjį brūkšnio ("-") atvejį į CHAR(1), kuris ASCII sistemoje yra nespausdinamas "antraštės pradžios" simbolis. Vietoj CHAR(1) galite naudoti bet kurį kitą nespausdinamą simbolį nuo 1 iki 31. Tada funkcija FIND grąžina to simbolio vietą teksto eilutėje. Taigi bendra formulė yra tokia:

    FIND(CHAR(1),SUBSTITUTE( ląstelė , simbolis , CHAR(1), N-asis įvykis ))

    Iš pirmo žvilgsnio gali atrodyti, kad pirmiau pateiktos formulės neturi didelės praktinės vertės, tačiau kitas pavyzdys parodys, kaip jos naudingos sprendžiant realius uždavinius.

    Atminkite, kad "Excel" funkcija FIND skiria didžiąsias raides. Mūsų pavyzdyje tai neturi jokios reikšmės, bet jei dirbate su raidėmis ir norite Atskirų raidžių atitiktį, vietoj funkcijos FIND naudokite funkciją SEARCH.

    3 pavyzdys. Išskirti N simbolių, einančių po tam tikro simbolio

    Norėdami rasti tam tikro ilgio eilutės poaibį bet kurioje teksto eilutėje, naudokite "Excel FIND" arba "Excel SEARCH" kartu su funkcija MID. Toliau pateiktame pavyzdyje parodyta, kaip tokias formules galima naudoti praktiškai.

    Tarkime, kad mūsų SKU sąraše norite rasti pirmuosius 3 simbolius, einančius po pirmojo brūkšnelio, ir įtraukti juos į kitą stulpelį.

    Jei prieš pirmąjį brūkšnelį esančioje simbolių grupėje visada yra toks pat elementų skaičius (pvz., 2 simboliai), tai būtų triviali užduotis. Galite naudoti MID funkciją, kad iš eilutės grąžintumėte 3 simbolius, pradedant nuo 4 pozicijos (praleidžiant pirmuosius 2 simbolius ir brūkšnelį):

    =MID(A2, 4, 3)

    Išvertus į lietuvių kalbą, formulė skamba taip: "Ieškokite ląstelėje A2, pradėkite išskyrimą nuo 4 simbolio ir grąžinkite 3 simbolius".

    Tačiau realiose darbo lentelėse išskirtina eilutės dalis gali prasidėti bet kurioje teksto eilutės vietoje. Mūsų pavyzdyje galite nežinoti, kiek simbolių yra prieš pirmąjį brūkšnelį. Norėdami susidoroti su šiuo iššūkiu, naudokite funkciją FIND, kad nustatytumėte norimos išskleisti eilutės dalies pradžios tašką.

    FIND formulė 1-ojo brūkšnelio padėčiai grąžinti yra tokia:

    =FIND("-",A2)

    Kadangi norite pradėti nuo simbolio, kuris eina po brūkšnelio, prie grąžinamos reikšmės pridėkite 1 ir pirmiau minėtą funkciją įterpkite į antrąjį MID funkcijos argumentą (start_num):

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

    Šiuo atveju vienodai gerai veikia ir "Excel" paieškos funkcija SEARCH:

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

    Puiku, bet ką daryti, jei po pirmojo brūkšnelio esančioje simbolių grupėje yra skirtingas simbolių skaičius? Hmm... tai gali būti problema:

    Kaip matote pirmiau pateiktoje ekrano nuotraukoje, formulė puikiai veikia 1 ir 2 eilutėse. 4 ir 5 eilutėse antroje grupėje yra 4 simboliai, tačiau grąžinami tik pirmieji 3 simboliai. 6 ir 7 eilutėse antroje grupėje yra tik 2 simboliai, todėl mūsų "Excel" paieškos formulė grąžina po jų esantį brūkšnelį.

    Jei norėtumėte grįžti visi simboliai tarp 1-ojo ir 2-ojo pasikartojimo. tam tikro ženklo (šiame pavyzdyje - brūkšnelio), kaip elgtumėtės? Štai atsakymas:

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

    Kad geriau suprastumėte šią MID formulę, išnagrinėkime jos argumentus vieną po kito:

    • 1-asis argumentas (tekstas). Tai teksto eilutė, kurioje yra norimi išgauti simboliai, šiame pavyzdyje - ląstelė A2.
    • 2 argumentas (start_position). Nurodoma pirmojo simbolio, kurį norite išskirti, padėtis. Naudodami funkciją FIND surasite pirmąjį brūkšnelį eilutėje ir prie šios vertės pridėsite 1, nes norite pradėti nuo simbolio, einančio po brūkšnelio: FIND("-",A2)+1.
    • 3 argumentas (num_chars). Nurodo simbolių, kuriuos norite grąžinti, skaičių. Mūsų formulėje tai yra sudėtingiausia dalis. Jūs naudojate dvi FIND (arba SEARCH) funkcijas, viena nustato pirmojo brūkšnelio padėtį: FIND("-",A2). o kita grąžina antrojo brūkšnelio padėtį: FIND("-", A2, FIND("-",A2)+1). tada iš antrosios funkcijos atimate pirmąją, o tada atimkite 1, nes nenorite, kad pirmoji būtų grąžinta.kad būtų įtrauktas bet kuris brūkšnys. Rezultate gausite simbolių skaičių tarp 1-ojo ir 2-ojo brūkšnio, o tai yra būtent tai, ko ieškome. Taigi, šią reikšmę pateikite funkcijos MID argumentui num_chars.

    Panašiai galite grąžinti 3 simbolius po 2-ojo brūkšnelio:

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

    Arba išskirkite visus simbolius, esančius tarp 2-ojo ir 3-iojo brūkšnelio:

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

    4 pavyzdys. Rasti tekstą tarp skliaustų

    Tarkime, kad A stulpelyje yra tam tikra ilga teksto eilutė ir norite surasti bei išskirti tik tekstą, įrašytą (skliaustuose).

    Norint tai padaryti, reikia funkcijos MID, kuri grąžintų norimą simbolių skaičių iš eilutės, ir "Excel" funkcijos FIND arba SEARCH, kad nustatytumėte, nuo ko pradėti ir kiek simbolių išskirti.

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

    Šios formulės logika panaši į ankstesniame pavyzdyje aptartų formulių logiką. Ir vėl sudėtingiausia dalis yra paskutinis argumentas, kuris nurodo formulei, kiek simbolių grąžinti. Ši gana ilga išraiška argumente num_chars atlieka šiuos veiksmus:

    • Pirmiausia reikia nustatyti uždaromųjų skliaustų padėtį: IEŠKOTI(")",A2)
    • Po to suraskite pradinių skliaustų vietą: IEŠKOTI("(",A2)
    • Tada apskaičiuokite skirtumą tarp uždaromųjų ir atidaromųjų skliaustų padėčių ir iš šio skaičiaus atimkite 1, nes nenorite, kad rezultatas būtų sudarytas iš abiejų skliaustų: SEARCH(")",A2)-SEARCH("("(",A2))-1

    Suprantama, niekas nedraudžia vietoj funkcijos SEARCH naudoti "Excel" funkciją FIND, nes šiame pavyzdyje didžiųjų ir mažųjų raidžių jautrumas neturi jokios reikšmės.

    Tikimės, kad ši pamoka šiek tiek atskleidė, kaip "Excel" programoje naudoti funkcijas SEARCH ir FIND. Kitoje pamokoje išsamiai nagrinėsime funkciją REPLACE, todėl laukite. Dėkojame, kad skaitėte!

    Atsisiųsti praktikos sąsiuvinį

    Formulės FIND ir SEARCH pavyzdžiai

    Michaelas Brownas yra atsidavęs technologijų entuziastas, mėgstantis supaprastinti sudėtingus procesus naudojant programinės įrangos įrankius. Turėdamas daugiau nei dešimtmetį patirtį technologijų pramonėje, jis patobulino savo įgūdžius „Microsoft Excel“ ir „Outlook“, taip pat „Google“ skaičiuoklėse ir dokumentuose. Michaelio tinklaraštis skirtas dalytis savo žiniomis ir patirtimi su kitais, jame pateikiami lengvai įgyvendinami patarimai ir vadovėliai, kaip pagerinti produktyvumą ir efektyvumą. Nesvarbu, ar esate patyręs profesionalas, ar pradedantysis, Michaelo tinklaraštyje rasite vertingų įžvalgų ir praktinių patarimų, kaip išnaudoti visas šių pagrindinių programinės įrangos įrankių galimybes.