В тази статия е описан синтаксисът и употребата на функциите FIND и FINDB в Microsoft Excel.
Описание
FIND и FINDB търсят един текстов низ в друг текстов низ и връщат номера на началната позиция на първия знак на първия текстов низ спрямо втория.
Важно:
-
Тези функции може да не са налични на всички езици.
-
FIND е предназначена за употреба с езици, които използват набора знаци от по един байт (SBCS), докато FINDB може да се използва с езици, които използват набора знаци от по два байта (DBCS). Настройката на езика по подразбиране на компютъра се отразява на върнатата стойност по следния начин:
-
FIND винаги брои всеки знак, независимо дали е от два или един байта, като 1, независимо каква е езиковата настройка.
-
FINDB брои всеки двубайтов знак като 2, когато е разрешено редактирането на езика, който поддържа DBCS, и той е зададен по подразбиране. В противен случай FINDB брои всеки знак като 1.
Езиците, които поддържат DBCS включват японски, китайски (опростен), китайски (традиционен) и корейски.
Синтаксис
FIND(намери_текст;в_текст; [начален_ном])
FINDB(намери_текст;в_текст; [начален_ном])
Синтаксисът на функцията FIND и FINDB има следните аргументи:
-
намери_текст Задължително. Текстът, който искате да намерите.
-
в_текст Задължително. Текстът, съдържащ текста, който искате да намерите.
-
начален_ном Незадължително. Посочва знака, от който да започне търсенето. Първият знак в в_текст е знак номер 1. Ако изпуснете начален_ном, стойността му се приема за 1.
Забележки
-
FIND и FINDB отчитат разликите на малки и главни букви и не позволяват заместващи символи. Ако не искате да извършвате търсене, което да отчита разликите между малки и главни букви, или използвате заместващи символи, можете да използвате SEARCH и SEARCHB.
-
Ако намери_текст е "" (празен текст), FIND отчита съвпадение с първия знак в низа за търсене (т.е. знака, номериран с начален_ном или 1).
-
Аргументът намери_текст не може да съдържа никакви заместващи символи.
-
Ако find_text не се показва в within_text, FIND и FINDB връщат #VALUE! стойността на грешка.
-
Ако start_num не е по-голямо от нула, FIND и FINDB връщат #VALUE! стойността на грешка.
-
Ако start_num е по-голямо от дължината на within_text, FIND и FINDB връщат #VALUE! стойността на грешка.
-
Използвайте начален_ном, за да прескочите зададен брой знаци. Да предположим например че работите с текстовия низ "AYF0093.YoungMensApparel". За да намерите номера на първия знак "Y" в описателната част от текстовия низ, задайте начален_ном равно на 8, така че частта от текста с числото да не се претърсва. FIND започва със знак номер 8, намира намери_текст в следващия знак и връща номер 9. FIND винаги връща броя на знаците спрямо началото на в_текст, като брои и знаците, които сте пропуснали, ако начален_ном е по-голямо от 1.
Примери
Копирайте примерните данни в следващата таблица и ги поставете в клетка A1 на нов работен лист на Excel. За да покажат резултати формулите, изберете ги, натиснете клавиша F2 и след това натиснете клавиша Enter. Ако е необходимо, коригирайте ширините на колоните, за да видите всичките данни.
Данни |
||
---|---|---|
Miriam McGovern |
||
Формула |
Описание |
Резултат |
=FIND("M";A2) |
Позиция на първото "M" в клетка A2 |
1 |
=FIND("m";A2) |
Позиция на първото "m" в клетка A2 |
6 |
=FIND("M";A2;3) |
Положение на първото "М" в клетка A2, започващ от третия знак |
8 |
Пример 2
Данни |
||
---|---|---|
Керамични изолатори #124-TD45-87 |
||
Медни бобини #12-671-6772 |
||
Променливи резистори #116010 |
||
Формула |
Описание (резултат) |
Резултат |
=MID(A2,1,FIND(" #";A2;1)-1) |
Извлича текст от позиция 1 до позицията на "#" в клетка A2 (Керамични изолатори) |
Керамични изолатори |
=MID(A3,1,FIND(" #";A3;1)-1) |
Извлича текст от позиция 1 до позицията на "#" в клетка A3 (Медни бобини) |
Медни бобини |
=MID(A4,1,FIND(" #";A4;1)-1) |
Извлича текст от позиция 1 до позицията на "#" в клетка A4 (Променливи резистори) |
Променливи резистори |