Функцыі Excel FIND і SEARCH з прыкладамі формул

  • Падзяліцца Гэтым
Michael Brown

У падручніку тлумачыцца сінтаксіс функцый Excel FIND і SEARCH і даюцца прыклады формул для пашыранага нетрывіяльнага выкарыстання.

У мінулым артыкуле мы разглядалі асновы Excel Дыялог пошуку і замены. Аднак у многіх сітуацыях вы можаце захацець, каб Excel аўтаматычна знаходзіў і здабываў даныя з іншых ячэек на аснове вашых крытэрыяў. Такім чынам, давайце больш падрабязна разгледзім, што могуць прапанаваць функцыі пошуку Excel.

    Функцыя Excel FIND

    Функцыя FIND у Excel выкарыстоўваецца для вяртання пазіцыі пэўны сімвал або падрадок у тэкставым радку.

    Сінтаксіс функцыі Excel Find наступны:

    ЗНАЙСЦІ(тэкст_пошуку, у_тэксце, [нумер_пачатку])

    Патрабуюцца першыя 2 аргументы, апошні з'яўляецца неабавязковым.

    • Find_text - сімвал або падрадок, які вы хочаце знайсці.
    • Within_text - тэкставы радок для шукаць у межах. Звычайна ён падаецца як спасылка на ячэйку, але вы таксама можаце ўвесці радок непасрэдна ў формулу.
    • Пачатковы_нум - неабавязковы аргумент, які вызначае, з якога сімвала павінен пачынацца пошук. Калі прапушчана, пошук пачынаецца з 1-га сімвала радка ўнутры_тэксту.

    Калі функцыя FIND не знаходзіць сімвал(ы) find_text, #VALUE! вяртаецца памылка.

    Напрыклад, формула =FIND("d", "find") вяртае 4, таму што "d" з'яўляецца 4-й літарай у слове " знайсці ". Формула =FIND("a", "find") зноў жа, самая складаная частка - гэта апошні аргумент, які паведамляе формуле, колькі сімвалаў трэба вярнуць. Гэты даволі доўгі выраз у аргуменце num_chars робіць наступнае:

    • Спачатку вы знаходзіце пазіцыю зачыняючай дужкі: SEARCH(")",A2)
    • Пасля гэтага вы знаходзіце пазіцыю адкрываючай дужкі: SEARCH("(",A2)
    • І потым вы вылічваеце розніцу паміж пазіцыямі зачыняючай і адчыняючай дужак і адымаеце 1 ад гэтага ліку, таму што вы не жадаеце ніводнай дужкі ў выніку: SEARCH(")",A2)-SEARCH("(",A2))-1

    Натуральна, нішто не перашкаджае вам выкарыстоўваць функцыю Excel FIND замест ПОШУКУ, таму што адчувальнасць да рэгістра або неадчувальнасць да рэгістра не мае значэння ў гэтым прыкладзе.

    Спадзяюся, гэта падручнік праліў святло на тое, як выкарыстоўваць функцыі ПОШУК і ЗНАЙСЦІ ў Excel. У наступным уроку мы збіраемся ўважліва вывучыць функцыю REPLACE, таму сачыце за абнаўленнямі. Дзякуй за чытанне!

    Спампуйце сшытак для практыкі

    Прыклады формул ПОШУК і ПОШУК

    вяртае памылку, таму што ў « знайсціняма «а».

    Функцыя Excel FIND - што трэба памятаць!

    Каб правільна выкарыстоўваць формулу FIND у Excel, майце на ўвазе наступныя простыя факты:

    1. Функцыя FIND адчувае рэгістра . Калі вы шукаеце супадзенне без уліку рэгістра, выкарыстоўвайце функцыю ПОШУК.
    2. Функцыя ПОШУК у Excel не дазваляе выкарыстоўваць знакі падстаноўкі .
    3. Калі аргумент знайсці_тэкст змяшчае некалькі сімвалаў, функцыя FIND вяртае пазіцыю першага сімвала . Напрыклад, формула FIND("ap","happy") вяртае 2, таму што "a" у 2-й літары ў слове "happy".
    4. Калі ўнутры_тэксту змяшчае некалькі выпадкаў з find_text, вяртаецца першае ўваходжанне. Напрыклад, FIND("l", "hello") вяртае 3, што з'яўляецца пазіцыяй першага сімвала "l" у слове "hello".
    5. Калі find_text з'яўляецца пустым радком "", формула Excel FIND вяртае першы сімвал у радку пошуку.
    6. Функцыя Excel FIND вяртае #VALUE! памылка , калі адбываецца што-небудзь з наступнага:
      • Find_text не існуе ў within_text.
      • Start_num змяшчае больш сімвалаў, чым унутры_тэксту.
      • Start_num роўны 0 (нуль) або адмоўны лік.

    Функцыя SEARCH у Excel вельмі падобная на FIND тым, што яна таксама вяртае месцазнаходжанне падрадка ў тэкстрадок. Сінтаксіс і аргументы падобныя да сінтаксісу і аргументаў FIND:

    ПОШУК(тэкст_пошуку, у_тэксце, [нумер_пачатку])

    У адрозненне ад ПОШУКу, функцыя ПОШУК неадчувальная да рэгістра і дазваляе выкарыстоўваць сімвалы падстаноўкі , як паказана ў наступным прыкладзе.

    І вось некалькі асноўных формул ПОШУКУ ў Excel:

    =SEARCH("market", "supermarket") вяртае 6, таму што падрадок "market" пачынаецца з 6-га сімвала слова "supermarket" .

    =SEARCH("e", "Excel") вяртае 1, таму што "e" з'яўляецца першым сімвалам у слове "Excel", ігнаруючы рэгістр.

    Як і ПОШУК, функцыя ПОШУК у Excel вяртае #ЗНАЧЭННЕ! памылка, калі:

    • Значэнне аргумента find_text не знойдзена.
    • Аргумент start_num большы за даўжыню ўнутры_тэксту.
    • Start_num роўны або менш за нуль.

    Далей у гэтым падручніку вы знойдзеце яшчэ некалькі значных прыкладаў формул, якія дэманструюць, як выкарыстоўваць функцыю ПОШУК у лістах Excel.

    Як ужо згадвалася, функцыі FIND і SEARCH у Excel вельмі падобныя з пункту гледжання сінтаксісу і выкарыстання. Аднак у іх ёсць некалькі адрозненняў.

    1. FIND з улікам рэгістра супраць SEARCH без уліку рэгістра

    Самае істотнае адрозненне паміж функцыямі Excel SEARCH і FIND заключаецца ў тым, што SEARCH не ўлічвае рэгістра, а FIND - рэгістр.

    Напрыклад , SEARCH("e", "Excel") вяртае 1, таму што ігнаруерэгістр "E", а FIND("e", "Excel") вяртае 4, таму што ўлічвае рэгістр.

    2. Пошук з дапамогай сімвалаў падстаноўкі

    У адрозненне ад ЗНАЙСІЦЬ, функцыя ПОШУК у Excel прымае сімвалы падстаноўкі ў аргументе find_text:

    • Пытальнік (?) адпавядае аднаму сімвалу і
    • Зорачка (*) адпавядае любой серыі сімвалаў.

    Каб убачыць, як гэта працуе на рэальных дадзеных, разгледзьце наступны прыклад:

    Як вы бачыце на скрыншоце вышэй, формула SEARCH("function*2013", A2) вяртае пазіцыю першага сімвала ("f") у падрадку, калі тэкставы радок, на які спасылаецца аргумент унутры_тэксту, утрымлівае як "функцыю", так і і "2013", незалежна ад таго, колькі іншых сімвалаў знаходзіцца паміж імі.

    Падказка. Каб знайсці сапраўдны пытальнік (?) або зорачку (*), увядзіце тыльду (~) перад адпаведным сімвалам.

    На практыцы функцыі Excel FIND і SEARCH рэдка выкарыстоўваюцца самі па сабе. Як правіла, вы выкарыстоўваеце іх у спалучэнні з іншымі функцыямі, такімі як MID, LEFT або RIGHT, і наступныя прыклады формул дэманструюць некаторыя спосабы выкарыстання ў рэальным жыцці.

    Прыклад 1. Знайдзіце радок перад або пасля зададзенага сімвала

    Гэты прыклад паказвае, як вы можаце знайсці і атрымаць усе сімвалы ў тэкставым радку злева або справа ад пэўнага сімвала. Каб было лягчэй зразумець, разгледзімнаступны прыклад.

    Выкажам здагадку, што ў вас ёсць слупок імёнаў (слупок A), і вы хочаце перанесці Імя і Прозвішча ў асобныя слупкі.

    Каб атрымаць імя, вы можаце выкарыстоўваць FIND (ці ПОШУК) у спалучэнні з функцыяй LEFT:

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

    або

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

    Як вы напэўна ведаеце, функцыя Excel LEFT вяртае вызначаная колькасць крайніх левых сімвалаў у радку. І вы выкарыстоўваеце функцыю FIND для вызначэння пазіцыі прабелу (" "), каб дазволіць функцыі LEFT ведаць, колькі сімвалаў трэба атрымаць. Пры гэтым вы адымаеце 1 ад пазіцыі прабелу, таму што вы не хочаце, каб вяртанае значэнне ўключала прабел.

    Каб атрымаць прозвішча, выкарыстоўвайце камбінацыю функцый RIGHT, FIND / SEARCH і LEN. Функцыя LEN патрэбна, каб атрымаць агульную колькасць сімвалаў у радку, з якой вы аднімеце месца прабелу:

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

    ці

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

    Наступны скрыншот дэманструе вынік:

    Для больш складаных сцэнарыяў, такіх як выманне імя па бацьку або раздзяленне імёнаў з суфіксамі, глядзіце, як падзяліць ячэйкі ў Excel з дапамогай формул.

    Прыклад 2. Знайдзіце N-е ўваходжанне дадзенага сімвала ў тэкставы радок

    Выкажам здагадку, што ў вас ёсць некалькі тэкставых радкоў у слупку A, скажам, спіс SKU, і вы хочаце знайсці пазіцыя 2-га працяжніка ў радку. Наступная формула працуе добра:

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

    Першыя двааргументы лёгка інтэрпрэтаваць: знайдзіце працяжнік ("-") у вочку A2. У т>Каб вярнуць пазіцыю 3-га ўваходжання , вы ўбудоўваеце прыведзеную вышэй формулу ў аргумент start_num іншай функцыі FIND і дадаеце 2 да вернутага значэння:

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

    Іншы і, магчыма, больш просты спосаб знайсці N-е ўваходжанне дадзенага сімвала - выкарыстанне функцыі Excel FIND у спалучэнні з CHAR і SUBSTITUTE:

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

    Дзе "-" - сімвал, пра які ідзе гаворка, а "3" - гэта N-е ўваходжанне, якое вы хочаце знайсці.

    У прыведзенай вышэй формуле функцыя SUBSTITUTE замяняе трэцяе ўваходжанне працяжніка ("-") на CHAR( 1), які ў сістэме ASCII з'яўляецца недрукаваным сімвалам «Пачатак загалоўка». Замест CHAR(1) вы можаце выкарыстоўваць любы іншы недрукаваны сімвал ад 1 да 31. І затым функцыя FIND вяртае пазіцыю гэтага сімвала ў тэкставым радку. Такім чынам, агульная формула выглядае наступным чынам:

    FIND(CHAR(1),SUBSTITUTE( cell , character ,CHAR(1), N-е ўваходжанне ))

    На першы погляд можа здацца, што прыведзеныя вышэй формулы маюць мала практычнага значэння, але наступны прыклад пакажа, наколькі яны карысныя для рашэння рэальных задач.

    Заўвага. Калі ласка, памятайце, што Excel FINDфункцыя адчувальная да рэгістра. У нашым прыкладзе гэта не мае ніякага значэння, але калі вы працуеце з літарамі і жадаеце супадзення без уліку рэгістра , выкарыстоўвайце функцыю ПОШУК замест НУШКІ.

    Прыклад 3. Вылучыце N сімвалаў пасля пэўнага сімвала

    Каб знайсці падрадок зададзенай даўжыні ў любым тэкставым радку, выкарыстоўвайце Excel FIND або Excel SEARCH у спалучэнні з функцыяй MID. Наступны прыклад дэманструе, як вы можаце выкарыстоўваць такія формулы на практыцы.

    У нашым спісе SKU, выкажам здагадку, што вы хочаце знайсці першыя 3 сімвалы пасля першага працяжніка і перанесці іх у іншы слупок.

    Калі група сімвалаў перад першым працяжнікам заўсёды змяшчае аднолькавую колькасць элементаў (напрыклад, 2 сімвалы), гэта будзе трывіяльнай задачай. Вы можаце выкарыстоўваць функцыю MID, каб вярнуць 3 сімвалы з радка, пачынаючы з пазіцыі 4 (прапускаючы першыя 2 сімвалы і працяжнік):

    =MID(A2, 4, 3)

    У перакладзе на англійскую мову формула кажа: "Паглядзіце ў ячэйку A2, пачніце здабываць з сімвала 4 і вярніце 3 сімвалы".

    Аднак у рэальных працоўных аркушах падрадок, які вам трэба атрымаць, можа пачынацца дзе заўгодна у тэкставым радку. У нашым прыкладзе вы можаце не ведаць, колькі сімвалаў стаіць перад першым працяжнікам. Каб справіцца з гэтай задачай, выкарыстоўвайце функцыю FIND, каб вызначыць пачатковую кропку падрадка, які вы хочаце атрымаць.

    Формула FIND для вяртанняпазіцыя 1-га працяжніка наступная:

    =FIND("-",A2)

    Паколькі вы хочаце пачаць з сімвала, які ідзе за працяжнікам, дадайце 1 да вяртанага значэння і ўстаўце вышэйзгаданую функцыю ў другі аргумент (start_num) функцыі MID:

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

    У гэтым сцэнарыі функцыя ПОШУК Excel працуе аднолькава добра:

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

    Гэта цудоўна, але што, калі група сімвалаў пасля першага працяжніка змяшчае розную колькасць сімвалаў? Хм... гэта можа быць праблемай:

    Як вы бачыце на скрыншоце вышэй, формула ідэальна працуе для радкоў 1 і 2. У радках 4 і 5 другая група змяшчае 4 сімвалы, але вяртаюцца толькі першыя 3 сімвалы. У радках 6 і 7 ёсць толькі 2 сімвалы ў другой групе, і таму наша формула пошуку Excel вяртае працяжнік пасля іх.

    Калі вы хочаце вярнуць усе сімвалы паміж 1-м і 2-м уваходжаннем пэўнага сімвала (працяжнік у гэтым прыкладзе), як бы вы паступілі? Вось адказ:

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

    Для лепшага разумення гэтай формулы MID давайце праверым яе аргументы адзін за адным:

    • 1-ы аргумент (тэкст). Гэта тэкставы радок, які змяшчае сімвалы, якія вы хочаце атрымаць, ячэйка A2 у гэтым прыкладзе.
    • 2-і аргумент (start_position). Вызначае пазіцыю першага сімвала, які вы хочаце атрымаць. Вы выкарыстоўваеце функцыю FIND, каб знайсці першы працяжнік у радку і дадаць да яго 1гэта значэнне, таму што вы хочаце пачаць з сімвала, які ідзе пасля працяжніка: FIND("-",A2)+1.
    • 3-ці аргумент (num_chars). Вызначае колькасць сімвалаў, якія вы хочаце вярнуць. У нашай формуле гэта самая складаная частка. Вы выкарыстоўваеце дзве функцыі FIND (або SEARCH), адна вызначае пазіцыю першага працяжніка: FIND("-",A2). А другі вяртае пазіцыю другога працяжніка: FIND("-", A2, FIND("-",A2)+1). Затым вы адымаеце першае ад апошняга, а затым адымаеце 1, таму што вы не жадаеце ўключаць ні адзін з працяжнікаў. У выніку вы атрымаеце колькасць знакаў паміж 1-й і 2-й рысачкамі, а гэта менавіта тое, што мы шукаем. Такім чынам, вы перадаеце гэтае значэнне аргументу num_chars функцыі MID.

    Аналагічным чынам вы можаце вярнуць 3 сімвалы пасля 2-га працяжніка:

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

    Або вылучыце ўсе сімвалы паміж 2-й і 3-й рыскамі:

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

    Прыклад 4. Знайдзіце тэкст у дужках

    Выкажам здагадку, што ў вас ёсць доўгі тэкставы радок у слупку A, і вы хочаце знайсці і вылучыць толькі тэкст, заключаны ў (дужкі).

    Каб зрабіць гэта, вам спатрэбіцца функцыя MID, каб вярнуць патрэбную колькасць сімвалаў з радок і функцыя Excel FIND або SEARCH, каб вызначыць, з чаго пачаць і колькі сімвалаў вылучыць.

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

    Логіка гэтай формулы падобная на тыя, што мы абмяркоўвалі ў папярэднім прыклад. І

    Майкл Браўн - адданы энтузіяст тэхналогій, які любіць спрашчэнне складаных працэсаў з дапамогай праграмных інструментаў. Маючы больш чым дзесяцігадовы досвед працы ў індустрыі тэхналогій, ён удасканальваў свае навыкі ў Microsoft Excel і Outlook, а таксама ў Google Sheets і Docs. Блог Майкла прысвечаны таму, каб падзяліцца сваімі ведамі і вопытам з іншымі, даючы простыя ў выкананні парады і падручнікі для павышэння прадукцыйнасці і эфектыўнасці. Незалежна ад таго, з'яўляецеся вы дасведчаным прафесіяналам або пачаткоўцам, блог Майкла прапануе каштоўную інфармацыю і практычныя парады, каб атрымаць максімальную аддачу ад гэтых неабходных праграмных інструментаў.