В тази статия е описан синтаксисът и употребата на функциите SEARCH и SEARCHB в Microsoft Excel.
Описание
Функциите SEARCH и SEARCHB търсят един текстов низ в друг текстов низ и връщат номера на началната позиция на първия текстов низ спрямо първия знак на втория текстов низ. Например, за да намерите позицията на буквата "н" в думата принтер, можете да използвате следната функция:
=SEARCH("н";"принтер")
Тази функция връща 4, тъй като "н" е четвъртият знак в думата "принтер."
Освен това можете да извършвате търсене на думи в други думи. Например функцията
=SEARCH("кал";"портокал")
връща 6, тъй като думата "кал" започва от шестия знак на думата "портокал". Можете да използвате функциите SEARCH и SEARCHB за определяне на местоположението на знак или текстов низ в друг текстов низ и след това да използвате функциите MID и MIDB за връщане на текста или функциите REPLACE и REPLACEB за промяна на текста. Тези функции са показани в Пример 1 в тази статия.
Важно:
-
Тези функции може да не са налични на всички езици.
-
SEARCHB брои по 2 байта за всеки знак само когато език DBCS е зададен по подразбиране. В противен случай SEARCHB се държи като SEARCH, като брои по 1 байт за всеки знак.
Езиците, които поддържат DBCS включват японски, китайски (опростен), китайски (традиционен) и корейски.
Синтаксис
SEARCH(намери_текст;в_текст;[начален_ном])
SEARCHB(намери_текст;в_текст;[начален_ном])
Функциите SEARCH и SEARCHB имат следните аргументи:
-
намери_текст Задължително. Текстът, което искате да намерите.
-
в_текст Задължително. Текстът, в който искате да търсите стойността на аргумента намери_текст.
-
начален_ном Незадължително. Номерът на знака в аргумента в_текст, от който искате да започне търсенето.
Забележки
-
Функциите SEARCH и SEARCHB не правят разлика между главни и малки знаци. Ако искате да търсите с главни и малки знаци, можете да използвате FIND и FINDB.
-
Можете да използвате заместващите знаци, въпросителен знак (?) и звездичка (*) в аргумента намери_текст. Въпросителният знак съответства на единичен знак; звездичката съответства на всяка поредица от знаци. Ако искате да намерите самия въпросителен знак или звездичка, напишете тилда (~) преди знака.
-
Ако стойността на намери_текст не се намери, се връща стойността за грешка #VALUE!.
-
Ако аргументът начален_ном се пропусне, приема се за 1.
-
Ако аргументът начален_ном не е по-голям от 0 (нула) или е по-голям от дължината на аргумента в_текст, се връща стойността за грешка #VALUE!.
-
Използвайте начален_ном, за да прескочите зададен брой знаци. Като използваме функцията SEARCH за пример, нека предположим, че работите с текстовия низ "AYF0093.YoungMensApparel". За да намерите позицията на първия знак "Y" в описателната част от текстовия низ, задайте начален_ном равно на 8, така че частта с поредния номер да не се претърсва (в случая "AYF0093"). Функцията SEARCH започва операцията търсене от осмия знак, намира знака, зададен в аргумента намери_текст в следващата позиция и връща числото 9. Функцията SEARCH винаги връща броя на знаците спрямо началото на аргумента в_текст, като брои и знаците, които сте пропуснали, ако аргументът начален_ном е по-голям от 1.
Примери
Копирайте примерните данни в следващата таблица и ги поставете в клетка A1 на нов работен лист на Excel. За да покажат резултати формулите, изберете ги, натиснете клавиша F2 и след това натиснете клавиша Enter. Ако е необходимо, коригирайте ширините на колоните, за да видите всичките данни.
Данни |
||
---|---|---|
Отчетите |
||
Profit Margin |
||
margin |
||
The "boss" is here. |
||
Формула |
Описание |
Резултат |
=SEARCH("e";A2;6) |
Позицията на първото "e" в низа в клетка A2, започвайки от шестата позиция. |
7 |
=SEARCH(A4;A3) |
Позиция на "margin" (низа, който търсите в клетка A4) в "Profit Margin" (клетката, в която търсите е A3). |
8 |
=REPLACE(A3;SEARCH(A4;A3);6;"Amount") |
Заменя "Margin" с "Amount", като първо търси позицията на "Margin" в клетка A3, и след това заменя този знак и следващите четири знака с низа "Amount". |
Profit Amount |
=MID(A3,SEARCH(" ";A3)+1;4) |
Връща първите четири знака, които следват след първия знак за интервал в "Profit Margin" (клетка A3). |
Marg |
=SEARCH("""";A5) |
Позиция на първата двойна кавичка (") в клетка A5. |
5 |
=MID(A5,SEARCH("""";A5)+1;SEARCH("""";A5;SEARCH("""";A5)+1)-SEARCH("""";A5)-1) |
Връща само текста, ограден в двойните кавички, в клетка A5. |
boss |