В этой статье описаны синтаксис формулы и использование функции SEARCH в Microsoft Excel.
Описание
Функция SEARCH находит одну текстовую строку во второй текстовой строке и возвращает номер начальной позиции первой текстовой строки из первого символа второй текстовой строки. Например, чтобы найти позицию буквы "n" в слове "printer", можно использовать следующую функцию:
=ПОИСК("н";"принтер")
Эта функция возвращает 4, так как "н" является четвертым символом в слове "принтер".
Можно также находить слова в других словах. Например, функция
=ПОИСК("base";"database")
возвращает 5, так как слово "base" начинается с пятого символа слова "database". Поиск можно использовать, чтобы определить расположение символа или текстовой строки в другой текстовой строке, а затем использовать MID для возврата текста, или использовать REPLACE для изменения текста. Эти функции показаны в примере 1 данной статьи.
Синтаксис
ПОИСК(искомый_текст;просматриваемый_текст;[начальная_позиция])
Аргументы функции SEARCH:
-
find_text Обязательный. Текст, который требуется найти.
-
Просматриваемый_текст Обязательный. Текст, в котором нужно найти значение аргумента искомый_текст.
-
Начальная_позиция Необязательный. Номер знака в аргументе просматриваемый_текст, с которого следует начать поиск.
Замечание
-
Функция SEARCH не учитывает регистр. Если вы хотите выполнить поиск с учетом регистра, можно использовать функцию НАЙТИ.
-
В аргументе искомый_текст можно использовать подстановочные знаки: вопросительный знак (?) и звездочку (*). Вопросительный знак соответствует любому знаку, звездочка — любой последовательности знаков. Если требуется найти вопросительный знак или звездочку, введите перед ним тильду (~).
-
Если значение find_text не найдено, #VALUE! Возвращается значение ошибки.
-
Если аргумент начальная_позиция опущен, то он полагается равным 1.
-
Если start_num не больше 0 (ноль) или больше длины аргумента within_text , #VALUE! Возвращается значение ошибки.
-
Аргумент начальная_позиция можно использовать, чтобы пропустить определенное количество знаков. Допустим, что функцию ПОИСК нужно использовать для работы с текстовой строкой "МДС0093.МужскаяОдежда". Чтобы найти первое вхождение "М" в описательной части текстовой строки, задайте для аргумента начальная_позиция значение 8, чтобы поиск не выполнялся в той части текста, которая является серийным номером (в данном случае — "МДС0093"). Функция ПОИСК начинает поиск с восьмого символа, находит знак, указанный в аргументе искомый_текст, в следующей позиции, и возвращает число 9. Функция ПОИСК всегда возвращает номер знака, считая от начала просматриваемого текста, включая символы, которые пропускаются, если значение аргумента начальная_позиция больше 1.
Примеры
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу Enter. При необходимости измените ширину столбцов, чтобы видеть все данные.
Данные |
||
---|---|---|
Выписки |
||
Доход: маржа |
||
маржа |
||
Здесь "босс". |
||
Формула |
Описание |
Результат |
=ПОИСК("и";A2;6) |
Позиция первого знака "и" в строке ячейки A2, начиная с шестого знака. |
7 |
=ПОИСК(A4;A3) |
Начальная позиция строки "маржа" (искомая строка в ячейке A4) в строке "Доход: маржа" (ячейка, в которой выполняется поиск — A3). |
8 |
=ЗАМЕНИТЬ(A3;ПОИСК(A4;A3);6;"объем") |
Заменяет слово "маржа" словом "объем", определяя позицию слова "маржа" в ячейке A3 и заменяя этот знак и последующие пять знаков текстовой строкой "объем." |
Доход: объем |
=ПСТР(A3;ПОИСК(" ";A3)+1,4) |
Возвращает первые четыре знака, которые следуют за первым пробелом в строке "Доход: маржа" (ячейка A3). |
марж |
=ПОИСК("""";A5) |
Позиция первой двойной кавычки (") в ячейке A5. |
5 |
=ПСТР(A5;ПОИСК("""";A5)+1;ПОИСК("""";A5;ПОИСК("""";A5)+1)-ПОИСК("""";A5)-1) |
Возвращает из ячейки A5 только текст, заключенный в двойные кавычки. |
босс |
Важно:
-
Функция ПОИСКБ устарела.
-
В книгах, имеющих значение Совместимость версии 2, функция ПОИСКА улучшила поведение суррогатных пар, считая их одним символом, а не двумя. Селекторы вариантов (обычно используемые с эмодзи) по-прежнему будут учитываться как отдельные символы. Дополнительные сведения см. здесь: Стандарт Юникода