Excel FIND un SEARCH funkcijas ar formulas piemēriem

  • Dalīties Ar Šo
Michael Brown

Šajā pamācībā ir izskaidrota Excel funkciju FIND un SEARCH sintakse un sniegti formulas piemēri, kuros aprakstīti uzlabotas, netriviālas izmantošanas veidi.

Iepriekšējā rakstā mēs aplūkojām Excel dialoglodziņa Atrast un aizstāt pamatus. Tomēr daudzās situācijās, iespējams, vēlaties, lai Excel automātiski atrod un iegūst datus no citām šūnām, pamatojoties uz jūsu kritērijiem. Tāpēc aplūkosim sīkāk, ko piedāvā Excel meklēšanas funkcijas.

    Excel FIND funkcija

    Funkcija FIND programmā Excel tiek izmantota, lai atveidotu konkrētas rakstzīmes vai apakšvirknes pozīciju teksta virknē.

    Excel funkcijas Atrast sintakse ir šāda:

    FIND(find_text, within_text, [start_num])

    Pirmie 2 argumenti ir obligāti, pēdējais arguments nav obligāts.

    • Find_text - rakstzīmi vai apakšvirzienu, ko vēlaties atrast.
    • Within_text - teksta virkne, kurā jāveic meklēšana. Parasti tā tiek norādīta kā atsauce uz šūnu, bet virkni var ievadīt arī tieši formulā.
    • Start_num - neobligāts arguments, kas norāda, no kuras rakstzīmes jāsāk meklēšana. Ja nav norādīts, meklēšana sākas no within_text virknes 1. rakstzīmes.

    Ja FIND funkcija neatrod find_text rakstzīmi(-es), tiek atgriezta #VALUE! kļūda.

    Piemēram, formula =FIND("d", "find") atgriež 4, jo "d" ir 4. burts vārdā " atrast ". Formula =FIND("a", "find") atgriež kļūdu, jo " atrast ".

    Excel FIND funkcija - lietas, kas jāatceras!

    Lai pareizi izmantotu FIND formulu programmā Excel, ņemiet vērā šādus vienkāršus faktus:

    1. FIND funkcija ir Lieto lielo un mazo burtu sensitivitāte Ja meklējat atbilstību, kas nav atkarīga no burtu un ciparu nozīmes, izmantojiet funkciju MEKLĒT.
    2. Izmantojot funkciju FIND programmā Excel, nav iespējams izmantot aizstājējzīmju rakstzīmes .
    3. Ja argumentā find_text ir vairākas rakstzīmes, funkcija FIND atgriež pozīciju, kurā atrodas pirmais raksturs Piemēram, formula FIND("ap", "laimīgs") atgriež 2, jo "a" ir vārda "laimīgs" 2. burts.
    4. Ja within_text satur vairāki gadījumi FIND("l", "hello") atgriež 3, kas ir pirmā "l" simbola pozīcija vārdā "hello".
    5. Ja find_text ir tukša virkne "", Excel FIND formula atgriež meklēšanas virknes pirmo rakstzīmi.
    6. Excel FIND funkcija atgriež #VALUE! kļūda ja notiek kāds no šiem gadījumiem:
      • Find_text nepastāv in within_text.
      • Start_num satur vairāk rakstzīmju nekā within_text.
      • Start_num ir 0 (nulle) vai negatīvs skaitlis.

    Excel SEARCH funkcija

    SEARCH funkcija programmā Excel ir ļoti līdzīga FIND funkcijai, jo arī tā atgriež teksta virknes apakšvirknes atrašanās vietu teksta virknē. Sintakse un argumenti ir līdzīgi FIND funkcijai:

    MEKLĒT(find_text, within_text, [start_num])

    Atšķirībā no FIND, SEARCH funkcija ir lielo un mazo burtu un atbilžu un tas ļauj izmantot aizstājējzīmju rakstzīmes, kā parādīts šajā piemērā.

    Un šeit ir dažas Excel pamatformulas SEARCH:

    =SEARCH("tirgus", "lielveikals") atgriež 6, jo apakšvirkne "market" sākas ar vārda "supermarket" sesto rakstzīmi.

    = Meklēšana("e", "Excel") atgriež 1, jo "e" ir pirmā rakstzīme vārdā "Excel", neņemot vērā gadījumu.

    Tāpat kā FIND, Excel funkcija SEARCH atgriež kļūdu #VALUE!, ja:

    • Argumenta find_text vērtība nav atrasta.
    • Arguments start_num ir lielāks par within_text garumu.
    • Start_num ir vienāds ar nulli vai mazāks par nulli.

    Tālāk šajā pamācībā atradīsiet vēl dažus jēgpilnus formulas piemērus, kas parāda, kā izmantot funkciju MEKLĒT Excel darblapās.

    Excel FIND vs. Excel MEKLĒT

    Kā jau minēts, FIND un SEARCH funkcijas programmā Excel ir ļoti līdzīgas sintakses un lietojuma ziņā. Tomēr tām ir dažas atšķirības.

    1. Uz burtiem un lielajiem burtiem jutīga MEKLĒŠANA pret burtiem un lielajiem burtiem nejutīgu MEKLĒŠANA

    Būtiskākā atšķirība starp Excel SEARCH un FIND funkcijām ir tā, ka SEARCH nav atkarīga no burtu un atbilstu burtu un atbilstu ciparu lielajiem burtiem, bet FIND - no burtu un atbilstu burtu un atbilstu lielajiem burtiem.

    Piemēram, SEARCH("e", "Excel") atgriež 1, jo ignorē "E" gadījumu, bet FIND("e", "Excel") atgriež 4, jo ņem vērā gadījumu.

    2. Meklēšana ar aizstājējzīmēm

    Atšķirībā no FIND, Excel SEARCH funkcija pieņem aizstājējzīmes argumentā find_text:

    • Jautājuma zīme (?) atbilst vienai rakstzīmei, un
    • Zvaigznīte (*) atbilst jebkurai rakstzīmju sērijai.

    Lai redzētu, kā tas darbojas ar reāliem datiem, aplūkojiet šādu piemēru:

    Kā redzams attēlā, formula SEARCH("function*2013", A2) atgriež pirmās rakstzīmes ("f") pozīciju apakšvirzienā, ja teksta virknē, uz kuru attiecas arguments within_text, ir gan "function", gan "2013", neatkarīgi no tā, cik citu rakstzīmju ir starp tām.

    Padoms. Lai atrastu faktisko jautājuma zīmi (?) vai zvaigznīti (*), pirms attiecīgās rakstzīmes ievadiet tilde (~).

    Excel FIND un SEARCH formulas piemēri

    Praksē Excel funkcijas FIND un SEARCH reti tiek izmantotas atsevišķi. Parasti tās tiek izmantotas kopā ar citām funkcijām, piemēram, MID, LEFT vai RIGHT, un turpmākajos formulas piemēros ir parādīti daži reāli lietojumi.

    Piemērs 1. Atrodiet virkni, kas atrodas pirms vai pēc dotās rakstzīmes

    Šajā piemērā ir parādīts, kā teksta virknē var atrast un izdalīt visas rakstzīmes, kas atrodas pa kreisi vai pa labi no konkrētas rakstzīmes. Lai būtu vieglāk saprast, aplūkojiet šādu piemēru.

    Pieņemsim, ka jums ir vārdu aile (A aile) un jūs vēlaties izvilkt vārdu un uzvārdu atsevišķās ailēs.

    Lai iegūtu pirmo vārdu, varat izmantot funkciju FIND (vai SEARCH) kopā ar funkciju LEFT:

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

    vai

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

    Kā jūs droši vien zināt, Excel LEFT funkcija atgriež norādīto rakstzīmju skaitu, kas atrodas virtenē pa kreisi. Un jūs izmantojat FIND funkciju, lai noteiktu atstarpes (" ") pozīciju, lai LEFT funkcija zinātu, cik rakstzīmju izvilkt. Pēc tam no atstarpes pozīcijas atņemat 1, jo nevēlaties, lai atgrieztajā vērtībā būtu iekļauta atstarpe.

    Lai iegūtu uzvārdu, izmantojiet RIGHT, FIND / SEARCH un LEN funkciju kombināciju. LEN funkcija ir nepieciešama, lai iegūtu kopējo rakstzīmju skaitu rindā, no kura atņemat atstarpes pozīciju:

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

    vai

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

    Nākamais ekrānšāviņš parāda rezultātu:

    Sarežģītākiem scenārijiem, piemēram, otrā vārda iegūšanai vai vārdu sadalīšanai ar piedēkļiem, skatiet sadaļu Kā sadalīt šūnas programmā Excel, izmantojot formulas.

    Piemērs 2. Atrodiet N-to dotās rakstzīmes atkārtojumu teksta virknē

    Pieņemsim, ka A slejā ir dažas teksta virknes, piemēram, SKU saraksts, un jūs vēlaties atrast pozīciju, kurā atrodas ailē A. 2. Šāda formula darbojas lieliski:

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

    Pirmos divus argumentus ir viegli interpretēt: atrodiet domuzīmi ("-") šūnā A2. Trešajā argumentā (start_num) ir iestrādāta vēl viena FIND funkcija, kas liek programmai Excel sākt meklēšanu, sākot ar rakstzīmi, kas ir uzreiz pēc pirmās domuzīmes parādīšanās (FIND("-",A2)+1).

    Lai atgrieztu pozīciju 3. gadījums , iepriekš minēto formulu iestrādā citas funkcijas FIND argumentā start_num un atgrieztai vērtībai pievieno 2:

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

    Cits un, iespējams, vienkāršāks veids, kā atrast N-to konkrētās rakstzīmes atkārtojumu, ir izmantot Excel funkciju FIND kopā ar CHAR un SUBSTITUTE:

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

    Kur "-" ir attiecīgais raksturs un "3" ir N-tais gadījums, kuru vēlaties atrast.

    Iepriekš minētajā formulā funkcija SUBSTITUTE aizstāj domuzīmes ("-") 3. atkārtojumu ar CHAR(1), kas ASCII sistēmā ir nedrukājams "Virsraksta sākuma" simbols. CHAR(1) vietā var izmantot jebkuru citu nedrukājamu simbolu no 1 līdz 31. Un tad funkcija FIND atgriež šīs zīmes pozīciju teksta virknē. Tātad vispārējā formula ir šāda:

    ATRAST(CHAR(1),AIZVIETOT( šūna , raksturs , CHAR(1), N-tais gadījums ))

    No pirmā acu uzmetiena var šķist, ka iepriekš minētajām formulām ir maza praktiska vērtība, taču nākamais piemērs parādīs, cik noderīgas tās ir reālu uzdevumu risināšanā.

    Piezīme. Lūdzu, atcerieties, ka Excel FIND funkcija ir atkarīga no burtu un ciparu lieluma. Mūsu piemērā tam nav nekādas nozīmes, bet, ja strādājat ar burtiem un vēlaties. lielo un mazo burtu un atbilžu meklējiet meklēšanas funkciju SEARCH, nevis FIND.

    Piemērs 3. Izraksts N rakstzīmju pēc noteiktas rakstzīmes

    Lai jebkurā teksta virknē atrastu dotā garuma apakšrindu, izmantojiet Excel FIND vai Excel SEARCH kombinācijā ar funkciju MID. Nākamajā piemērā parādīts, kā šādas formulas var izmantot praksē.

    Pieņemsim, ka mūsu SKU sarakstā vēlaties atrast pirmās 3 rakstzīmes pēc pirmā domuzīmes un ievietot tās citā slejā.

    Ja rakstzīmju grupa pirms pirmā domuzīmes vienmēr satur vienādu elementu skaitu (piemēram, 2 rakstzīmes), tas būtu triviāls uzdevums. Varētu izmantot MID funkciju, lai atgrieztu 3 rakstzīmes no virknes, sākot no 4. pozīcijas (izlaižot pirmās 2 rakstzīmes un domuzīmi):

    =MID(A2, 4, 3)

    Tulkojot angļu valodā, formulā ir teikts: "Meklējiet šūnā A2, sāciet izvilkšanu no 4. rakstzīmes un atdodiet 3 rakstzīmes".

    Tomēr reālās darblapās nepieciešamā apakšvirkne var sākties jebkurā teksta virknes vietā. Mūsu piemērā jūs, iespējams, nezināt, cik rakstzīmju ir pirms pirmā domuzīmes. Lai risinātu šo problēmu, izmantojiet funkciju FIND, lai noteiktu sākumpunktu, no kura vēlaties iegūt apakšvirkni.

    FIND formula 1. domuzīmes pozīcijas atdošanai ir šāda:

    =FIND("-",A2)

    Tā kā vēlaties sākt ar rakstzīmi, kas seko domuzīmei, pievienojiet 1 atgrieztai vērtībai un iestrādājiet iepriekš minēto funkciju MID funkcijas otrajā argumentā (start_num):

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

    Šajā scenārijā vienlīdz labi darbojas arī Excel SEARCH funkcija:

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

    Tas ir lieliski, bet ko darīt, ja rakstzīmju grupā pēc pirmā domuzīmes ir cits rakstzīmju skaits? Hmm... tā varētu būt problēma:

    Kā redzams iepriekš redzamajā ekrānšāviņas attēlā, formula darbojas perfekti 1. un 2. rindā. 4. un 5. rindā otrajā grupā ir 4 rakstzīmes, bet tiek atgrieztas tikai pirmās 3 rakstzīmes. 6. un 7. rindā otrajā grupā ir tikai 2 rakstzīmes, tāpēc mūsu Excel meklēšanas formula pēc tām atgriež domuzīmi.

    Ja vēlaties atgriezties visus simbolus starp 1. un 2. atkārtojumu. ar noteiktu rakstzīmi (šajā piemērā - domuzīmi), kā jūs rīkotos? Šeit ir atbilde:

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

    Lai labāk izprastu šo MID formulu, aplūkosim tās argumentus vienu pēc otra:

    • 1. arguments (teksts). Tā ir teksta virkne, kas satur rakstzīmes, kuras vēlaties izvilkt, šajā piemērā - šūnā A2.
    • 2. arguments (start_position). Norāda pirmās rakstzīmes pozīciju, kuru vēlaties iegūt. Izmantojot funkciju FIND, atrodiet pirmo domuzīmi virknē un šai vērtībai pieskaitiet 1, jo vēlaties sākt ar rakstzīmi, kas seko domuzīmei: FIND("-",A2)+1.
    • 3. arguments (num_chars). Norāda rakstzīmju skaitu, ko vēlaties atgriezt. Mūsu formulā šī ir vissarežģītākā daļa. Jūs izmantojat divas FIND (vai SEARCH) funkcijas, viena nosaka pirmā domuzīmes pozīciju: FIND("-",A2). Un otra atgriež otrā domuzīmes pozīciju: FIND("-", A2, FIND("-",A2)+1). Pēc tam no otrās funkcijas atņemat pirmo un tad atņemat 1, jo nevēlaties, laiRezultātā iegūsiet rakstzīmju skaitu starp 1. un 2. domuzīmi, kas ir tieši tas, ko mēs meklējam. Tātad šo vērtību ievadiet MID funkcijas argumentā num_chars.

    Līdzīgā veidā pēc 2. domuzīmes varat atgriezt 3 rakstzīmes:

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

    Vai arī iegūstiet visas rakstzīmes starp 2. un 3. domuzīmi:

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

    Piemērs 4. Atrast tekstu starp iekavām

    Pieņemsim, ka A slejā ir kāda gara teksta virkne, un jūs vēlaties atrast un izvilkt tikai tekstu, kas ietverts (iekavās).

    Lai to izdarītu, ir nepieciešama MID funkcija, kas atgriež vajadzīgo rakstzīmju skaitu no virknes, un Excel FIND vai SEARCH funkcija, lai noteiktu, no kurienes sākt un cik rakstzīmju iegūt.

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

    Šīs formulas loģika ir līdzīga tai, ko aplūkojām iepriekšējā piemērā. Un atkal vissarežģītākā daļa ir pēdējais arguments, kas norāda formulai, cik rakstzīmju jāatgriež. Šī diezgan garā izteiksme argumentā num_chars veic šādu darbību:

    • Vispirms noskaidrojiet noslēdzošās iekavās pozīciju: SEARCH(")",A2)
    • Pēc tam atrodiet sākuma iekavas pozīciju: MEKLĒT("(",A2)
    • Pēc tam aprēķiniet starpību starp noslēdzošā un atverošā iekavja pozīcijām un no šī skaitļa atņemiet 1, jo rezultātā nevēlaties nevienu no šiem iekavjiem: SEARCH(")",A2)-SEARCH("("(",A2))-1

    Protams, nekas netraucē SEARCH vietā izmantot Excel funkciju FIND, jo šajā piemērā lielo un mazo burtu jutība šajā gadījumā neko nemaina.

    Cerams, ka šī pamācība ir nedaudz izskaidrojusi, kā izmantot SEARCH un FIND funkcijas programmā Excel. Nākamajā pamācībā mēs sīkāk izpētīsim REPLACE funkciju, tāpēc lūdzam sekot līdzi. Paldies, ka izlasījāt!

    Lejupielādēt prakses darba burtnīcu

    MEKLĒT un MEKLĒT formulas piemēri

    Maikls Brauns ir īpašs tehnoloģiju entuziasts, kura aizraušanās ir sarežģītu procesu vienkāršošana, izmantojot programmatūras rīkus. Ar vairāk nekā desmit gadu pieredzi tehnoloģiju nozarē viņš ir pilnveidojis savas prasmes programmās Microsoft Excel un Outlook, kā arī Google izklājlapās un dokumentos. Maikla emuārs ir veltīts tam, lai dalītos savās zināšanās un pieredzē ar citiem, sniedzot viegli izpildāmus padomus un pamācības produktivitātes un efektivitātes uzlabošanai. Neatkarīgi no tā, vai esat pieredzējis profesionālis vai iesācējs, Maikla emuārs piedāvā vērtīgas atziņas un praktiskus padomus, kā maksimāli izmantot šos būtiskos programmatūras rīkus.