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