ТРАЖИ Фк - Пронађи подниз у низу - Екцел, ВБА и Г листови

Преузмите Пример радне свеске

Преузмите пример радне свеске

Овај водич показује како се користи Екцел функција претраживања у Екцелу да бисте пронашли положај текста унутар ћелије.

Преглед функције СЕАРЦХ

Функција СЕАРЦХ Проналази карактер или текстуални низ и враћа његову позицију у ћелији. Не разликују.

Да бисте користили функцију СЕАРЦХ Екцел радног листа, изаберите ћелију и откуцајте:

(Обратите пажњу на то како се појављују уноси формуле)

Функција претраживања Синтакса и улази:

= СЕАРЦХ (финд_тект, витхин_тект, старт_нум)

финд_тект - Низ текста који желите да пронађете.

витхин_тект - Оригинални низ текста.

старт_нум - ОПЦИОНО. Број знака са којег почиње претрага. Напомена: Ово мења само опсег претраживања, неће утицати на број који се врати када се пронађе подударање. Пример: претраживање „с“ у низу „сунс“ подразумевано ће вратити 1, али ако је старт_нум подешен на 2, вратиће 4.

Шта је функција ТРАЖЕЊА?

Екцел функција СЕАРЦХ „тражи“ низ текста у другом низу. Ако је текст пронађен, СЕАРЦХ враћа нумеричку позицију низа.

СЕАРЦХ НЕ разликује мала и велика слова. То значи да ће се „текст“ подударати са „ТЕКСТ“. За претраживање текста са великим и малим словима користите функцију ФИНД <>.

Како се користи функција СЕАРЦХ

Екцел функција СЕАРЦХ функционише на следећи начин:

= СЕАРЦХ ("е", "слон")

Овде ће Екцел вратити 1, пошто је „е“ први знак у „слону“.

Испод је још неколико примера.

Почетни број (почетни_број)

Опционо, можете дефинисати почетни број (старт_нум). старт_нум говори функцији СЕАРЦХ где да започне претрагу. Ако оставите поље празно, претрага ће почети од првог знака.

= ТРАЖИ (Б3, Ц3)

Сада, поставимо старт_нум на 2, што значи да ће СЕАРЦХ почети да гледа од другог знака.

= ТРАЖИ (Б3, Ц3, Д3)

У овом случају, СЕАРЦХ враћа 3: положај другог „е“.

Важно: старт_нум нема утицаја на повратну вредност, СЕАРЦХ ће увек почети да броји са првим знаком.

Почетни број (број_почетка) Грешке

Ако користите почетни број, уверите се да је цео, позитиван број мањи од дужине низа који желите да претражите, у супротном ћете добити грешку. Добићете и грешку ако проследите празну ћелију као свој почетни број:

= ТРАЖИ (Б3, Ц3, Д3)

Неуспешне претраге Вратите #ВРЕДНОСТ! Грешка

Ако СЕАРЦХ не може пронаћи вредност претраге, Екцел ће вратити #ВАЛУЕ! грешка.

Претраживање без обзира на велика и мала слова

Пример испод показује да функција СЕАРЦХ не разликује велика и мала слова. Тражили смо „абц“, али је СЕАРЦХ вратио 1, јер се подудара са „АБЦ“.

Џокер претрага

Уз СЕАРЦХ можете користити џокер знакове који вам омогућавају да тражите неодређене знакове.

Знак питања у тексту за претрагу значи „било који знак“. Дакле, „? 000“ у доњем примеру значи „Потражите било који знак праћен са три нуле“.

Звездица значи „било који број непознатих знакова“. Овде тражимо „1*Ц“, а СЕАРЦХ враћа 2 јер се подудара са „1-АБЦ“.

У следећем примеру тражимо „000?“ - то јест „000“ иза којег следи било који знак. Имамо „000“, али то је на крају низа, па га не прате никакви знакови, па добијамо грешку

Међутим, ако смо уместо упитника користили звездицу - дакле „000*“ уместо „000?“, Добијамо подударање. То је зато што звездица значи „било који број знакова“ - укључујући без знакова.

Како раздвојити имена и презимена из ћелије помоћу ТРАЖИ

Ако имате име и презиме у истој ћелији, а желите им дати по једну ћелију, за то можете користити СЕАРЦХ - али ћете морати да користите и неколико других функција.

Добијање имена

ЛЕФТ Екцел функција враћа одређени број знакова из низа, почевши од леве стране.

Ако користимо СЕАРЦХ да вратимо позицију размака између имена и презимена, од тога одузмемо 1, знамо колико је дуго име. Онда то можемо само да проследимо ЛЕВО.

Формула првог имена је:

= ЛИЈЕВО (Б3, СЕАРЦХ (““, Б3) -1)

Добијање презимена

ПРАВА Екцел функција враћа одређени број знакова с десне стране низа.

Да бисмо добили број знакова једнак дужини презимена, користимо СЕАРЦХ да нам каже положај размака, а затим одузмемо тај број од укупне дужине низа - коју можемо добити помоћу ЛЕН -а.

Формула презимена је:

= ДЕСНО (Б3, ЛЕН (Б3) -ТРАГАЊЕ („“, Б3))

Имајте на уму да ако ваши подаци о имену садрже средње име, средње име ће бити подељено у ћелију „Презиме“.

Коришћењем СЕАРЦХ за враћање н -тог знака у низ

Као што је горе наведено, СЕАРЦХ враћа позицију првог подударања које пронађе. Али комбинујући га са ЦХАР и ЗАМЕНОМ, можемо га користити за лоцирање каснијих појављивања знака, као што је друга или трећа инстанца.

Ево формуле:

= ТРАЖИ (ЦХАР (134), ЗАМЕНА (Д3, Ц3, ЦХАР (134), Б3))

У почетку би могло изгледати мало компликовано, па хајде да то рашчланимо:

  • Користимо СЕАРЦХ, а стринг који тражимо је „ЦХАР (134)“. ЦХАР враћа знак на основу свог АСЦИИ кода. ЦХАР (134) је симбол бодежа - овде можете користити било шта ако се не појављује у вашем стварном низу.
  • СУБСТИТУТЕ пролази кроз низ и замењује један знак или подниз другим. Овде замењујемо низ који желимо да пронађемо (који је у Ц3) са ЦХАР (134). Разлог зашто ово функционише је тај што је четврти параметар СУБСТИТУТЕ број инстанце који смо сачували у Б3.
  • Дакле, СУБСТИТУТЕ мења н -ти знак у низу за симбол бодежа, а затим СЕАРЦХ враћа његову позицију.

Ево како то изгледа:

Проналажење средњег пресека низа

Замислите да имате много серијских бројева у следећем формату:

АБ1КСЦДЦ-1ББ/ББ99

Од вас је затражено да извучете средњи део сваког од њих. Уместо да ово радите ручно, можете комбиновати СЕАРЦХ са МИД да бисте аутоматизовали овај задатак.

МИД Екцел функција враћа део низа. Његови улази су текстуални низ, почетна тачка и број знакова.

Пошто је почетна тачка знак после цртице, можемо користити СЕАРЦХ да добијемо положај цртице и да јој додамо 1. Да је серијски број у Б3, користили бисмо:

= ПРЕТРАГА ("-", Б3) +1

Да бисмо добили број знакова које желимо да извучемо одавде, можемо да користимо претрагу да добијемо позицију косе црте, одузмемо позицију цртице, а затим одузмемо 1 па се побрините да не вратимо саму косу црту:

= СЕАРЦХ ("/", Б3) -СЕАРЦХ ("-", Б3) -1

Затим једноставно спојимо ове две формуле у МИД:

СЕАРЦХ Вс ФИНД

СЕАРЦХ и ФИНД су сличне функције. Обоје враћају позицију датог карактера или подниз у другом низу. Међутим, постоје две кључне разлике:

  • ФИНД разликује мала и велика слова, али СЕАРЦХ није
  • ФИНД не дозвољава замјенске знакове, али СЕАРЦХ дозвољава

Испод можете видети неколико примера ових разлика:

ТРАЖИ у Гоогле табелама

СЕАРЦХ функција ради потпуно исто у Гоогле таблицама као и у Екцелу:

Додатне напомене

СЕАРЦХ функција је верзија која не разликује велика и мала слова функције ФИНД. СЕАРЦХ такође подржава џокере. Финд не.

ПРИМЕРИ ПРЕТРАГЕ у ВБА

Такође можете користити функцију СЕАРЦХ у ВБА. Тип:
апплицатион.ворксхеетфунцтион.сеарцх (финд_тект, витхин_тект, старт_нум)
За аргументе функције (финд_тект итд.), Можете их унети директно у функцију или дефинисати променљиве које ћете уместо њих користити.

Повратак на листу свих функција у програму Екцел

wave wave wave wave wave