Skip to content
Рассмотрим использование функции ЕСЛИ в Excel в том случае, если в ячейке находится текст.
- Проверяем условие для полного совпадения текста.
- ЕСЛИ + СОВПАД
- Использование функции ЕСЛИ с частичным совпадением текста.
- ЕСЛИ + ПОИСК
- ЕСЛИ + НАЙТИ
Будьте особо внимательны в том случае, если для вас важен регистр, в котором записаны ваши текстовые значения. Функция ЕСЛИ не проверяет регистр – это делают функции, которые вы в ней используете. Поясним на примере.
Проверяем условие для полного совпадения текста.
Проверку выполнения
доставки организуем при помощи обычного оператора сравнения «=».
=ЕСЛИ(G2=»выполнено»,ИСТИНА,ЛОЖЬ)
При этом будет не важно,
в каком регистре записаны значения в вашей таблице.
Если же вас интересует
именно точное совпадение текстовых значений с учетом регистра, то можно
рекомендовать вместо оператора «=» использовать функцию СОВПАД(). Она проверяет
идентичность двух текстовых значений с учетом регистра отдельных букв.
Вот как это может
выглядеть на примере.
Обратите внимание, что
если в качестве аргумента мы используем текст, то он обязательно должен быть
заключён в кавычки.
ЕСЛИ + СОВПАД
В случае, если нас интересует полное совпадение текста с заданным условием, включая и регистр его символов, то оператор «=» нам не сможет помочь.
Но мы можем использовать функцию СОВПАД (английский аналог — EXACT).
Функция СОВПАД сравнивает два текста и возвращает ИСТИНА в случае их полного совпадения, и ЛОЖЬ — если есть хотя бы одно отличие, включая регистр букв. Поясним возможность ее использования на примере.
Формула проверки выполнения заказа в столбце Н может выглядеть следующим образом:
=ЕСЛИ(СОВПАД(G2,»Выполнено»),»Да»,»Нет»)
Как видите, варианты «ВЫПОЛНЕНО» и «выполнено» не засчитываются как правильные. Засчитываются только полные совпадения. Будет полезно, если важно точное написание текста — например, в артикулах товаров.
Использование функции ЕСЛИ с частичным совпадением текста.
Выше мы с вами
рассмотрели, как использовать текстовые значения в функции ЕСЛИ. Но часто случается,
что необходимо определить не полное, а частичное совпадение текста с каким-то
эталоном. К примеру, нас интересует город, но при этом совершенно не важно его
название.
Первое, что приходит на
ум – использовать подстановочные знаки «?» и «*» (вопросительный знак и
звездочку). Однако, к сожалению, этот простой способ здесь не проходит.
ЕСЛИ + ПОИСК
Нам поможет функция ПОИСК (в английском варианте – SEARCH). Она позволяет определить позицию, начиная с которой искомые символы встречаются в тексте. Синтаксис ее таков:
=ПОИСК(что_ищем, где_ищем, начиная_с_какого_символа_ищем)
Если третий аргумент не
указан, то поиск начинаем с самого начала – с первого символа.
Функция ПОИСК возвращает либо номер позиции, начиная с которой искомые символы встречаются в тексте, либо ошибку.
Но нам для использования в функции ЕСЛИ нужны логические значения.
Здесь нам на помощь приходит еще одна функция EXCEL – ЕЧИСЛО. Если ее аргументом является число, она возвратит логическое значение ИСТИНА. Во всех остальных случаях, в том числе и в случае, если ее аргумент возвращает ошибку, ЕЧИСЛО возвратит ЛОЖЬ.
В итоге наше выражение в
ячейке G2
будет выглядеть следующим образом:
=ЕСЛИ(ЕЧИСЛО(ПОИСК(«город»,B2)),»Город»,»»)
Еще одно важное уточнение. Функция ПОИСК не различает регистр символов.
ЕСЛИ + НАЙТИ
В том случае, если для нас важны строчные и прописные буквы, то придется использовать вместо нее функцию НАЙТИ (в английском варианте – FIND).
Синтаксис ее совершенно аналогичен функции ПОИСК: что ищем, где ищем, начиная с какой позиции.
Изменим нашу формулу в
ячейке G2
=ЕСЛИ(ЕЧИСЛО(НАЙТИ(«город»,B2)),»Да»,»Нет»)
То есть, если регистр символов для вас важен, просто замените ПОИСК на НАЙТИ.
Итак, мы с вами убедились, что простая на первый взгляд функция ЕСЛИ дает нам на самом деле много возможностей для операций с текстом.
[the_ad_group id=»48″]
Примеры использования функции ЕСЛИ:
ПОИСК, ПОИСКБ (функции ПОИСК, ПОИСКБ)
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 только текст, заключенный в двойные кавычки. |
босс |
Нужна дополнительная помощь?
Функция ПОИСК() в 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 (символы звездочки «*», тильды «~» и вопросительного знака «?») и их использование при поиске и замене текстовых значений.
Приветствую всех, дорогие читатели блога TutorExcel.Ru.
В начале предлагаю вспомнить определение подстановочных знаков и понять, что же это такое и для каких целей они применяются в Excel. А затем уже разберем применение на конкретных примерах.
Подстановочные знаки — это специальные символы, которые могут принимать вид любого произвольного количества символов, другими словами, являются определенными масками комбинаций символов.
Всего в Excel есть 3 типа подобных знаков:
- * (звездочка); Обозначает любое произвольное количество символов.
Например, поиск по фразе «*ник» найдет слова типа «понедельник», «всадник», «источник» и т.д. - ? (вопросительный знак); Обозначает один произвольный символ.
К примеру, поиск по фразе «ст?л» найдет «стол», «стул» и т.д. - ~ (тильда) с последующими знаками *, ? или ~. Обозначает конкретный символ *, ? или ~.
Например, поиск по фразе «хор*» найдет все фразы начинающиеся на «хор» («хоровод», «хорошо» и т.д.). Поэтому для точного поиска «хор*» нужно использовать символ «~» и искать по фразе «хор~*». Наличие «~» гарантирует, что Excel прочитает следующий символ как текст, а не как подстановочный знак.
Использование таких спецсимволов может быть полезно при фильтрации данных, для сравнения текста, при поиске и замене текстовых значений. Давайте подробно остановимся на каждом из основных вариантов применения.
Фильтрация данных
Рассмотрим пример. Предположим, что у нас имеется список сотрудников компании и мы хотим отфильтровать только тех сотрудников, у которых фамилии начинаются на конкретную букву (к примеру, на букву «п»):
Для начала добавляем фильтр на таблицу (выбираем вкладку Главная -> Редактирование -> Сортировка и фильтр или нажимаем сочетание клавиш Ctrl + Shift + L).
Для фильтрации списка воспользуемся символом звездочки, а именно введем в поле для поиска «п*» (т.е. фамилия начинается на букву «п», после чего идет произвольный текст):
Фильтр определил 3 фамилии удовлетворяющих критерию (начинающиеся с буквы «п»), нажимаем ОК и получаем итоговый список из подходящих фамилий:
В общем случае при фильтрации данных мы можем использовать абсолютно любые критерии, никак не ограничивая себя в выборе маски поиска (произвольный текст, различные словоформы, числа и т.д.).
К примеру, чтобы показать все варианты фамилий, которые начинаются на букву «к» и содержат букву «в», то применим фильтр «к*в*» (т.е. фраза начинается на «к», затем идет произвольный текст, потом «в», а затем еще раз произвольный текст).
Или поиск по «п?т*» найдет фамилии с первой буквой «п» и третьей буквой «т» (т.е. фраза начинается на «п», затем идет один произвольный символ, затем «т», и в конце опять произвольный текст).
Применение в функциях
Как уже говорилось выше, подстановочные знаки в Excel могут использоваться в качестве критерия при сравнении текста в различных функциях Excel (например, СЧЁТЕСЛИ, СУММЕСЛИ, СУММЕСЛИМН, ГПР, ВПР и другие).
Повторим задачу из предыдущего примера и подсчитаем количество сотрудников компании, фамилии которых начинаются на букву «п».
Воспользуемся функцией СЧЁТЕСЛИ, которая позволяет посчитать количество ячеек соответствующих указанному критерию.
В качестве диапазона данных укажем диапазон с сотрудниками (A2:A20), а в качестве критерия укажем запись «п*» (т.е. любая фраза начинающаяся на букву «п»):
Как и в первом примере, в результате мы получили ровно 3 фамилии.
Однако не все функции поддерживают применение подстановочных знаков. Некоторые из них (к примеру, функция НАЙТИ) любой символ воспринимают как текст, даже несмотря на то, что он может быть служебным.
С помощью функции НАЙТИ найдем в тексте позицию вхождения вопросительного знака и звездочки:
Обратным примером служит аналогичная функция ПОИСК, в которой мы должно четко указать что ищем именно служебный символ:
Как видим результат у функций получился одинаковым, однако обращение к подстановочным знакам разное.
Инструмент «Найти и заменить»
Подстановочные знаки в Excel также можно использовать для поиска и замены текстовых значений в инструменте «Найти и заменить» (комбинация клавиш Ctrl + F для поиска и Ctrl + H для замены).
Рассмотрим пример. Имеется список продукции магазина, в котором нам нужно найти продукт «молоко».
Предположим, что при вводе данных сделали ошибки из-за чего в списке появились продукты «малоко».
Чтобы несколько раз не искать данные по словам «молоко» или «малоко», при поиске воспользуемся критерием «м?локо» (т.е. вторая буква — произвольная):
При этом не стоит забывать, что с помощью данного инструмента можно не только искать текст, но и заменять его (к примеру, заменить «м?локо» на «молоко»).
Практически наверняка каждый сталкивался со следующей ситуацией — в тексте присутствует символ звездочки, который необходимо удалить или заменить на какой-либо другой текст.
Однако при попытке заменить звездочку возникают трудности — при замене меняются абсолютно весь текст, что естественно и логично, так как Excel воспринимает символ «*» как любой произвольный текст.
Но мы теперь уже знаем как с этим бороться, поэтому в поле Найти указываем текст «~*» (явно показываем, что звездочка является специальным символом), а в поле Заменить на указываем на что заменяем звездочку, либо оставляем поле пустым, если хотим удалить звездочку:
Аналогичная ситуация и при замене или удалении вопросительного знака и тильды.
Производя замену «~?» (для тильды — «~~») мы также без проблем сможем заменить или удалить спецсимвол.
Удачи вам и до скорых встреч на страницах блога Tutorexcel.ru
Поделиться с друзьями:
Поиск по сайту:
Найдем текстовые значения, удовлетворяющие заданному пользователем критерию. Критерии заданы с использованием
подстановочных знаков
. Поиск будем осуществлять в диапазоне с повторяющимися значениями. При наличии повторов, можно ожидать, что критерию будет соответствовать несколько значений. Для их вывода в отдельный диапазон удобно использовать формулы массива.
Пусть Исходный список значений (например, перечень инструментов) находится в диапазоне
A5:A13.
См.
Файл примера.
Задача
Выведем в отдельный диапазон значения, которые удовлетворяют критерию, причем критерий задан с использованием
подстановочных знаков
(*, ?). Рассмотрим различные варианты поиска.
А. Найти значения, которые начинаются с критерия и содержат определенное количество символов
Для удобства написания формул создадим
Именованный диапазон
Список
для диапазона
A5:A13
.
Перечень найденных значений будем помещать в отдельный столбец.
Найдем все названия инструментов, которые
начинаются
с фразы
дрел
и
длина строки
которых составляет 5 символов.
Критерий будет вводиться в ячейку
С2
и выглядеть так: «
дрел?».
Вопросительный знак является
подстановочным знаком
.
Для реализации этого варианта поиска требуется функция позволяющая использовать
подстановочные знаки
: используем функцию
ПОИСК()
. Согласно критерию «
дрел?»
(длина 5 символов)
—
должны быть выведены 3 значения:
Дрель, дрель, Дрели
.
Для создания списка, содержащего найденные значения, воспользуемся
формулой массива
:
=ИНДЕКС(Список; НАИМЕНЬШИЙ(ЕСЛИОШИБКА(ЕСЛИ((ПОИСК($C$2;Список)=1)*(ДЛСТР($C$2)=ДЛСТР(Список))=1;СТРОКА(Список)-СТРОКА($A$4);НД());»»); СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))) )
Часть формулы
ПОИСК($C$2;Список)=1
определяет:
начинается
ли значение из диапазона
A5:A13
с фразы «
дрел?»
. Часть формулы
ДЛСТР($C$2)=ДЛСТР(Список)
определяет:
равна ли длина строки
значения из диапазона
A5:A13
5 символам?
Знак * (умножить) между частями формулы представляет условие И (значение должно начинаться с
дрел
и иметь такую же длину, как и критерий, т.е. 5 букв). Критерию также будут соответствовать такие несуразные значения
как дрел5
,
дрелМ
и т.п. (если они содержатся в списке).
Б. Найти значения, которые начинаются со слова
дрель
или
дрели
и содержат как минимум 6 букв
Критерий вводится в ячейку
E
2
и выглядит так: «
дрел??».
В этом случае будут выведены все значения, в которые
начинаются
с текста-критерия (со слова
дрел
) и
длиной как минимум
6 символов.
Для создания списка, содержащего найденные значения, воспользуемся
формулой массива
:
=ИНДЕКС(Список;НАИМЕНЬШИЙ( ЕСЛИОШИБКА(ЕСЛИ(ПОИСК($E$2;Список)=1;СТРОКА(Список)-СТРОКА($A$4);НД());»»); СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))) )
Часть формулы
ПОИСК($E$2;Список)=1
определяет:
начинается
ли значение из диапазона
A5:A13
с фразы «
дрел??»
. Критерию также будут соответствовать значения начинающиеся с фраз
дрелью
,
дрел23
и т.п.
В. Найти значения, у которых слово
дрель
находится в середине строки
Критерий вводится в ячейку
G
2
и выглядит так: «?
дрель?».
В этом случае будут выведены все значения,
содержащие
слово
дрель,
и у которых есть перед ним и после него как минимум 1 символ.
Для создания списка, содержащего найденные значения, воспользуемся
формулой массива
:
=ИНДЕКС(Список;НАИМЕНЬШИЙ( ЕСЛИОШИБКА(ЕСЛИ(ПОИСК($G$2;Список);СТРОКА(Список)-СТРОКА($A$4);НД());»»); СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))) )
Часть формулы
ПОИСК($G$2;Список)
определяет:
содержит
ли значение из диапазона
A5:A13
фразу «
?дрел?»
. Критерию также будут соответствовать значения содержащие фразы 5
дрел7
,
Адрелу
и т.п.
Г. Найти значения, которые заканчиваются на слово
дрель
или
дрели
Критерий вводится в ячейку
I
2
и выглядит так: «
дрел?».
В этом случае будут выведены все значения,
заканчивающиеся
на слова
дрель или дрели.
Для создания списка, содержащего найденные значения, воспользуемся
формулой массива
:
=ИНДЕКС(Список;НАИМЕНЬШИЙ( ЕСЛИОШИБКА(ЕСЛИ(ПОИСК($I$2;ПРАВСИМВ((Список);ДЛСТР($I$2)));СТРОКА(Список)-СТРОКА($A$4);НД());»»); СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))) )
Часть формулы
ПОИСК($I$2;ПРАВСИМВ((Список);ДЛСТР($I$2)))
определяет:
совпадают ли последние 5 символов
значений из диапазона
A5:A13
с фразой «
дрел?»
. Критерию также будут соответствовать значения заканчивающиеся на фразы
дрела
,
дрел6
и т.п.
СОВЕТ:
О поиске текстовых значений с учетом РЕгиСТра читайте в статье
Поиск текстовых значений в списках. Часть3. Поиск с учетом РЕГИСТРА
.