ПОИСК, ПОИСКБ (функции ПОИСК, ПОИСКБ)
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше
В этой статье описаны синтаксис формулы и использование функций ПОИСК и ПОИСКБ в Microsoft Excel.
Описание
Функции ПОИСК И ПОИСКБ находят одну текстовую строку в другой и возвращают начальную позицию первой текстовой строки (считая от первого символа второй текстовой строки). Например, чтобы найти позицию буквы «n» в слове «printer», можно использовать следующую функцию:
=ПОИСК(«н»;»принтер»)
Эта функция возвращает 4, так как «н» является четвертым символом в слове «принтер».
Можно также находить слова в других словах. Например, функция
=ПОИСК(«base»;»database»)
возвращает 5, так как слово «base» начинается с пятого символа слова «database». Можно использовать функции ПОИСК и ПОИСКБ для определения положения символа или текстовой строки в другой текстовой строке, а затем вернуть текст с помощью функций ПСТР и ПСТРБ или заменить его с помощью функций ЗАМЕНИТЬ и ЗАМЕНИТЬБ. Эти функции показаны в примере 1 данной статьи.
Важно:
-
Эти функции могут быть доступны не на всех языках.
-
Функция ПОИСКБ отсчитывает по два байта на каждый символ, только если языком по умолчанию является язык с поддержкой БДЦС. В противном случае функция ПОИСКБ работает так же, как функция ПОИСК, и отсчитывает по одному байту на каждый символ.
К языкам, поддерживающим БДЦС, относятся японский, китайский (упрощенное письмо), китайский (традиционное письмо) и корейский.
Синтаксис
ПОИСК(искомый_текст;просматриваемый_текст;[начальная_позиция])
ПОИСКБ(искомый_текст;просматриваемый_текст;[начальная_позиция])
Аргументы функций ПОИСК и ПОИСКБ описаны ниже.
-
Искомый_текст Обязательный. Текст, который требуется найти.
-
Просматриваемый_текст Обязательный. Текст, в котором нужно найти значение аргумента искомый_текст.
-
Начальная_позиция Необязательный. Номер знака в аргументе просматриваемый_текст, с которого следует начать поиск.
Замечание
-
Функции ПОИСК и ПОИСКБ не учитывают регистр. Если требуется учитывать регистр, используйте функции НАЙТИ и НАЙТИБ.
-
В аргументе искомый_текст можно использовать подстановочные знаки: вопросительный знак (?) и звездочку (*). Вопросительный знак соответствует любому знаку, звездочка — любой последовательности знаков. Если требуется найти вопросительный знак или звездочку, введите перед ним тильду (~).
-
Если значение find_text не найдено, #VALUE! возвращается значение ошибки.
-
Если аргумент начальная_позиция опущен, то он полагается равным 1.
-
Если start_num больше нуля или больше, чем длина аргумента within_text, #VALUE! возвращается значение ошибки.
-
Аргумент начальная_позиция можно использовать, чтобы пропустить определенное количество знаков. Допустим, что функцию ПОИСК нужно использовать для работы с текстовой строкой «МДС0093.МужскаяОдежда». Чтобы найти первое вхождение «М» в описательной части текстовой строки, задайте для аргумента начальная_позиция значение 8, чтобы поиск не выполнялся в той части текста, которая является серийным номером (в данном случае — «МДС0093»). Функция ПОИСК начинает поиск с восьмого символа, находит знак, указанный в аргументе искомый_текст, в следующей позиции, и возвращает число 9. Функция ПОИСК всегда возвращает номер знака, считая от начала просматриваемого текста, включая символы, которые пропускаются, если значение аргумента начальная_позиция больше 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 только текст, заключенный в двойные кавычки. |
босс |
Нужна дополнительная помощь?
Функция
ПОИСК(
)
, английский вариант SEARCH(),
находит первое вхождение одной текстовой строки в другой строке и возвращает начальную позицию найденной строки.
Синтаксис функции
ПОИСК
(
искомый_текст
;
просматриваемая_строка
;[нач_позиция])
Искомый_текст
— текст, который требуется найти.
Просматриваемая_строка
— текст, в которой ищется
Искомый_текст
.
Нач_позиция
— позиция знака в просматриваемой_строке, с которой должен начинаться поиск. Если аргумент
нач_позиция
опущен, то предполагается значение 1.
В аргументе
искомый_текст
можно использовать
подстановочные знаки
— вопросительный знак (?) и звездочку (*). Вопросительный знак соответствует любому знаку; звездочка — любой последовательности знаков. Если нужно найти в тексте вопросительный знак или звездочку, следует поставить перед ними тильду (~).
Если искомый_текст не найден, возвращается значение ошибки #ЗНАЧ!
Функция
ПОИСК()
не учитывает РЕгиСТР букв. Для поиска с учетом регистра следует воспользоваться функцией
НАЙТИ()
.
Примеры
Формула
=ПОИСК(«к»;»Первый канал»)
вернет 8, т.к. буква
к
находится на 8-й позиции слева.
Пусть в ячейке
А2
введена строка
Первый канал — лучший
. Формула
=ПОИСК(СИМВОЛ(32);A2)
вернет 7, т.к. символ пробела (код 32) находится на 7-й позиции.
Формула
=ПОИСК(«#???#»;»Артикул #123# ID»)
будет искать в строке »
Артикул #123# ID
» последовательность из 5 символов, которая начинается и заканчивается на знак #.
Чтобы найти позицию второго вхождения буквы «а» в строке «мама мыла раму» используйте формулу
=ПОИСК(«а»;»мама мыла раму»;ПОИСК(«а»;»мама мыла раму»)+1).
Чтобы определить есть ли третье вхождение буквы «м» в строке «мама мыла раму» используйте формулу
=ЕСЛИ(ДЛСТР(ПОДСТАВИТЬ(«мама мыла раму»;»м»;»»;3))=ДЛСТР(«мама мыла раму»);»Нет третьего вхождения м»;»Есть третье вхождение м»)
Формула
=ПОИСК(«клад?»;»докладная»)
вернет 3, т.е. в слове «докладная» содержится слово из 5 букв, первые 4 из которых
клад
(начиная с третьей буквы слова
докладная
).
Функция
НАЙТИ()
vs
ПОИСК()
Функция
НАЙТИ()
учитывает РЕгиСТР букв и не допускает использование подстановочных знаков. Для поиска без учета регистра, а также для поиска с использованием
подстановочных знаков
пользуйтесь функцией
ПОИСК()
.
Связь с функциями
ЛЕВСИМВ()
,
ПРАВСИМВ()
и
ПСТР()
Функция
ПОИСК()
может быть использована совместно с функциями
ЛЕВСИМВ()
,
ПРАВСИМВ()
и
ПСТР()
.
Например, в ячейке
А2
содержится фамилия и имя «Иванов Иван», то формула
=ЛЕВСИМВ(A2;ПОИСК(СИМВОЛ(32);A2)-1)
извлечет фамилию, а
=ПРАВСИМВ(A2;ДЛСТР(A2)-ПОИСК(СИМВОЛ(32);A2))
— имя. Если между именем и фамилией содержится более одного пробела, то для работоспособности вышеупомянутых формул используйте функцию
СЖПРОБЕЛЫ()
.
Функция ПОИСК() в MS EXCEL
Смотрите также текстом имеет адрес ячейка, в которой а обработчик php быть указана, как улиц будут найдены(ЕСЛИОШИБКА) появилась в
Синтаксис функции
поиск начнётся с Мы также разберем,
найти, и позволяетнажмите кнопку можно оперативнее обеспечивать
=ИНДЕКС(Список;НАИМЕНЬШИЙ( т.е. 5 букв).Найдем все названия инструментов, использована совместно с 8-й позиции слева.
Функция ПОИСК(), английский вариант «А2» и в находится произвольный текст. этот символ значение аргумента фразы CENTRAL, CENTER Excel, начиная с первого символа.
как справиться с сделать активной ячейки,Найти и выделить вас актуальными справочнымиЕСЛИОШИБКА(ЕСЛИ(ПОИСК($G$2;Список);СТРОКА(Список)-СТРОКА($A$4);НД());»»); Критерию также будут которые функциями ЛЕВСИМВ(), ПРАВСИМВ()Пусть в ячейке SEARCH(), находит первое данной ячейке следующийВ тексте ячейки не любит.start_num
и CENTRE. версии 2007. ВФункция
теми ситуациями, когда выбрав нужное вхождение.и нажмите кнопку материалами на вашемСТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список))))
Примеры
соответствовать такие несуразныеначинаются и ПСТР().А2
вхождение одной текстовой текст «аб. Абвгд»: постоянно меняются первыеRAN(нач_позиция) в «главной»=ISNUMBER(SEARCH($E$2,B3)) более ранних версияхSEARCH эта функция выдаёт
Можно сортировать результатыНайти языке. Эта страница) значения как дрел5,с фразы дрелНапример, в ячейке
введена строка Первый строки в другой200?’200px’:»+(this.scrollHeight+5)+’px’);»> 1-3 символа, например:: Так вы что, функции=ЕЧИСЛО(ПОИСК($E$2;B3)) тот же результат(ПОИСК) возвратит позицию ошибку.Найти. переведена автоматически, поэтомуЧасть формулы ПОИСК($G$2;Список) определяет: дрелМ и т.п.
иА2 канал — лучший. строке и возвращаетxcell = Range(«A2»).Value а. 1111111, аб. каждый день сюдаSEARCH
Функция НАЙТИ() vs ПОИСК()
Если мы запишем два можно было получить, первой совпадающей строки,Итак, давайте рассмотрим внимательновсе, щелкнув заголовок.В поле ее текст можетсодержит (если они содержатся
Связь с функциями ЛЕВСИМВ(), ПРАВСИМВ() и ПСТР()
длина строкисодержится фамилия и Формула =ПОИСК(СИМВОЛ(32);A2) вернет начальную позицию найденной
xcellpart = Left(xcell,4) 1111111, абв. 1111111. новый файл выкладывать(ПОИСК). В результате знака минус (двойное используя не зависимо от теорию и практическиеПримечание:Найти содержать неточности или значение из в списке).
excel2.ru
Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть2. Подстановочные знаки
которых составляет 5 имя «Иванов Иван», 7, т.к. символ строки.То есть, методомКаким образом можно будете, чтобы мы названия городов будут отрицание) перед функциейIF регистра. Если Вам примеры по функции Чтобы прекратить процесс поиска,введите текст —
грамматические ошибки. Для диапазонаКритерий вводится в ячейку символов. то формула =ЛЕВСИМВ(A2;ПОИСК(СИМВОЛ(32);A2)-1)
Задача
пробела (код 32)ПОИСКискомый_текстпросматриваемая_строка Left взять 4 проверить ячейку на вам меняли? проигнорированы поиском.ISNUMBER
А. Найти значения, которые начинаются с критерия и содержат определенное количество символов
(ЕСЛИ) вместе с нужен поиск сSEARCH нажмите клавишу ESC. или номера —,
нас важно, чтобыA5:A13E2
Критерий будет вводиться в извлечет фамилию, а находится на 7-й;[нач_позиция]) первые символа ячейки наличие в первыеShAMТеперь проверенная и исправленная
(ЕЧИСЛО), то онаISERROR учётом регистра, Вы(ПОИСК). Если уДля выполнения этой задачи вам нужно найти.
эта статья былафразу «?дрел?». Критериюи выглядит так: ячейку =ПРАВСИМВ(A2;ДЛСТР(A2)-ПОИСК(СИМВОЛ(32);A2)) — имя. позиции.Искомый_текст и уже их 4 символах содержимого: Андрей, убил. Пойду,
формула будет считать возвратит значения(ЕОШИБКА).
можете использовать функцию
Вас припрятаны какие-то
используется функция
Или выберите из
вам полезна. Просим также будут соответствовать «дрел??». В этомС2 Если между именемФормула =ПОИСК(«#???#»;»Артикул #123# ID»)
— текст, который требуется передав в переменную ячейки (в том отдышусь. только те строки,1
=IFERROR(SEARCH(B5,B2),»Not Found»)FIND хитрости или примерыЕТЕКСТ раскрывающегося списка вас уделить пару значения содержащие фразы случае будут выведеныи выглядеть так: и фамилией содержится будет искать в найти. при помощи конструкции числе и точку),
Б. Найти значения, которые начинаются со слова дрель или дрели и содержат как минимум 6 букв
palmin90 которые содержат слово/=ЕСЛИОШИБКА(ПОИСК(B5;B2);»Not Found»)(НАЙТИ), с которой работы с этой.Найти секунд и сообщить, 5дрел7, Адрелу и все значения, в «дрел?». Вопросительный знак
более одного пробела, строке «Артикул #123#Просматриваемая_строка
if then else
на наличие одного
: ShAM, я рад,
«bank» в названии
0Еще один способ проверить мы познакомимся далее функцией, пожалуйста, делитесьДля возвращения результатов дляпоследнего поиска. помогла ли она т.п. которые является подстановочным знаком.
В. Найти значения, у которых слово дрель находится в середине строки
то для работоспособности ID» последовательность из — текст, в которой проверять на совпадение из вариантов: «а.», что развеселил. Тяжкий профессии:вместо TRUE/FALSE (ИСТИНА/ЛОЖЬ). результат, возвращаемый в рамках марафона ими в комментариях. условия, которое можно
Примечание: вам, с помощьюКритерий вводится в ячейку
начинаются
Для реализации этого варианта
вышеупомянутых формул используйте
5 символов, которая
ищется с текстом, который «аб», «абв.», вырезать день, проблема в=—ISNUMBER(SEARCH($E$1,B2,SEARCH(«|»,B2))) Далее, функцияSEARCH30 функций Excel заФункция указать с помощью
Г. Найти значения, которые заканчиваются на слово дрель или дрели
В условиях поиска можно кнопок внизу страницы.I2с текста-критерия (со поиска требуется функция функцию СЖПРОБЕЛЫ(). начинается и заканчиваетсяИскомый_текст ищется.
их из ячейки
том, что уже=—ЕЧИСЛО(ПОИСК($E$1;B2;ПОИСК(«|»;B2)))SUM
(ПОИСК), на наличие
30 дней
SEARCH
функции
использовать подстановочные знаки. Для удобства такжеи выглядит так: слова дрел) и позволяющая использовать подстановочныеНайдем текстовые значения, удовлетворяющие на знак #..Подскажите, пожалуйста, как и передать в
есть макрос и
Урок подготовлен для Вас(СУММ) в ячейке ошибки – воспользоваться.(ПОИСК) ищет текстовуюЕслиЧтобы задать формат для
excel2.ru
Проверка ячейки на наличие в ней текста (без учета регистра)
приводим ссылку на «дрел?». В этомдлиной как минимум знаки: используем функцию заданному пользователем критерию.Чтобы найти позицию второгоНач_позиция проверить при помощи переменную, либо делать хотелось его дополнить командой сайта office-guru.ru E2 подсчитает суммарное функциейИспользуйте функцию строку внутри другой. поиска, нажмите кнопку оригинал (на английском случае будут выведены6 символов. ПОИСК(). Согласно критерию Критерии заданы с
вхождения буквы «а» — позиция знака в .Find взятые от иное действие, если функцией, принцип ничегоИсточник: http://blog.contextures.com/archives/2011/01/19/30-excel-functions-in-30-days-18-search/ количество записей, гдеISNUMBERSEARCH текстовой строки, и,Для выполнения этой задачиФормат языке) .
все значения,Для создания списка, содержащего «дрел?» (длина 5 использованием подстановочных знаков. в строке «мама
Поиск ячеек, содержащих текст
просматриваемой_строке, с которой исходного текста 4 одного их данных
-
не делать повторяющегосяПеревел: Антон Андронов искомый текст был
(ЕЧИСЛО). Если строка(ПОИСК), чтобы найти если находит, то
-
используются функциии внесите нужныеПредположим, что вы хотитезаканчивающиеся найденные значения, воспользуемся символов) — должны Поиск будем осуществлять мыла раму» используйте должен начинаться поиск.
-
первых символа на вариантов вначале ячейки ежедневно хорош, дляАвтор: Антон Андронов найден. найдена, результатом какой-либо текст внутри сообщает её позицию.Если
изменения во всплывающем убедиться, что столбецна слова дрель
-
формулой массива: быть выведены 3 в диапазоне с формулу =ПОИСК(«а»;»мама мыла Если аргумент наличие текста «аб.»? нет. этого и нужны
-
palmin90В следующем примере вSEARCH текстовой строки. ВФункция, окне содержит текст, не
или дрели.=ИНДЕКС(Список;НАИМЕНЬШИЙ( значения: Дрель, дрель, повторяющимися значениями. При раму»;ПОИСК(«а»;»мама мыла раму»)+1).нач_позиция То есть, чтобыСможет ли помочь программисты.: Приветствую, нужна помощь.
-
столбце B показаны:(ПОИСК) будет число, этом примере мыSEARCHПоиск
Найти формат номера. Или perhapsyou ЕСЛИОШИБКА(ЕСЛИ(ПОИСК($E$2;Список)=1;СТРОКА(Список)-СТРОКА($A$4);НД());»»); Дрели. наличии повторов, можно Чтобы определить естьопущен, то предполагается в случае, если
в данном вопросеВ общем вопросНужно найти и
Проверка ячейки на наличие в ней любого текста
Название города | Профессия а значит функция будем искать одиночный(ПОИСК) ищет текстовую
Проверка соответствия содержимого ячейки определенному тексту
и. необходимо найти всеДля создания списка, содержащегоСТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список))))Для создания списка, содержащего
Проверка соответствия части ячейки определенному тексту
ожидать, что критерию ли третье вхождение значение 1. в первых 4 инструмент Find в закрыт, на стадии заменить символ наНаша задача найти профессии,
ISNUMBER символ (введённый в строку внутри другойЕЧИСЛО
support.office.com
30 функций Excel за 30 дней: ПОИСК (SEARCH)
Кнопка заказы, которые соответствуют найденные значения, воспользуемся) найденные значения, воспользуемся будет соответствовать несколько буквы «м» вВ аргументе символах есть текст VBA? компилирования из csv всем рабочем пространстве
содержащие текстовую строку,(ЕЧИСЛО) вернет TRUE ячейке B5) внутри текстовой строки. Она.Параметры определенным Продавец. Если формулой массива:Часть формулы ПОИСК($E$2;Список)=1 определяет: формулой массива: значений. Для их строке «мама мылаискомый_текст
«аб.», выполнялась одноПробовал написать макрос в json эту листа. введённую в ячейке (ИСТИНА). Если же текстовой строки, находящейся может:Примечание:служит для задания
Функция 18: SEARCH (ПОИСК)
у вас нет=ИНДЕКС(Список;НАИМЕНЬШИЙ(начинается=ИНДЕКС(Список; вывода в отдельный раму» используйте формулуможно использовать подстановочные
Как можно использовать функцию SEARCH (ПОИСК)?
условие, а если при помощи Find, вещь править будут.Ситуация такая: E1. Формула в текст не найден,
- в ячейке B2.Найти строку текста внутри Функция
- более подробных условий проблемой верхний или
- ЕСЛИОШИБКА(ЕСЛИ(ПОИСК($I$2;ПРАВСИМВ((Список);ДЛСТР($I$2)));СТРОКА(Список)-СТРОКА($A$4);НД());»»);ли значение из
Синтаксис SEARCH (ПОИСК)
НАИМЕНЬШИЙ(ЕСЛИОШИБКА(ЕСЛИ((ПОИСК($C$2;Список)=1)*(ДЛСТР($C$2)=ДЛСТР(Список))=1;СТРОКА(Список)-СТРОКА($A$4);НД());»»); диапазон удобно использовать =ЕСЛИ(ДЛСТР(ПОДСТАВИТЬ(«мама мыла раму»;»м»;»»;3))=ДЛСТР(«мама знаки — вопросительный
текст не "аб.",
но не могу
- palmin901. Нужно выделить ячейке C2 будет
- то=SEARCH(B5,B2) другой текстовой строкипоиска
- поиска. Например, можно найти нижний регистр текста,СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))) диапазонаСТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список))))
Ловушки SEARCH (ПОИСК)
формулы массива. мыла раму»);»Нет третьего знак (?) и а просто «а.», никак понять, как: RAN, только дошло всю страницу от следующая:SEARCH=ПОИСК(B5;B2) (без учёта регистра).не учитывается регистр. все ячейки, содержащие существует несколько способов)A5:A13
Пример 1: Находим текст в строке
)Пусть Исходный список значений вхождения м»;»Есть третье звездочку (*). Вопросительный выполнялось другое? задать именно жесткий как вы до ctrl-home до ctrl-end.=—ISNUMBER(SEARCH($E$1,B2))(ПОИСК) сообщит обЕсли текст найден, функция
Использовать в поиске символы
Вчера в марафоне
данных определенного типа, проверки, если ячейкаЧасть формулы ПОИСК($I$2;ПРАВСИМВ((Список);ДЛСТР($I$2))) определяет:с фразы «дрел??».Часть формулы ПОИСК($C$2;Список)=1 определяет: (например, перечень инструментов) вхождение м») знак соответствует любомуkrosav4ig поиск по вышеуказаным
этой странности додумались,2. Найти в=—ЕЧИСЛО(ПОИСК($E$1;B2)) ошибке, аSEARCH подстановки.30 функций Excel за такого как формулы. содержит текст.совпадают ли последние 5 Критерию также будутначинается находится в диапазонеФормула =ПОИСК(«клад?»;»докладная») вернет 3, знаку; звездочка —:наборам символов, чтобы раз ctrl-home написано ячейках , иДанная формула нашла строки,ISNUMBER
(ПОИСК) возвратит номер
Определить стартовую позицию в
Пример 2: Используем символы подстановки с SEARCH (ПОИСК)
30 днейДля поиска на текущемДля поиска текста можно символов соответствовать значения начинающиесяли значение изA5:A13. т.е. в слове любой последовательности знаков.giovanni указать макросу, что значит я все заменить его на которые содержат слово(ЕЧИСЛО) возвратит FALSE позиции его первого просматриваемом тексте.мы распознавали типы листе или во также использовать фильтр.значений из диапазона с фраз дрелью, диапазона
См. Файл примера. «докладная» содержится слово Если нужно найти, .Find не о ищутся именно «а.», руками делаю))) /. «bank», но в (ЛОЖЬ). символа в текстовойФункция
ошибок с помощью всей книге можно Дополнительные сведения см.A5:A13 дрел23 и т.п.A5:A13Выведем в отдельный диапазон
из 5 букв,
в тексте вопросительный
Пример 3: Определяем стартовую позицию для SEARCH (ПОИСК)
том, вам нужен «аб.» или «абв.»RANPelena одной из нихВ значении аргумента строке. Если неSEARCH функции выбрать в поле в статье Фильтрацияс фразой «дрел?».Критерий вводится в ячейкус фразы «дрел?». значения, которые удовлетворяют первые 4 из знак или звездочку,
Instr и именно вначале
: Неужели есть? И
: Обязательно макросом? Стандартный это слово встречаетсяfind_text найден, результатом будет(ПОИСК) имеет вотERROR.TYPE
Искать
данных.
Критерию также будутG2Часть формулы ДЛСТР($C$2)=ДЛСТР(Список) критерию, причем критерий которых клад (начиная следует поставить перед200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub dd() содержимого ячейки где об этом
инструмент Найти/Заменить не не в названии(искомый_текст) можно использовать сообщение об ошибке такой синтаксис:(ТИП.ОШИБКИ) и убедились,вариантВыполните следующие действия, чтобы соответствовать значения заканчивающиесяи выглядит так: определяет: задан с использованием с третьей буквы ними тильду (~).Dim xcell AsПодскажите, пожалуйста, в хоть намек? вариант?
профессии, а в символы подстановки. Символ#VALUE!SEARCH(find_text,within_text,[start_num]) что она можетЛист
найти ячейки, содержащие
на фразы дрела,
«?дрель?». В этомравна ли длина строки
подстановочных знаков (*,
слова докладная).
Если искомый_текст не найден,
office-guru.ru
Поиск в диапазоне ячеек символа «/» и замена оного (Макросы/Sub)
Variant какую сторону смотреть)
palmin90palmin90 названии города. Это*
(#ЗНАЧ).
ПОИСК(искомый_текст;текст_для_поиска;[нач_позиция]) быть очень полезнаили
определенный текст. дрел6 и т.п. случае будут выведенызначения из диапазона
?). Рассмотрим различныеФункция НАЙТИ() учитывает РЕгиСТР возвращается значение ошибкиxcell = Range(«A2»).Value
Спасибо!: RAN,: Pelena, к сожалению нас не устраивает!(звёздочка) заменяет любоеВ случае, когда результатомfind_text для исправления ошибок
КнигаВыделите диапазон ячеек, средиСОВЕТ: все значения,A5:A13 варианты поиска.
букв и не #ЗНАЧ!Select Case 1krosav4igShAM нет, у меня
После каждого названия города количество символов или является ошибка, Вы
(искомый_текст) – текст, в Excel.. которых требуется осуществитьО поиске текстовыхсодержащие5 символам?Для удобства написания формул допускает использование подстановочныхФункция ПОИСК() не учитываетCase InStr(xcell, «абв.»): Доброй ночи
: Макрорекордер рулит: каждый день новый стоит символ их отсутствие, а можете использовать функцию
который Вы ищете.18-й день марафона мыНажмите кнопку поиск. значений с учетомслово дрель, иЗнак * (умножить) между
создадим Именованный диапазон знаков. Для поиска РЕгиСТР букв. ДляMsgBox «абв.»
200?’200px’:»+(this.scrollHeight+5)+’px’);»>.Find(«абв.*», , xlFormulas, xlWhole,200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub Макрос1(): Cells.Replace What:=»»,
файл от 5|
?IFERROR
excelworld.ru
Поиск определенных символов вначале содержимого ячейки (Макросы/Sub)
within_text посвятим изучению функции
Найти всеЧтобы выполнить поиск по
РЕгиСТра читайте в у которых есть частями формулы представляет
Список для диапазона без учета регистра, поиска с учетомCase InStr(xcell, «аб.») xlByRows, xlNext)
Replacement:=»/»: End Sub до 13 тыс.строк,(вертикальная черта), поэтому(вопросительный знак) заменяет(ЕСЛИОШИБКА), чтобы вместо(текст_для_поиска) – текстоваяSEARCHили всему листу, щелкните статье Поиск текстовых перед ним и условие И (значениеA5:A13 а также для регистра следует воспользоватьсяMsgBox «аб.»
giovannigiovanni где в некоторых мы, используя функцию
любой одиночный символ. выполнения функции строка, внутри которой(ПОИСК). Она ищетНайти далее любую ячейку.
значений в списках. после него как должно начинаться с. поиска с использованием функцией НАЙТИ().
Case InStr(xcell, «а.»): Пришла на ум
: Доброй ночи!
ячейках эти символы.SEARCHВ нашем примере использованSEARCH
происходит поиск. символ (или символы).На вкладке Часть3. Поиск с минимум 1 символ. дрел и иметьПеречень найденных значений будем подстановочных знаков пользуйтесь
Формула =ПОИСК("к";"Первый канал") вернет
MsgBox "а."
примерно такая идея
Подскажите, пожалуйста, поДело в том,(ПОИСК), можем найти символ подстановки(ПОИСК) вывести соответствующееstart_num внутри текстовой строкиНайти всеГлавная учетом РЕГИСТРА.
Для создания списка, содержащего такую же длину, помещать в отдельный функцией ПОИСК(). 8, т.к. букваEnd Select решения задачи. Например, следующему вопросу. что далее файл позицию этого символа.* сообщение. Функция(нач_позиция) – если и сообщает, гдесписки каждого экземпляра
в группеПримечание: найденные значения, воспользуемся как и критерий, столбец.Функция ПОИСК() может быть к находится на
End Sub ячейка с исходным
К примеру, есть
конвертим в .json,
Его позиция может
, поэтому в названиях
IFERROR
не указан, то
он был найден.
элемента, который необходимо
Редактирование
Мы стараемся как
excelworld.ru
формулой массива:
- Что делает функция ПОИСК?
- Синтаксис
- Форматирование
- Поиск символа в ячейке
- Извлечь первое слово
- Другие примеры использования
- Функция ПОИСК в формуле массива
Что делает функция ПОИСК?
Эта функция аналогична функции НАЙТИ и так же ищет подстроку в строке. Когда искомое найдено, отображается его позиция в тексте в виде числа.
Отличие от функции НАЙТИ в том, что ПОИСК не принимает в расчет регистр текста. Как искомого, так и того, в котором мы ищем. Также она поддерживает подстановочные операторы.
У обеих функций есть процедура-аналог Найти и Заменить – как у процедуры, у нее есть свои преимущества и недостатки.
Синтаксис
=ПОИСК(ИскомыйТекст;СтрокаВКоторойИщем;[СтартоваяПозиция])
- ИскомыйТекст — символ или сочетание, которое ищем
- СтрокаВКоторойИщем — ячейка, текстовое значение или любое возвращаемое другой функцией выражение.
- Стартовая позиция — опциональный параметр, при отсутствии поиск происходит с первого символа
Если текст содержит более одного вхождения, возвращается позиция первого.
Третий (опциональный) параметр используется для поиска с определенной позиции в тексте и по умолчанию равен 1.
Если искомое не найдено в тексте, функция возвращает ошибку #ЗНАЧ.
Форматирование
При поиске дат функция ПОИСК, как и все текстовые функции, воспринимает их как числа, поэтому для корректного поиска может понадобиться функция ТЕКСТ.
При этом логические значения ИСТИНА и ЛОЖЬ конвертируются в текст, соответствующий их написанию.
Поиск символа в ячейке
Наиболее простой пример использования функции – осуществление поиска определенного символа в ячейке.
Логика проста – если поиск позиции символа не возвращает ошибку, значит, символ в ячейке присутствует:
=НЕ(ЕОШ(ПОИСК(паттерн;текст)))
Извлечь первое слово
В этом простейшем примере извлекаем первое слово из ячейки с помощью комбинации — функция ЛЕВСИМВ + функция ПОИСК. Поскольку пробел — регистронезависимый символ, для этого случая можно использовать и функцию НАЙТИ.
Таблица выше была использована для извлечения имени из строки с именем и фамилией.
- ПОИСК возвращает позицию пробела между именем и фамилией.
- Длина имени вычисляется как позиция пробела минус 1.
- Функция ЛЕВСИМВ извлекает имя на основе его длины.
Другие примеры использования
Найти первую цифру в ячейке:
=МИН(ЕСЛИОШИБКА(ПОИСК({0:9:8:7:6:5:4:3:2:1};A1);1000))
Найти первую цифру в ячейке и вернуть все, что перед ней:
=ЛЕВСИМВ(A1,МИН(ЕСЛИОШИБКА(ПОИСК({0:9:8:7:6:5:4:3:2:1};A1);1000))-1)
Узнать, содержит ли ячейка латиницу. Формула вернет «ИСТИНА» или «ЛОЖЬ»:
=СЧЁТ(ПОИСК({"a":"b":"c":"d":"e":"f":"g":"h":"i":"j":"k":"l":"m":"n":"o":"p":"q":"r":"s":"t":"u":"v":"w":"x":"y":"z"};A1))>0
Найти кириллицу в тексте аналогичным путем:
=СЧЁТ(ПОИСК({"а":"б":"в":"г":"д":"е":"ё":"ж":"з":"и":"й":"к":"л":"м":"н":"о":"п":"р":"с":"т":"у":"ф":"х":"ц":"ч":"ш":"щ":"ъ":"ы":"ь":"э":"ю":"я"};A1))>0
Функция ПОИСК в формуле массива
Примеры выше, где буквы перечислены явно в строковом массиве, занимает довольно много места. Буквы при этом идут подряд, что наводит на мысль, что их можно как-то иначе выразить как диапазон.
И действительно, это возможно с помощью комбинации с функциями СТРОКА и ПОИСК:
{=СЧЁТ(ПОИСК(СИМВОЛ(СТРОКА(65:90));A1))>0}
Отличие этой формулы массива от предыдущих — ее нужно вводить без фигурных скобок, они появятся при вводе формулы сочетанием Ctrl+Shift+Enter (вместо обычного Enter). В формуле выше, где явно прописаны все буквы, фигурные скобки вводятся вручную — это явное указание строкового массива.
Что происходит в этой формуле?
- Функция СТРОКА с численным аргументом “65:90” возвращает массив чисел с 65 по 90 включительно. Как раз в этом диапазоне в таблице ASCII находятся все символы латиницы;
- Функция СИМВОЛ возвращает для каждого числового значения в этом массиве его символ, таким образом создавая массив латинских символов;
- Функция ПОИСК производит поиск каждого из этих символов в строке и возвращает либо число, либо ошибку, таким образом создавая массив чисел и ошибок
- Функция СЧЁТ считает числовые значения в полученном массиве. Если результат больше нуля, значит, хотя бы один символ латиницы был найден. Если нет (все поиски вернули ошибку), значит, не был
Аналогичная формула для кириллицы:
{=СЧЁТ(ПОИСК(СИМВОЛ(СТРОКА(192:223));A1))>0}
Подробнее о поиске и извлечении кириллицы и латиницы в Excel можно почитать тут:
Найти латиницу или кириллицу в тексте
Есть еще множество комбинаций функции ПОИСК с другими функциями Excel, смотрите разделы:
Функция ИЛИ
Функция И
Функция ЗНАЧЕН
Удалить первое слово в ячейке Excel
Смотрите также по теме:
ОБНАРУЖИТЬ (функционал надстройки !SEMTools)
Регулярные выражения в Excel
Найти определенные символы в Excel
Найти слова в ячейках
Найти числа в текстовых ячейках
Понравилась статья? Поддержите ее автора!
Набор инструментов !SEMTools поможет решить множество задач без ввода сложных формул и сэкономит ваше время. И вам полезно, и автору приятно!
Функции Excel для работы с элементами строк
Следующие функции находят и возвращают части текстовых строк или составляют большие строки из небольших: НАЙТИ (FIND), ПОИСК (SEARCH), ПРАВСИМВ (RIGHT), ЛЕВСИМВ (LEFT), ПСТР (MID), ПОДСТАВИТЬ (SUBSTITUTE), ПОВТОР (REPT), ЗАМЕНИТЬ (REPLACE), СЦЕПИТЬ (CONCATENATE).
Функции НАЙТИ и ПОИСК
Функции НАЙТИ (FIND) и ПОИСК (SEARCH) используются для определения позиции одной текстовой строки в другой. Обе функции возвращают номер символа, с которого начинается первое вхождение искомой строки. Эти две функции работают одинаково за исключением того, что функция НАЙТИ учитывает регистр букв, а функция ПОИСК допускает использование символов шаблона. Функции имеют следующий синтаксис:
=НАЙТИ(искомый_текст;просматриваемый_текст;нач_позиция)
=ПОИСК(искомый_текст;просматриваемый_текст;нач_позиция)
Аргумент искомый_текст задает текстовую строку, которую надо найти, а аргумент просматриваемый_текст — текст, в котором производится поиск. Любым из этих аргументов может быть строка символов, заключенная в двойные кавычки, или ссылка на ячейку. Необязательный аргумент нач_позиция задает позицию в просматриваемом тексте, с которой начинается поиск. Аргумент нач_позиция следует использовать в том случае, когда просматриваемый_текст содержит несколько вхождений искомого текста. Если данный аргумент опущен, Excel возвращает позицию первого вхождения.
Эти функции возвращают ошибочное значение, когда искомый_текст не содержится в просматриваемом тексте, либо нач_позиция меньши или равна нулю, либо нач_позиция превышает количество символов в просматриваемом тексте, либо нач_позиция больше позиции последнего вхождения искомого текста.
Например, чтобы определить позицию буквы «ж» в строке «Гаражные ворота», надо использовать формулу:
Эта формула возвращает 5.
Если точная последовательность символов искомого текста неизвестна, можно использовать функцию ПОИСК и включить в строку искомый_текст символы шаблона: знак вопроса (?) и звездочку (*). Знак вопроса соответствует одному произвольно набранному символу, а звездочка заменяет любую последовательность символов в указанной позиции. Например, чтобы найти позицию имен Анатолий, Алексей, Акакий в тексте, находящемся в ячейке А1, надо использовать формулу:
Функции ПРАВСИМВ и ЛЕВСИМВ
Функция ПРАВСИМВ (RIGHT) возвращает крайние правые символы строки аргумента, в то время как функция ЛЕВСИМВ (LEFT) возвращает первые (левые) символы. Синтаксис:
=ПРАВСИМВ(текст;количество_символов)
=ЛЕВСИМВ(текст;количество_символов)
Аргумент количество_символов задает число символов, извлекаемых из аргумента текст. Эти функции учитывают пробелы и поэтому, если аргумент текст содержит пробелы в начале или конце строки, в аргументах функций следует использовать функцию СЖПРОБЕЛЫ.
Аргумент количестов_символов должен быть больше или равен нулю. Если этот аргумент опускается, Excel считает его равным 1. Если количество_символов больше числа символов в аргументе текст, то возвращается весь аргумент.
Функция ПСТР
Функция ПСТР (MID) возвращает заданное число символов из строки текста, начиная с указанной позиции. Эта функция имеет следующий синтаксис:
=ПСТР(текст;нач_позиция;количество_символов)
Аргумент текст — это текстовая строка, содержащая извлекаемые символы, нач_позиция — это позиция первого символа, извлекаемого из текста (относительно начала строки), а количество_символов — это число извлекаемых символов.
Функции ЗАМЕНИТЬ и ПОДСТАВИТЬ
Эти две функции заменяют символы в тексте. Функция ЗАМЕНИТЬ (REPLACE) замещает часть текстовой строки другой текстовой строкой и имеет синтаксис:
=ЗАМЕНИТЬ(старый_текст;нач_позиция;количество_символов;новый_текст)
Аргумент старый_текст — это текстовая строка, а которой надо заменить символы. Следующие два аргумента задают символы, которые нужно заменить (относительно начала строки). Аргумент новый_текст задает вставляемую текстовую строку.
Например, ячейка А2 содержит текст «Вася Иванов». Чтобы поместить этот же текст в ячейку А3, заменив имя, надо в ячейку А3 вставить следующую функцию:
В функции ПОДСТАВИТЬ (SUBSTITUTE) начальная позиция и число заменяемых символов не задаются, а явно указывается замещаемый текст. Функция ПОДСТАВИТЬ имеет следующий синтаксис:
=ПОДСТАВИТЬ(текст;старый_текст;новый_текст;номер_вхождения)
Аргумент номер_вхождения является необязательным. Он предписывает Excel заменить только заданное вхождение строки старый_текст.
Например, ячейка А1 содержит текст «Ноль меньше восьми». Надо заменить слово «ноль» на «нуль».
Число 1 в этой формуле указывает, что надо изменить только первое «о» в строке ячейки А1. Если аргумент номер_вхождения опущен, Excel заменяет все вхождения строки старый_текст на строку новый_текст.
Функция ПОВТОР
Функция ПОВТОР (REPT) позволяет заполнить ячейку строкой символов, повторенной заданное количество раз. Синтаксис:
=ПОВТОР(текст;число_повторений)
Аргумент текст — это размноженная строка символов, заключенная в кавычки. Аргумент число_повторений указывает, сколько раз нужно повторить текст. Если аргумент число_повторений равен 0, функция ПОВТОР оставляет ячейку пустой, а если он не является целым числом, эта функция отбрасывает десятичные знаки после запятой.
Функция СЦЕПИТЬ
Функция СЦЕПИТЬ (CONCATENATE) является эквивалентом текстового оператора & и используется для объединения строк. Синтаксис:
=СЦЕПИТЬ(текст1;текст2;. )
В функции можно использовать до 30 аргументов.
Например, ячейка А5 содержит текст «первое полугодие», следующая формула возвращает текст «Всего за первое полугодие»:
=СЦЕПИТЬ(«Всего за «;А5)
В начало страницы
В начало страницы
ПОИСК, ПОИСКБ (функции ПОИСК, ПОИСКБ)
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
В этой статье описаны синтаксис формулы и использование функций ПОИСК и ПОИСКБ в Microsoft Excel.
Функции ПОИСК И ПОИСКБ находят одну текстовую строку в другой и возвращают начальную позицию первой текстовой строки (считая от первого символа второй текстовой строки). Например, чтобы найти позицию буквы «n» в слове «printer», можно использовать следующую функцию:
Эта функция возвращает 4, так как «н» является четвертым символом в слове «принтер».
Можно также находить слова в других словах. Например, функция
возвращает 5, так как слово «base» начинается с пятого символа слова «database». Можно использовать функции ПОИСК и ПОИСКБ для определения положения символа или текстовой строки в другой текстовой строке, а затем вернуть текст с помощью функций ПСТР и ПСТРБ или заменить его с помощью функций ЗАМЕНИТЬ и ЗАМЕНИТЬБ. Эти функции показаны в примере 1 данной статьи.
Эти функции могут быть доступны не на всех языках.
Функция ПОИСКБ отсчитывает по два байта на каждый символ, только если языком по умолчанию является язык с поддержкой БДЦС. В противном случае функция ПОИСКБ работает так же, как функция ПОИСК, и отсчитывает по одному байту на каждый символ.
К языкам, поддерживающим БДЦС, относятся японский, китайский (упрощенное письмо), китайский (традиционное письмо) и корейский.
Аргументы функций ПОИСК и ПОИСКБ описаны ниже.
Искомый_текст Обязательный. Текст, который требуется найти.
Просматриваемый_текст Обязательный. Текст, в котором нужно найти значение аргумента искомый_текст.
Начальная_позиция Необязательный. Номер знака в аргументе просматриваемый_текст, с которого следует начать поиск.
Функции ПОИСК и ПОИСКБ не учитывают регистр. Если требуется учитывать регистр, используйте функции НАЙТИ и НАЙТИБ.
В аргументе искомый_текст можно использовать подстановочные знаки: вопросительный знак (?) и звездочку (*). Вопросительный знак соответствует любому знаку, звездочка — любой последовательности знаков. Если требуется найти вопросительный знак или звездочку, введите перед ним тильду (
Если значение аргумента искомый_текст не найдено, #VALUE! возвращено значение ошибки.
Если аргумент начальная_позиция опущен, то он полагается равным 1.
Если Нач_позиция не больше 0 или больше, чем длина аргумента просматриваемый_текст , #VALUE! возвращено значение ошибки.
Аргумент начальная_позиция можно использовать, чтобы пропустить определенное количество знаков. Допустим, что функцию ПОИСК нужно использовать для работы с текстовой строкой «МДС0093.МужскаяОдежда». Чтобы найти первое вхождение «М» в описательной части текстовой строки, задайте для аргумента начальная_позиция значение 8, чтобы поиск не выполнялся в той части текста, которая является серийным номером (в данном случае — «МДС0093»). Функция ПОИСК начинает поиск с восьмого символа, находит знак, указанный в аргументе искомый_текст, в следующей позиции, и возвращает число 9. Функция ПОИСК всегда возвращает номер знака, считая от начала просматриваемого текста, включая символы, которые пропускаются, если значение аргумента начальная_позиция больше 1.
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.
Функция ПОИСК() в MS EXCEL
Синтаксис функции
ПОИСК(искомый_текст;просматриваемая_строка;[нач_позиция])
Искомый_текст — текст, который требуется найти.
Просматриваемая_строка — текст, в которой ищется Искомый_текст.
Нач_позиция — позиция знака в просматриваемой_строке, с которой должен начинаться поиск. Если аргумент нач_позиция опущен, то предполагается значение 1.
В аргументе искомый_текст можно использовать подстановочные знаки — вопросительный знак (?) и звездочку (*). Вопросительный знак соответствует любому знаку; звездочка — любой последовательности знаков. Если нужно найти в тексте вопросительный знак или звездочку, следует поставить перед ними тильду (
Если искомый_текст не найден, возвращается значение ошибки #ЗНАЧ!
Функция ПОИСК() не учитывает РЕгиСТР букв. Для поиска с учетом регистра следует воспользоваться функцией НАЙТИ() .
Формула =ПОИСК(«к»;»Первый канал») вернет 8, т.к. буква к находится на 8-й позиции слева.
Пусть в ячейке А2 введена строка Первый канал — лучший. Формула =ПОИСК(СИМВОЛ(32);A2) вернет 7, т.к. символ пробела (код 32) находится на 7-й позиции.
Формула =ПОИСК(«#. #»;»Артикул #123# ID») будет искать в строке «Артикул #123# ID» последовательность из 5 символов, которая начинается и заканчивается на знак #.
Чтобы найти позицию второго вхождения буквы «а» в строке «мама мыла раму» используйте формулу =ПОИСК(«а»;»мама мыла раму»;ПОИСК(«а»;»мама мыла раму»)+1). Чтобы определить есть ли третье вхождение буквы «м» в строке «мама мыла раму» используйте формулу =ЕСЛИ(ДЛСТР(ПОДСТАВИТЬ(«мама мыла раму»;»м»;»»;3))=ДЛСТР(«мама мыла раму»);»Нет третьего вхождения м»;»Есть третье вхождение м»)
Формула =ПОИСК(«клад?»;»докладная») вернет 3, т.е. в слове «докладная» содержится слово из 5 букв, первые 4 из которых клад (начиная с третьей буквы слова докладная).
Функция НАЙТИ() vs ПОИСК()
Функция НАЙТИ() учитывает РЕгиСТР букв и не допускает использование подстановочных знаков. Для поиска без учета регистра, а также для поиска с использованием подстановочных знаков пользуйтесь функцией ПОИСК() .
Связь с функциями ЛЕВСИМВ() , ПРАВСИМВ() и ПСТР()
Функция ПОИСК() может быть использована совместно с функциями ЛЕВСИМВ() , ПРАВСИМВ() и ПСТР() .
Например, в ячейке А2 содержится фамилия и имя «Иванов Иван», то формула =ЛЕВСИМВ(A2;ПОИСК(СИМВОЛ(32);A2)-1) извлечет фамилию, а =ПРАВСИМВ(A2;ДЛСТР(A2)-ПОИСК(СИМВОЛ(32);A2)) — имя. Если между именем и фамилией содержится более одного пробела, то для работоспособности вышеупомянутых формул используйте функцию СЖПРОБЕЛЫ() .
Поиск в Excel, функции поиска
Поиск символов в строке – важнейшая задача, которая позволяет автоматизировать работу с текстом. Например, она облегчает извлечение, замену текста, когда положение целевой строки неизвестно.
Инструмент поиска в Эксель я затронул в посте о выделении ячеек, а здесь мы рассмотрим функции, выполняющие поиск текста в строке и возвращающие его начальную позицию.
Для поиска текста в Microsoft Excel есть две функции:
- НАЙТИ(Текст для поиска; Исходный текст; [Начальная позиция]). Эта функция имеет 2 обязательных аргумента и один необязательный:
- Текст для поиска – та последовательность символов, которую нужно найти. Это обязательный аргумент
- Исходный текст – строка, в которой осуществляется поиск. Обязательный аргумент
- Начальная позиция – порядковый номер символа в исходном тексте, с которого начинается поиск. Необязательный аргумент . Если он не задан, поиск начинается с первого символа
Функция НАЙТИ учитывает регистр текста и не поддерживает использование подстановочных символов (о них читайте дальше).
Функция НАЙТИ в Эксель
- ПОИСК(Текст для поиска; Исходный текст; [Начальная позиция]) имеет аналогичный синтаксис и аргументы. Отличается тем, что не учитывает регистр и поддерживает использование постановочных символов.
Функция ПОИСК в Excel
Как видите, эта функция дала другой результат, поскольку регистр символов не учитывался в поиске
Вы спросите, что такое подстановочные символы? Это специальные символы, позволяющие пропустить неизвестную часть текста для поиска:
- ? – один любой символ
- * – любая последовательность символов
Если знак вопроса или звёздочка – часть строки для поиска, а не подстановочный символ, поставьте перед ними знак тильда (
Давайте запишем такую формулу: =ПОИСК(«??чн»;A1;1). Функция будет искать строку из двух любых символов, после которых идут буквы «чн». Поиску соответствует часть слова «Табличный» в тексте примера, т.е. комбинация символов «личн». Результатом функции будет значение «4».
Подстановочные символы в Excel
Теперь запишем формулу =ПОИСК(«п*с»;A2;1) . Функция ищет комбинацию «п» + любое количество любых символов + «с». В примере – это часть слова «процессор». Результат выполнения функции – 11.
Подстановочный символ-звездочка в Эксель
Владея функциями поиска, вам проще отследить положение нужного текста, поэтому проще его извлечь или заменить. Обязательно практикуйтесь в их применении. В этом вам поможет мой пост-практикум по текстовым функциям.
А следующая статья будет посвящена замене текста в строке. Важная тема, которую обязательно нужно изучить!
Задавайте вопросы в комментариях и подписывайтесь на обновления, чтобы ничего не пропустить!
Пример преимущества функции ПОИСК в Excel перед функцией НАЙТИ
В приложении Excel предусмотрено большое разнообразие инструментов для обработки текстовых и числовых данных. Одним из наиболее востребованных является функция ПОИСК. Она позволяет определять в строке, ячейке с текстовой информацией позицию искомой буквенной или числовой комбинации и записывать ее с помощью чисел.
Примеры использования функции ПОИСК в Excel
Для нахождения позиции текстовой строки в другой аналогичной применяют ПОИСК и ПОИСКБ. Расчет ведется с первого символа анализируемой ячейки. Так, если задать функцию ПОИСК “л” для слова «апельсин» мы получим значение 4, так как именно такой по счету выступает заданная буква в текстовом выражении.
Функция ПОИСК работает не только для поиска позиции отдельных букв в тексте, но и для целой комбинации. Например, задав данную команду для слов «book», «notebook», мы получим значение 5, так как именно с этого по счету символа начинается искомое слово «book».
Используют функцию ПОИСК наряду с такими, как:
- НАЙТИ (осуществляет поиск с учетом регистра);
- ПСТР (возвращает текст);
- ЗАМЕНИТЬ (заменяет символы).
Важно помнить, что рассматриваемая команда ПОИСК не учитывает регистра. Если мы с помощью нее станем искать положение буквы «а» в слове «Александр», в ячейке появится выражение 1, так как это первый символ в анализируемой информации. При задании команды НАЙТИ «а» в том же отрезке текста, мы получим значение 6, так как именно 6 позицию занимает строчная «а» в слове «Александр».
Кроме того, функция ПОИСК работает не для всех языков. От команды ПОИСКБ она отличается тем, что на каждый символ отсчитывает по 1 байту, в то время как ПОИСКБ — по два.
Чтобы воспользоваться функцией, необходимо ввести следующую формулу:
В этой формуле задаваемые значения определяются следующим образом.
- Искомый текст. Это числовая и буквенная комбинация, позицию которой требуется найти.
- Анализируемый текст. Это тот фрагмент текстовой информации, из которого требуется вычленить искомую букву или сочетание и вернуть позицию.
- Начальная позиция. Данный фрагмент необязателен для ввода. Но, если вы желаете найти, к примеру, букву «а» в строке со значением «А015487.Мужская одежда», то необходимо указать в конце формулы 8, чтобы анализ этого фрагмента проводился с восьмой позиции, то есть после артикула. Если этот аргумент не указан, то он по умолчанию считается равным 1. При указании начальной позиции положение искомого фрагмента все равно будет считаться с первого символа, даже если начальные 8 были пропущены в анализе. То есть в рассматриваемом примере букве «а» в строке «А015487.Мужская одежда» будет присвоено значение 14.
При работе с аргументом «искомый_текст» можно использовать следующие подстановочные знаки.
- Вопросительный знак (?). Он будет соответствовать любому знаку.
- Звездочка (*). Этот символ будет соответствовать любой комбинации знаков.
Если же требуется найти подобные символы в строке, то в аргументе «искомый_текст» перед ними нужно поставить тильду (
Если искомый текст не был найден приложением или начальная позиция установлена меньше 0, больше общего количества присутствующих символов, в ячейке отобразиться ошибка #ЗНАЧ.
Если «искомый_текст» не найден, возвращается значение ошибки #ЗНАЧ.
Пример использования функции ПОИСК и ПСТР
Пример 1. Есть набор текстовой информации с контактными данными клиентов и их именами. Информация записана в разных форматах. Необходимо найти, с какого символа начинается номер телефона.
Введем исходные данные в таблицу:
В ячейке, которая будет учитывать данные клиентов без телефона, введем следующую формулу:
Нажмем Enter для отображения искомой информации:
Далее мы можем использовать любые другие функции для отображения представленной информации в удобном формате:
На рисунке видно, как с помощью формулы из двух функций ПСТР и ПОИСК мы вырезаем фрагмент текста из строк разной длины. Притом разделяем текстовый фрагмент в нужном месте так, чтобы отделить ее от номера телефона.
Пример формулы ПОИСК и ЗАМЕНИТЬ
Пример 2. Есть таблица с текстовой информацией, в которой слово «маржа» нужно заменить на «объем».
Откроем книгу Excel с обрабатываемыми данными. Пропишем формулу для поиска нужного слова «маржа»:
Теперь дополним формулу функцией ЗАМЕНИТЬ:
Чем отличается функция ПОИСК от функции НАЙТИ в Excel?
Функция ПОИСК очень схожа с функцией НАЙТИ по принципу действия. Более того у них фактически одинаковые аргументы. Только лишь названия аргументов отличаются, а по сути и типам значений – одинаковые:
Но опытный пользователь Excel знает, что отличие у этих двух функций очень существенные.
Отличие №1. Чувствительность к верхнему и нижнему регистру (большие и маленькие буквы). Функция НАЙТИ чувствительна к регистру символов. Например, есть список номенклатурных единиц с артикулом. Необходимо найти позицию маленькой буквы «о».
Теперь смотрите как ведут себя по-разному эти две функции при поиске большой буквы «О» в критериях поиска:
Отличие №2. В первом аргументе «Искомый_текст» для функции ПОИСК мы можем использовать символы подстановки для указания не точного, а приблизительного значения, которое должно содержаться в исходной текстовой строке. Вторая функция НАЙТИ не умеет использовать в работе символы подстановки масок текста: «*»; «?»; «
Для примера попробуем в этих же исходных строках столбца «наименования» найти приблизительный текст. Для этого укажем следующий вид критерия поиска используя символы подстановки: «н*ая».
Как видим во втором отличии функция НАЙТИ совершенно не умеет работать и распознавать спецсимволы для подстановки текста в критериях поиска при неточном совпадении в исходной строке.