ТЪРСЕНЕ Fx - Намерете подниза в низ - Excel, VBA и G таблици

Изтеглете Примерна работна книга

Изтеглете примерната работна книга

Този урок демонстрира как да използвате Функция за търсене в Excel в Excel, за да намерите позицията на текста в клетка.

Преглед на функцията ТЪРСЕНЕ

Функцията SEARCH Намира символ или текстов низ и връща позицията му в клетката. Не са чувствителни към малки и големи букви.

За да използвате функцията SEARCH Excel Worksheet, изберете клетка и въведете:

(Забележете как се появяват входовете на формулата)

Функция за търсене Синтаксис и входове:

= ТЪРСЕНЕ (find_text, within_text, start_num)

find_text - Низ текст, който искате да намерите.

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

start_num - ОПЦИОНАЛНО. Номерът на знака, от който да започне търсенето. Забележка: Това само променя диапазона на търсене, няма да повлияе на броя, върнат, когато се намери съвпадение. Пример: търсенето на „s“ в низ „suns“ ще върне 1 по подразбиране, но ако start_num е зададен на 2, той ще върне 4.

Какво представлява функцията ТЪРСЕНЕ?

Функцията Excel SEARCH „търси“ за низ от текст в друг низ. Ако текстът е намерен, SEARCH връща числовата позиция на низа.

SEARCH НЕ е чувствителен към регистъра. Това означава, че „текстът“ ще съответства на „ТЕКСТ“. За да търсите текст с чувствителност към главни букви, използвайте вместо това функцията FIND <>.

Как да използвате функцията ТЪРСЕНЕ

Функцията Excel SEARCH работи по следния начин:

= ТЪРСЕНЕ ("e", "слон")

Тук Excel ще върне 1, тъй като „e“ е първият знак в „слон“.

По -долу има още няколко примера.

Стартов номер (начален_ номер)

По избор можете да дефинирате начален номер (начален_ номер). start_num казва на функцията SEARCH къде да започне търсенето. Ако го оставите празно, търсенето ще започне от първия знак.

= ТЪРСЕНЕ (B3, C3)

Сега, нека зададем start_num на 2, което означава, че SEARCH ще започне да търси от втория знак.

= ТЪРСЕНЕ (B3, C3, D3)

В този случай SEARCH връща 3: позицията на второто „e”.

Важно: start_num няма влияние върху връщаната стойност, SEARCH винаги ще започне да брои с първия знак.

Старт номер (start_num) Грешки

Ако все пак използвате начален номер, уверете се, че е цяло, положително число, което е по -малко от дължината на низа, който искате да търсите, в противен случай ще получите грешка. Ще получите и грешка, ако предадете празна клетка като начален номер:

= ТЪРСЕНЕ (B3, C3, D3)

Неуспешните търсения Върнете #VALUE! Грешка

Ако SEARCH не може да намери стойността за търсене, Excel ще върне #VALUE! грешка.

Нечувствително към регистър търсене

Примерът по-долу показва, че функцията SEARCH не е чувствителна към регистъра. Търсихме „abc“, но SEARCH върна 1, защото съвпада с „ABC“.

Търсене с заместващи символи

Можете да използвате заместващи знаци с SEARCH, които ви позволяват да търсите неуточнени знаци.

Въпросителният знак в текста за търсене означава „всеки знак“. Така че „? 000“ в примера по -долу означава „Търсене на произволен знак, последвано от три нули“.

Звездичка означава „произволен брой неизвестни знаци“. Тук търсим „1*C“, а SEARCH връща 2, защото съвпада с това с „1-ABC“.

В следващия пример търсим „000?“ - тоест „000“, последвано от произволен знак. Имаме „000“, но това е в края на низа и следователно не е последвано от никакви знаци, така че получаваме грешка

Ако обаче използваме звездичка вместо въпросителен знак - така „000*“ вместо „000?“, Получаваме съвпадение. Това е така, защото звездичката означава „произволен брой знаци“ - включително без знаци.

Как да разделяме имена и фамилии от клетка с ТЪРСЕНЕ

Ако имате име и фамилия в една и съща клетка и искате да им дадете по една клетка, можете да използвате SEARCH за това - но ще трябва да използвате и няколко други функции.

Получаване на първото име

Функцията LEFT Excel връща определен брой знаци от низ, започвайки отляво.

Ако използваме SEARCH, за да върнем позицията на интервала между името и фамилията, извадим 1 от това, знаем колко дълго е първото име. След това можем просто да го предадем НАЛЯВО.

Формулата за първо име е:

= НАЛЯВО (B3, ТЪРСЕНЕ (““, B3) -1)

Получаване на фамилното име

Функцията RIGHT Excel връща определен брой знаци отдясно на низ.

За да получим брой знаци, равни на дължината на фамилното име, използваме SEARCH, за да ни каже позицията на интервала, след което изваждаме това число от общата дължина на низа - което можем да получим с LEN.

Формулата на фамилното име е:

= НАДЯСНО (B3, LEN (B3) -ТЪРСЕНЕ (““, B3))

Обърнете внимание, че ако вашите имена съдържат бащини имена, второто име ще бъде разделено на клетката „Фамилия“.

Използване на SEARCH за връщане на n -ия знак в низ

Както бе отбелязано по -горе, SEARCH връща позицията на първото открито съвпадение. Но като го комбинираме с CHAR и SUBSTITUTE, можем да го използваме за локализиране на по -късни събития на знак, като втората или третата инстанция.

Ето формулата:

= ТЪРСЕНЕ (CHAR (134), ЗАМЕСТНИК (D3, C3, CHAR (134), B3))

В началото може да изглежда малко сложно, така че нека го разбием:

  • Използваме SEARCH и низът, който търсим, е „CHAR (134)“. CHAR връща знак въз основа на своя ASCII код. CHAR (134) е символ на кама - можете да използвате всичко тук, стига да не се показва в действителния ви низ.
  • SUBSTITUTE преминава през низ и заменя един знак или подниза за друг. Тук заместваме низа, който искаме да намерим (който е в C3) с CHAR (134). Причината това да работи е, че четвъртият параметър на SUBSTITUTE е номерът на екземпляра, който сме съхранили в B3.
  • И така, SUBSTITUTE заменя n -тия знак в низ за символа на камата, а след това SEARCH връща позицията му.

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

Намиране на средния участък на низ

Представете си, че имате много серийни номера със следния формат:

AB1XCDC-1BB/BB99

Били помолени да извадите средната част на всяка от тях. Вместо да правите това на ръка, можете да комбинирате SEARCH с MID, за да автоматизирате тази задача.

Функцията MID Excel връща част от низ. Неговите входове са текстов низ, начална точка и редица знаци.

Тъй като началната точка, която искаме, е знакът след тирето, можем да използваме SEARCH, за да получим позицията на тирето, и да добавим 1 към него. Ако серийният номер беше в B3, бихме използвали:

= ТЪРСЕНЕ ("-", B3) +1

За да получим броя знаци, които искаме да извадим оттук, можем да използваме търсенето, за да получим позицията на наклонената черта напред, да извадим позицията на тирето и след това да извадим 1, така че да се уверим, че не връщаме самата наклонена черта:

= SEARCH ("/", B3) -SEARCH ("-", B3) -1

След това просто включваме тези две формули в MID:

ТЪРСЕНЕ VS НАМЕРИ

SEARCH и FIND са подобни функции. И двамата връщат позицията на даден знак или подниза в друг низ. Има обаче две основни разлики:

  • FIND е чувствителен към регистър, но SEARCH не
  • FIND не допуска заместващи символи, но SEARCH го прави

Можете да видите няколко примера за тези разлики по -долу:

ТЪРСЕНЕ в Google Таблици

Функцията SEARCH работи абсолютно същото в Google Sheets, както и в Excel:

допълнителни бележки

Функцията SEARCH не е чувствителна към регистъра версия на функцията FIND. SEARCH също поддържа заместващи знаци. Find не.

ПРИМЕРИ НА ТЪРСЕНЕ във VBA

Можете също да използвате функцията SEARCH във VBA. Тип:
application.worksheetfunction.search (find_text, within_text, start_num)
За аргументите на функцията (find_text и т.н.) можете или да ги въведете директно във функцията, или да определите променливи, които да използвате вместо тях.

Връщане към списъка с всички функции в Excel

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave