ПОИСК, ПОИСКБ (функции ПОИСК, ПОИСКБ)
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 только текст, заключенный в двойные кавычки. |
босс |
Нужна дополнительная помощь?
Например, в ячейке A1 есть длинное предложение, см. Следующий снимок экрана. И теперь вам нужно найти 3-е вхождение или позицию символа «c» из текстовой строки в ячейке A1. Конечно, вы можете посчитать символы по одному и получить точный результат позиции. Однако здесь мы собираемся представить несколько простых советов, как найти n-е вхождение или позицию определенного символа из текстовой строки в ячейке.
Найти n-е вхождение (позицию) символа в ячейке с помощью формулы поиска
Две формулы поиска помогут вам быстро найти n-е вхождение или позицию определенного символа в текстовой строке в ячейках.
Следующая формула покажет вам, как найти третье вхождение буквы «c» в ячейку A3.
Найди Формулу 1
В пустой ячейке введите формулу = НАЙТИ («c»; A1; НАЙТИ («c»; A1) +2).
А затем нажмите Enter ключ. Отображается положение третьей буквы «c».
Внимание: Вы можете изменить 2 в формуле в зависимости от ваших потребностей. Например, если вы хотите найти четвертую позицию «c», вы можете изменить 2 на 3. А если вы хотите найти первую позицию «c», вы должны изменить 2 на 0.
Найдите формулу 2
В пустой ячейке введите формулу = НАЙТИ (СИМВОЛ (1); ПОДСТАВИТЬ (A1; «c»; СИМВОЛ (1); 3)), и нажмите Enter .
Внимание: «3» в формуле означает третий «c», вы можете изменить его в зависимости от ваших потребностей.
> Найти n-е вхождение (позицию) символа в ячейке с помощью VBA
Фактически, вы можете применить макрос VB, чтобы легко найти n-е вхождение или позицию определенного символа в одной ячейке.
Шаг 1: Удерживайте ALT + F11 ключи, и он открывает Microsoft Visual Basic для приложений окно.
Шаг 2: нажмите Вставить > Модулии вставьте следующий макрос в окно модуля.
VBA: найдите n-ю позицию символа.
Function FindN(sFindWhat As String, _
sInputString As String, N As Integer) As Integer
Dim J As Integer
Application.Volatile
FindN = 0
For J = 1 To N
FindN = InStr(FindN + 1, sInputString, sFindWhat)
If FindN = 0 Then Exit For
Next
End Function
Шаг 3. Теперь, если вы хотите найти точное совпадение позиции третьей буквы «c» в ячейке A1, введите формулу = FindN («c»; A1,3), и нажмите Enter ключ. Затем он сразу вернет точное положение в конкретной ячейке.
Найдите n-е вхождение (позицию) символа в ячейке с помощью Kutools for Excel
Если вам не нравится ни формула, ни VBA, вы можете попробовать удобный инструмент — Kutools for Excel, С его Формула групп, можно найти утилиту — Найти n-е вхождение символа для быстрого возврата n-й позиции символа в ячейке.
После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:
1. Выберите ячейку, в которую вы хотите вернуть результат, и нажмите Кутулс > Формула Помощник > Формула Помощник . Смотрите скриншот:
2. Затем в всплывающем Формула Помощник диалог, сделайте как показано ниже:
1) Выбрать Поиск из раскрывающегося списка Тип формулы раздел;
2) Выберите Найдите место N-го символа в строке in Выберите формулу раздел;
3) Выберите ячейку, содержащую используемую строку, затем введите указанный символ и n-е вхождение в текстовые поля в Ввод аргументов .
3. Нажмите Ok. И вы получаете позицию n-го вхождения символа в строке.
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Находим позицию третьего, четвертого и т.д. вхождения символа в слове (в текстовой строке).
Предположим, в ячейке
А5
имеется текстовая строка:
МАМА МЫЛа РАМУ
(см.
файл примера
).
Формула:
=НАЙТИ(СИМВОЛ(1);ПОДСТАВИТЬ(A5;»А»;СИМВОЛ(1);3))
найдет позицию
третьего
вхождения символа «А»
с учетом регистра
(9).
Рассмотрим подробнее. Функция
ПОДСТАВИТЬ()
заменяет третье вхождение символа «А» на символ с кодом ASCII =1 (заведомо нет в текстовой строке). Затем функция
НАЙТИ()
находит его и выводит его позицию. Если третьего вхождения не обнаружено, то будет выдана ошибка.
Формула без учета регистра:
=НАЙТИ(СИМВОЛ(1);ПОДСТАВИТЬ(СТРОЧН(A5);»а»;СИМВОЛ(1);3))
О подсчете вхождений символов можно прочитать
здесь
.
Формула:
=НАЙТИ(СИМВОЛ(1);ПОДСТАВИТЬ(A5;»МА»;СИМВОЛ(1);2))
найдет позицию
второго
вхождения подстроки «МА» с учетом регистра (3).
О подсчете вхождений последовательности символов можно прочитать
здесь
.
Функция ПОИСК() в 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
формулой массива:
В учебнике показано, как использовать функции подстроки в Excel для извлечения текста из ячейки, получения подстроки до или после указанного символа, найти ячейки, содержащие часть строки, и многое другое.
Прежде чем мы начнем обсуждать различные методы работы с подстроками в Excel, давайте уделим немного времени определению термина, чтобы мы могли начать с той же страницы. Итак, что такое подстрока? Проще говоря, это часть текстовой записи. Например, если вы наберете что-то вроде «AA-111» в ячейке, вы назовете это буквенно-цифровая строкаи любая часть строки, скажем, «AA», будет подстрока.
Хотя в Excel нет такой функции, как функция подстроки, существуют три текстовые функции (LEFT, RIGHT и MID) для извлечения подстроки заданной длины. Кроме того, есть функции НАЙТИ и ПОИСК для получения подстроки до или после определенного символа. И есть несколько других функций для выполнения более сложных операций, таких как извлечение чисел из строки, замена одной подстроки на другую, поиск частичного совпадения текста и т. д. Ниже вы найдете примеры формул для выполнения всего этого и многого другого. .
Microsoft Excel предоставляет три различные функции для извлечения текста заданной длины из ячейки. В зависимости от того, где вы хотите начать извлечение, используйте одну из следующих формул:
- Функция LEFT — извлечь подстроку слева.
- Функция ПРАВО — извлечь текст справа.
- Функция MID — для извлечения подстроки из середины текстовой строки, начиная с указанной вами точки.
Как и в случае с другими формулами, функции работы с подстроками в Excel лучше всего изучать на примере, поэтому давайте рассмотрим несколько из них.
Чтобы извлечь текст слева от строки, вы используете функцию Excel LEFT:
СЛЕВА(текст, [num_chars])
Где текст адрес ячейки, содержащей исходную строку, и num_chars количество символов, которые вы хотите извлечь.
Например, чтобы получить первые 4 символа из начала текстовой строки, используйте следующую формулу:
=ЛЕВО(A2,4)
Получить подстроку с конца строки (ВПРАВО)
Чтобы получить подстроку из правой части текстовой строки, воспользуйтесь функцией Excel ПРАВИЛЬНО:
ПРАВИЛЬНО(текст, [num_chars])
Например, чтобы получить последние 4 символа с конца строки, используйте следующую формулу:
=ВПРАВО(A2,4)
Если вы хотите извлечь подстроку, начинающуюся в середине строки, в указанной вами позиции, то MID — это функция, на которую вы можете положиться.
По сравнению с двумя другими текстовыми функциями, MID имеет несколько иной синтаксис:
MID(текст, start_num, num_chars)
Помимо текст (исходная текстовая строка) и num_chars (количество символов для извлечения), вы также указываете start_num (отправная точка).
В нашем примере набора данных, чтобы получить три символа из середины строки, начинающейся с 6-го символа, вы используете следующую формулу:
=СРЕДНЕЕ(A2,6,3)
Кончик. Вывод формул Right, Left и Mid всегда является текстом, даже если вы извлекаете число из текстовой строки. Если вы хотите оперировать результатом как числом, оберните формулу в функцию ЗНАЧЕНИЕ следующим образом:
= ЗНАЧЕНИЕ (СРЕДНЕЕ (A2,6,3))
Как показано в приведенных выше примерах, функции Left, Right и Mid прекрасно справляются с однородными строками. Когда вы имеете дело с текстовыми строками переменной длины, потребуются более сложные манипуляции.
Примечание. Во всех приведенных ниже примерах мы будем использовать функцию SEARCH без учета регистра, чтобы получить позицию символа. Если вам нужна формула с учетом регистра, используйте функцию НАЙТИ.
Как извлечь текст перед определенным символом
Чтобы получить подстроку, предшествующую заданному символу, нужно сделать две вещи: сначала определить позицию интересующего символа, а затем вытянуть все символы перед ним. Точнее, вы используете функцию ПОИСК, чтобы найти положение символа, и вычитаете 1 из результата, потому что вы не хотите включать сам символ в вывод. А затем вы отправляете возвращенный номер непосредственно на num_chars аргумент ЛЕВОЙ функции:
ОСТАВИЛ(клеткаПОИСК(«уголь«, клетка)-1)
Например, чтобы извлечь подстроку перед символом дефиса (-) из ячейки A2, используйте следующую формулу:
=ВЛЕВО(A2, ПОИСК(«-«,A2)-1)
Независимо от того, сколько символов содержит ваша строка Excel, формула извлекает только текст до первого дефиса:
Чтобы получить текст после определенного символа, вы используете несколько иной подход: получите позицию символа с помощью ПОИСК или НАЙТИ, вычтите это число из общей длины строки, возвращаемой функцией ДЛСТР, и извлеките столько же символов из конца строки. Струна.
ПРАВИЛЬНО(клетка,ЛЕН(клетка)-ПОИСК(«уголь«, клетка))
В нашем примере мы будем использовать следующую формулу для извлечения подстроки после первого дефиса:
=ВПРАВО(A2,ДЛСТР(A2)-ПОИСК(«-«,A2))
Как извлечь текст между двумя экземплярами символа
Чтобы получить подстроку между двумя вхождениями определенного символа, используйте следующую общую формулу:
СРЕДНЯЯ(клеткаПОИСК(«уголь«, клетка)+1, ПОИСК («уголь«, клеткаПОИСК («чар», клетка)+1) — ПОИСК («уголь«, клетка)-1)
Первые два аргумента этой формулы MID предельно ясны:
Текст это ячейка, содержащая исходную текстовую строку.
Start_num (начальная точка) — простая формула ПОИСК возвращает позицию нужного символа, к которой вы добавляете 1, потому что хотите начать извлечение со следующего символа.
Num_chars (количество символов для извлечения) — самая сложная часть:
- Во-первых, вы определяете положение второго вхождения символа, вкладывая одну функцию поиска в другую.
- После этого вы вычитаете позицию 1-го вхождения из позиции 2-го вхождения и вычитаете 1 из результата, так как вы не хотите включать символ-разделитель в результирующую подстроку.
Например, чтобы извлечь текст, окруженный двумя дефисами, вы должны использовать эту формулу:
=СРЕДН(A2, ПОИСК(«-«,A2) + 1, ПОИСК(«-«,A2,ПОИСК(«-«,A2)+1) — ПОИСК(«-«,A2) — 1)
На скриншоте ниже показан результат:
Если вы хотите извлечь текст между 2-м и 3-м или 3-м и 4-м вхождением одного и того же символа, вы можете использовать более компактную комбинацию ПОИСК ПОДСТАВКИ, чтобы получить позицию символа, как описано в разделе Как найти N-е вхождение символа в строку. :
НАЙТИ(СИМВОЛ(1),ПОДСТАВИТЬ(клетка,персонаж,СИМВОЛ(1),N-е вхождение))
В нашем случае мы могли бы извлечь подстроку между 2-м и 3-м дефисом по следующей формуле:
=MID(A2, НАЙТИ(СИМВОЛ(1),ЗАМЕНИТЬ(A2,»-«,СИМВОЛ(1),2))+1, НАЙТИ(СИМВОЛ(1),ЗАМЕНИТЬ(A2,»-«,СИМВОЛ(1) ,3)) — НАЙТИ(СИМВОЛ(1),ПОДСТАВИТЬ(A2,»-«,СИМВОЛ(1),2))-1)
В ситуациях, когда вы не хотите извлекать подстроку, а хотите найти только ячейки, содержащие ее, вы используете функцию ПОИСК или НАЙТИ, как показано в приведенных выше примерах, но выполняете поиск внутри функции ЕСНИМ. Если ячейка содержит подстроку, функция поиска возвращает позицию первого символа, и если ISNUMBER получает любое число, она возвращает TRUE. Если подстрока не найдена, поиск приводит к ошибке, заставляя ISNUMBER возвращать FALSE.
IНОМЕР(ПОИСК(«подстрока«, клетка))
Предположим, у вас есть список британских почтовых индексов в столбце A, и вы хотите найти те, которые содержат подстроку «1ZZ». Чтобы это сделать, используйте эту формулу:
=ISNUMBER(ПОИСК(«1zz», A2))
Результаты будут выглядеть примерно так:
Если вы хотите вернуть собственное сообщение вместо логических значений ИСТИНА и ЛОЖЬ, вложите приведенную выше формулу в функцию ЕСЛИ:
=ЕСЛИ(IЧИСЛО(ПОИСК(«1zz», A2)), «Да», «»)
Если ячейка содержит подстроку, формула возвращает «Да», в противном случае — пустую строку («»):
Как вы помните, функция ПОИСК в Excel нечувствительна к регистру, поэтому вы используете ее, когда регистр символов не имеет значения. Чтобы ваша формула различала прописные и строчные буквы, выберите функцию НАЙТИ с учетом регистра.
Дополнительные сведения о том, как найти текст и числа в Excel, см. в разделе Если ячейка содержит примеры формул.
Как вы только что видели, Microsoft Excel предоставляет множество различных функций для работы с текстовыми строками. Если вы не уверены, какая функция лучше всего подходит для ваших нужд, передайте задание нашему Ultimate Suite for Excel. Имея эти инструменты в своем арсенале Excel, вы просто переходите к Данные об аблебитах вкладка > Текст группу и нажмите Извлечь:
Теперь вы выбираете исходные ячейки и любые сложные строки, которые они содержат, извлечение подстроки сводится к этим двум простым действиям:
- Укажите, сколько символов вы хотите получить из начала, конца или середины строки; или выберите извлечение всего текста до или после заданного символа.
- Нажмите Вставить результаты. Сделанный!
Например, чтобы получить доменные имена из списка адресов электронной почты, выберите Все после текста переключатель и введите @ в поле рядом с ним. Чтобы извлечь имена пользователей, выберите Все перед текстом переключатель, как показано на скриншоте ниже.
И через мгновение вы получите следующие результаты:
Помимо скорости и простоты, инструмент Извлечь текст имеет дополнительную ценность — он поможет вам изучить формулы Excel в целом и функции работы с подстроками в частности. Как? Установив флажок «Вставить как формулу» в нижней части панели, вы гарантируете, что результаты выводятся в виде формул, а не значений.
В этом примере, если вы выберете ячейки B2 и C2, вы увидите следующие формулы соответственно:
- Чтобы извлечь имя пользователя:
=ЕСЛИОШИБКА(СЛЕВА(A2,ПОИСК(«@»,A2)-1),»»)
- Чтобы извлечь домен:
=ЕСЛИОШИБКА(ПРАВО(A2, ДЛСТР(A2)- ПОИСК(«@»,A2) — ДЛСТР(«@») + 1),»»)
Сколько времени у вас ушло бы на то, чтобы вычислить эти формулы самостоятельно? 😉
Поскольку результаты представляют собой формулы, извлеченные подстроки будут обновляться автоматически, как только в исходные строки будут внесены какие-либо изменения. Когда в ваш набор данных добавляются новые записи, вы можете копировать формулы в другие ячейки, как обычно, без необходимости заново запускать инструмент «Извлечь текст».
Если вам интересно попробовать это, а также многие другие полезные функции, включенные в Ultimate Suite for Excel, вы можете загрузить ознакомительную версию.
Дополнительные формулы для подстрок в Excel
В этом уроке мы продемонстрировали некоторые классические формулы Excel для извлечения текста из строки. Как вы понимаете, может быть почти бесконечное количество вариаций этих базовых сценариев. Ниже вы найдете еще несколько примеров формул, в которых вам пригодятся функции Text.
Доступные загрузки
Функции работы с подстроками в Excel — практическая рабочая тетрадь (файл .xlsx)
Ultimate Suite — пробная версия (файл .exe)