ПОИСК, ПОИСКБ (функции ПОИСК, ПОИСКБ)
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 только текст, заключенный в двойные кавычки. |
босс |
Нужна дополнительная помощь?
Функция ПОИСК осуществляет поиск текста, символа, цифры в указанной области. Она похожа на функцию НАЙТИ, которая так же ищет значение в указанной области, но у них есть отличия, которые мы разберем на примерах.
Как работает функция ПОИСК в Excel
Синтаксис данной функции выглядит следующим образом:
У нас есть слово «Excel». В этом примере нужно найти положение буквы «Х» в слове. Функция возвратит значение 2, поскольку буква находится по счету на втором месте в искомых данных:
Несмотря на то, что искомая буква «Х» находится в верхнем регистре, функция нашла ее аналог в нижнем регистре и выдала результат. В этом и есть отличие с функцией НАЙТИ – она обращает внимание на соответствие регистров.
Также мы можем искать часть слова или слово в искомой области, например найти слово «Excel» в «Exceltable» и «table» во фразе «Excel table». В первом случае в результате мы получим 1, потому что слово «Excel» начинается с первого символа. Во втором случае у нас будет результат 7, потому что «table» начинается с седьмого символа:
Аргумент начальная_позиция используем, когда нужно отсчитать положение символа, начиная с которого возвратится искомое значение. Например, нужно отследить с какой позиции начинается буквенное значение кода. Если не указать номер позиции, у нас возвратится число «2», поскольку буква «о» в ячейке А8 находится второй по порядку:
Благодаря этой функции можно возвращать части фраз, которые требует условие, а не только порядочное положение символа. Для этого функцию ПОИСК нужно комбинировать с другими функциями. Однако, такие комбинации функции могут быть довольно объёмными и существуют функции, более подходящие для выполнения таких задач.
Функция ПОИСКа значения в столбце Excel
В данном примере будет использоваться формула комбинации функции ПОИСК с функциями: ЛЕВСИМВ, ПРАВСИМВ, ДЛСТР. Рассмотрим поэтапно пример, где мы сможем извлекать части фраз с текста, из которого получим искомое значение. У нас есть товар и артикул товара. Наше задание – возвратить только буквенную часть названия артикула. Для этого в ячейке C12 начинаем писать формулу. Для получения результата нам нужна функция ЛЕВСИМВ.
- Первый аргумент — текст, в котором происходит поиск (ячейка B12).
- Второй аргумент — нужна длина искомого слова. В первом артикуле она равна 3, а в последующих меняется, поэтому используем формулу ПОИСК(«_»;B12).
Формула с аргументами («_»;B12) указала, что будут возвращаться те символы, которые расположены перед символом нижнего подчеркивания. Проверим наш результат:
Функция ПОИСК возвратила число 4 (порядочное положение знака нижнего подчеркивания), и в качестве второго аргумента функции ЛЕВСИМВ указала какие символы будут находиться в ячейке С12. Пока что это не совсем то, что необходимо получить – знак «_» в идеале должен отсутствовать. Для этого немного подкорректируем формулу: перед вторым аргументом (формулой ПОИСК) отнимаем единицу, этим мы указали что вывод символов будет без знака нижнего подчеркивания (4-1):
Поскольку формула у нас динамическая, копируем ее до конца столбца и наблюдаем результат нашей работы – по каждому артикулу мы получили буквенное значение независимо от количества букв:
Если вдруг вам понадобится в этой же таблице изменить артикул – функция среагирует на изменения корректно и автоматически возвратит текстовое значение заменённого артикула. Например для товара «Бокал» будет буквенная часть «К», для «Тарелки» — «М», для «Стола» — ADCDE:
Теперь рассмотрим пример, где будем извлекать символы не ПЕРЕД нижним подчеркиванием, а ПОСЛЕ. В этом нам поможет функция ДЛСТР. Она помогает узнать длину текстовой строки. В ячейке С20 пишем формулу:
В результате она возвратила нам длину артикула товара «Бокал». Скопируем формулу до конца столбца и в следующем этапе в ячейке Е20 напишем формулу ПОИСК. Нижнее подчеркивание – это искомое значение (аргумент 1), возвращаемое значение – позиция порядковый номер положения нижнего подчеркивания. Копируем до конца столбца:
Затем нам нужен столбец, где мы от длины строки отнимаем позицию нижнего подчеркивания (9 — 4) и копируем формулу до конца столбца. То есть этот столбец содержит длину числового значения артикула (значения ПОСЛЕ нижнего подчеркивания):
Теперь в ячейке F20 пишем функцию ПРАВСИМВ, которая возвратит нам текст, часть фразы, которую мы запрашимаем. Первый аргумент функции – это ячейка, которую проверяет формула, а второй – длина возвращаемого значения:
Функция возвратила нам числовое значение артикула товара. Копируем до конца столбца и получаем результат по каждому товару:
Данный пример был рассмотрен поэтапно для более понятного алгоритма выполнения задачи, однако можно числовое значение получить одним шагом:
В этом примере мы сделали то же самое, что и ранее, только все операции сделали в одной формуле: нашли длину текста, отняли длину текста после знака «_» и возвратили эту длину функцией ПРАВСИМВ.
Как использовать функцию ПОИСК с функцией ЕСЛИ
Рассмотрим пример, где будем проверять частичное совпадение текста в проверяемом тексте. У нас есть несколько адресов и нам нужно знать локальные они или нет:
Если почтовый индекс начинается с СВ2, тогда это локальный адрес. Мы не можем использовать функцию ЕСЛИ в её обычном выражении, потому что в ячейках много другого текста. Нам нужно знать содержит ли ячейка часть «СВ2». Чтобы лучше понимать логику построения функции, будем делать это от простого к более сложному выражению:
- Строим функцию ПОИСК: 1-й аргумент – «СВ2», 2-й аргумент – ячейка А37, копируем до конца столбца. Так мы указали что и где будем искать. Там, где нет текста СВ2, возвратилась ошибка. Но сейчас у нас есть только номер позиции текста СВ2. А функция ЕСЛИ будет искать идентичное совпадение. То есть она будет искать число 11 в тексте ячейки А37, которого у нас, конечно, не будет нигде.
- Формулу функции ПОИСК вкладываем в функцию ЕЧИСЛО (имеет только 1 аргумент), которая будет указателем в дальнейшем для ЕСЛИ, что результатом функции ПОИСК является число (как сейчас, у нас 11):
- Полученную формулу вкладываем в ЕСЛИ, указывая, что для значения ИСТИНА у нас будет слово «Местный», а для значения ЛОЖЬ – «Далеко». Копируем до конца столбца:
Скачать примеры формул с функцией ПОИСК в Excel
Теперь у нас есть информация об адресах в зависимости от их почтового индекса. Вполне логичное предположение, что можно также было использовать НАЙТИ, но поскольку НАЙТИ учитывает регистр, полезнее и надежнее будет работа с ПОИСКом.
Функция
ПОИСК(
)
, английский вариант 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))
— имя. Если между именем и фамилией содержится более одного пробела, то для работоспособности вышеупомянутых формул используйте функцию
СЖПРОБЕЛЫ()
.
Функция ПОИСК (SEARCH) в Excel используется для определения расположения текста внутри какого-либо текста и указания его точной позиции.
Содержание
- Что возвращает функция
- Синтаксис
- Аргументы функции
- Дополнительная информация
- Примеры использования функции ПОИСК в Excel
- Пример 1. Ищем слово внутри текстовой строки (с начала)
- Пример 2. Ищем слово внутри текстовой строки (с указанием стартовой позиции поиска)
- Пример 3. Поиск слова при наличии нескольких совпадений в тексте
- Пример 4. Используем подстановочные знаки при работе функции ПОИСК в Excel
Что возвращает функция
Функция возвращает числовое значение, обозначающее стартовую позицию искомого текста внутри другого текста. Позиция обозначает порядковый номер символа, с которого начинается искомый текст.
Синтаксис
=SEARCH(find_text, within_text, [start_num]) — английская версия
=ПОИСК(искомый_текст;просматриваемый_текст;[начальная_позиция]) — русская версия
Аргументы функции
- find_text (искомый_текст) — текст или текстовая строка которую вы хотите найти;
- within_text (просматриваемый_текст) — текст, внутри которого вы осуществляете поиск;
- [start_num] ([начальная_позиция]) — числовое значение, обозначающее позицию, с которой вы хотите начать поиск. Если не указать этот аргумент, то функция начнет поиск с начала текста.
Дополнительная информация
- Если стартовая позиция поиска не указана, то поиск текста осуществляется сначала текста;
- Функция не чувствительна к регистру. Если вам нужна чувствительность к регистру, то используйте функцию НАЙТИ;
- Функция может обрабатывать подстановочные знаки. В Excel существует три подстановочных знака — ?, *, ~.
- знак «?» — сопоставляет любой одиночный символ;
- знак «*» — сопоставляет любые дополнительные символы;
- знак «~» — используется, если нужно найти сам вопросительный знак или звездочку.
- Функция возвращает ошибку, в случае если искомый текст не найден.
Примеры использования функции ПОИСК в Excel
Пример 1. Ищем слово внутри текстовой строки (с начала)
На примере выше видно, что когда мы ищем слово «доброе» в тексте «Доброе утро», функция возвращает значение «1», что соответствует позиции слова «доброе» в тексте «Доброе утро».
Так как функция не чувствительна к регистру, нет разницы каким образом мы указываем искомое слово «доброе», будь то «ДОБРОЕ», «Доброе», «дОброе» и.т.д. функция вернет одно и то же значение.
Если вам необходимо осуществить поиск чувствительный к регистру — используйте функцию НАЙТИ в Excel.
Больше лайфхаков в нашем Telegram Подписаться
Пример 2. Ищем слово внутри текстовой строки (с указанием стартовой позиции поиска)
Третий аргумент функции указывает на порядковый номер позиции внутри текста, с которой будет осуществлен поиск. На примере выше, функция возвращает значение «1» при поиске слова «доброе» в тексте «Доброе утро», начиная свой поиск с первой позиции.
Вместе с тем, если мы указываем функции, что поиск следует начинать со второго символа текста «Доброе утро», то есть функция в этом случае видит текст как «оброе утро» и ищет слово «доброе», то результатом будет ошибка.
Если вы не указываете в качестве аргумента стартовую позицию для поиска, функция автоматически начнет поиск с начала текста.
Пример 3. Поиск слова при наличии нескольких совпадений в тексте
Функция начинает искать текст со стартовой позиции которую мы можем указать в качестве аргумента, или она начнет поиск с начала текста автоматически. На примере выше, мы ищем слово «доброе » в тексте «Доброе доброе утро» со стартовой позицией для поиска «1». В этом случае функция возвращает «1», так как первое найденное слово «Доброе» начинается с первого символа текста.
Если мы укажем функции начало поиска, например, со второго символа, то результатом вычисления функции будет «8».
Пример 4. Используем подстановочные знаки при работе функции ПОИСК в Excel
При поиске функция учитывает подстановочные знаки. На примере выше мы ищем текст «c*l». Наличие подстановочного знака «*» в данном запросе обозначает что мы ищем любо слово, которое начинается с буквы «c» и заканчивается буквой «l», а что между этими двумя буквами неважно. Как результат, функция возвращает значение «3», так как в слове «Excel», расположенном в ячейке А2 буква «c» находится на третьей позиции.
Содержание
- Поисковая функция в Excel
- Способ 1: простой поиск
- Способ 2: поиск по указанному интервалу ячеек
- Способ 3: Расширенный поиск
- Вопросы и ответы
В документах Microsoft Excel, которые состоят из большого количества полей, часто требуется найти определенные данные, наименование строки, и т.д. Очень неудобно, когда приходится просматривать огромное количество строк, чтобы найти нужное слово или выражение. Сэкономить время и нервы поможет встроенный поиск Microsoft Excel. Давайте разберемся, как он работает, и как им пользоваться.
Поисковая функция в Excel
Поисковая функция в программе Microsoft Excel предлагает возможность найти нужные текстовые или числовые значения через окно «Найти и заменить». Кроме того, в приложении имеется возможность расширенного поиска данных.
Способ 1: простой поиск
Простой поиск данных в программе Excel позволяет найти все ячейки, в которых содержится введенный в поисковое окно набор символов (буквы, цифры, слова, и т.д.) без учета регистра.
- Находясь во вкладке «Главная», кликаем по кнопке «Найти и выделить», которая расположена на ленте в блоке инструментов «Редактирование». В появившемся меню выбираем пункт «Найти…». Вместо этих действий можно просто набрать на клавиатуре сочетание клавиш Ctrl+F.
- После того, как вы перешли по соответствующим пунктам на ленте, или нажали комбинацию «горячих клавиш», откроется окно «Найти и заменить» во вкладке «Найти». Она нам и нужна. В поле «Найти» вводим слово, символы, или выражения, по которым собираемся производить поиск. Жмем на кнопку «Найти далее», или на кнопку «Найти всё».
- При нажатии на кнопку «Найти далее» мы перемещаемся к первой же ячейке, где содержатся введенные группы символов. Сама ячейка становится активной.
Поиск и выдача результатов производится построчно. Сначала обрабатываются все ячейки первой строки. Если данные отвечающие условию найдены не были, программа начинает искать во второй строке, и так далее, пока не отыщет удовлетворительный результат.
Поисковые символы не обязательно должны быть самостоятельными элементами. Так, если в качестве запроса будет задано выражение «прав», то в выдаче будут представлены все ячейки, которые содержат данный последовательный набор символов даже внутри слова. Например, релевантным запросу в этом случае будет считаться слово «Направо». Если вы зададите в поисковике цифру «1», то в ответ попадут ячейки, которые содержат, например, число «516».
Для того, чтобы перейти к следующему результату, опять нажмите кнопку «Найти далее».
Так можно продолжать до тех, пор, пока отображение результатов не начнется по новому кругу.
- В случае, если при запуске поисковой процедуры вы нажмете на кнопку «Найти все», все результаты выдачи будут представлены в виде списка в нижней части поискового окна. В этом списке находятся информация о содержимом ячеек с данными, удовлетворяющими запросу поиска, указан их адрес расположения, а также лист и книга, к которым они относятся. Для того, чтобы перейти к любому из результатов выдачи, достаточно просто кликнуть по нему левой кнопкой мыши. После этого курсор перейдет на ту ячейку Excel, по записи которой пользователь сделал щелчок.
Способ 2: поиск по указанному интервалу ячеек
Если у вас довольно масштабная таблица, то в таком случае не всегда удобно производить поиск по всему листу, ведь в поисковой выдаче может оказаться огромное количество результатов, которые в конкретном случае не нужны. Существует способ ограничить поисковое пространство только определенным диапазоном ячеек.
- Выделяем область ячеек, в которой хотим произвести поиск.
- Набираем на клавиатуре комбинацию клавиш Ctrl+F, после чего запуститься знакомое нам уже окно «Найти и заменить». Дальнейшие действия точно такие же, что и при предыдущем способе. Единственное отличие будет состоять в том, что поиск выполняется только в указанном интервале ячеек.
Способ 3: Расширенный поиск
Как уже говорилось выше, при обычном поиске в результаты выдачи попадают абсолютно все ячейки, содержащие последовательный набор поисковых символов в любом виде не зависимо от регистра.
К тому же, в выдачу может попасть не только содержимое конкретной ячейки, но и адрес элемента, на который она ссылается. Например, в ячейке E2 содержится формула, которая представляет собой сумму ячеек A4 и C3. Эта сумма равна 10, и именно это число отображается в ячейке E2. Но, если мы зададим в поиске цифру «4», то среди результатов выдачи будет все та же ячейка E2. Как такое могло получиться? Просто в ячейке E2 в качестве формулы содержится адрес на ячейку A4, который как раз включает в себя искомую цифру 4.
Но, как отсечь такие, и другие заведомо неприемлемые результаты выдачи поиска? Именно для этих целей существует расширенный поиск Excel.
- После открытия окна «Найти и заменить» любым вышеописанным способом, жмем на кнопку «Параметры».
- В окне появляется целый ряд дополнительных инструментов для управления поиском. По умолчанию все эти инструменты находятся в состоянии, как при обычном поиске, но при необходимости можно выполнить корректировку.
По умолчанию, функции «Учитывать регистр» и «Ячейки целиком» отключены, но, если мы поставим галочки около соответствующих пунктов, то в таком случае, при формировании результата будет учитываться введенный регистр, и точное совпадение. Если вы введете слово с маленькой буквы, то в поисковую выдачу, ячейки содержащие написание этого слова с большой буквы, как это было бы по умолчанию, уже не попадут. Кроме того, если включена функция «Ячейки целиком», то в выдачу будут добавляться только элементы, содержащие точное наименование. Например, если вы зададите поисковый запрос «Николаев», то ячейки, содержащие текст «Николаев А. Д.», в выдачу уже добавлены не будут.
По умолчанию, поиск производится только на активном листе Excel. Но, если параметр «Искать» вы переведете в позицию «В книге», то поиск будет производиться по всем листам открытого файла.
В параметре «Просматривать» можно изменить направление поиска. По умолчанию, как уже говорилось выше, поиск ведется по порядку построчно. Переставив переключатель в позицию «По столбцам», можно задать порядок формирования результатов выдачи, начиная с первого столбца.
В графе «Область поиска» определяется, среди каких конкретно элементов производится поиск. По умолчанию, это формулы, то есть те данные, которые при клике по ячейке отображаются в строке формул. Это может быть слово, число или ссылка на ячейку. При этом, программа, выполняя поиск, видит только ссылку, а не результат. Об этом эффекте велась речь выше. Для того, чтобы производить поиск именно по результатам, по тем данным, которые отображаются в ячейке, а не в строке формул, нужно переставить переключатель из позиции «Формулы» в позицию «Значения». Кроме того, существует возможность поиска по примечаниям. В этом случае, переключатель переставляем в позицию «Примечания».
Ещё более точно поиск можно задать, нажав на кнопку «Формат».
При этом открывается окно формата ячеек. Тут можно установить формат ячеек, которые будут участвовать в поиске. Можно устанавливать ограничения по числовому формату, по выравниванию, шрифту, границе, заливке и защите, по одному из этих параметров, или комбинируя их вместе.
Если вы хотите использовать формат какой-то конкретной ячейки, то в нижней части окна нажмите на кнопку «Использовать формат этой ячейки…».
После этого, появляется инструмент в виде пипетки. С помощью него можно выделить ту ячейку, формат которой вы собираетесь использовать.
После того, как формат поиска настроен, жмем на кнопку «OK».
Бывают случаи, когда нужно произвести поиск не по конкретному словосочетанию, а найти ячейки, в которых находятся поисковые слова в любом порядке, даже, если их разделяют другие слова и символы. Тогда данные слова нужно выделить с обеих сторон знаком «*». Теперь в поисковой выдаче будут отображены все ячейки, в которых находятся данные слова в любом порядке.
- Как только настройки поиска установлены, следует нажать на кнопку «Найти всё» или «Найти далее», чтобы перейти к поисковой выдаче.
Как видим, программа Excel представляет собой довольно простой, но вместе с тем очень функциональный набор инструментов поиска. Для того, чтобы произвести простейший писк, достаточно вызвать поисковое окно, ввести в него запрос, и нажать на кнопку. Но, в то же время, существует возможность настройки индивидуального поиска с большим количеством различных параметров и дополнительных настроек.
Поиск в Excel, функции поиска
Поиск символов в строке – важнейшая задача, которая позволяет автоматизировать работу с текстом. Например, она облегчает извлечение, замену текста, когда положение целевой строки неизвестно.
Инструмент поиска в Эксель я затронул в посте о выделении ячеек, а здесь мы рассмотрим функции, выполняющие поиск текста в строке и возвращающие его начальную позицию.
Для поиска текста в Microsoft Excel есть две функции:
- НАЙТИ(Текст для поиска; Исходный текст; [Начальная позиция]). Эта функция имеет 2 обязательных аргумента и один необязательный:
- Текст для поиска – та последовательность символов, которую нужно найти. Это обязательный аргумент
- Исходный текст – строка, в которой осуществляется поиск. Обязательный аргумент
- Начальная позиция – порядковый номер символа в исходном тексте, с которого начинается поиск. Необязательный аргумент . Если он не задан, поиск начинается с первого символа
Функция НАЙТИ учитывает регистр текста и не поддерживает использование подстановочных символов (о них читайте дальше).
Функция НАЙТИ в Эксель
- ПОИСК(Текст для поиска; Исходный текст; [Начальная позиция]) имеет аналогичный синтаксис и аргументы. Отличается тем, что не учитывает регистр и поддерживает использование постановочных символов.
Функция ПОИСК в Excel
Как видите, эта функция дала другой результат, поскольку регистр символов не учитывался в поиске
Вы спросите, что такое подстановочные символы? Это специальные символы, позволяющие пропустить неизвестную часть текста для поиска:
- ? – один любой символ
- * – любая последовательность символов
Если знак вопроса или звёздочка – часть строки для поиска, а не подстановочный символ, поставьте перед ними знак тильда (
Давайте запишем такую формулу: =ПОИСК(«??чн»;A1;1). Функция будет искать строку из двух любых символов, после которых идут буквы «чн». Поиску соответствует часть слова «Табличный» в тексте примера, т.е. комбинация символов «личн». Результатом функции будет значение «4».
Подстановочные символы в Excel
Теперь запишем формулу =ПОИСК(«п*с»;A2;1) . Функция ищет комбинацию «п» + любое количество любых символов + «с». В примере – это часть слова «процессор». Результат выполнения функции – 11.
Подстановочный символ-звездочка в Эксель
Владея функциями поиска, вам проще отследить положение нужного текста, поэтому проще его извлечь или заменить. Обязательно практикуйтесь в их применении. В этом вам поможет мой пост-практикум по текстовым функциям.
А следующая статья будет посвящена замене текста в строке. Важная тема, которую обязательно нужно изучить!
Задавайте вопросы в комментариях и подписывайтесь на обновления, чтобы ничего не пропустить!
Функция НАЙТИ в Excel
Добрый день друзья!
Темой этой статьи будет еще одна возможность работы с текстом, это познания как работает функция НАЙТИ в Excel. Я думаю, что не стоит объяснять, в чём может быть выражена полезность этой функции, это уже понятно просто из названия и означает это то что, данная функция будет искать точное совпадение заданного текста в указанной текстовой строке, и вернет начальную позицию найденной строки.
Но сразу могу сказать, что в чистом виде функция НАЙТИ выглядит очень неприглядно и в принципе практически не используется. Самая распространенная возможность как используется функция НАЙТИ в Excel только в комбинированном виде, в соединение с такими функциями как ЛЕВСИМВ, ПРАВСИМВ и ПСТР. Такие комбинации позволят эффективно использовать все возможности функции НАЙТИ и выполнять более сложные задачи в сравнении с простым использованием.
Ну, а теперь давайте рассмотрим синтаксис, который имеет функция НАЙТИ в Excel:
=НАЙТИ(текст который ищем ; текст который просматривается ; [начальная позиция]), где
- текст, который ищем – это, как видно с аргумента, текст который нам нужно найти;
- текст, который просматривается – это тот текст, ячейка или ссылка где функция будет искать;
- [начальная позиция] – это аргумент, который показывает, с какой позиции должен начинаться поиск в просматриваемом тексте, если этот аргумент не указывать, то поиск, по умолчанию, начнется со значения 1.
Обращаю ваше внимание, что особенность, которая имеет функция НАЙТИ в Excel, это гиперчувствительность к регистру букв, то есть вам нужно указывать правильно прописные и строчные буковки.
Например, рассмотрим 2 примера для сравнения:
=НАЙТИ(«ВОДА»; «ВОДА вода»), нам вернет значение 1, а вот формула
=НАЙТИ(«вода»; «ВОДА вода»), вернёт позицию 6.
Как видно из примера, это очень существенная разница, что бы ее игнорировать.
В случае, когда текст, который вы хотите найти не будет обнаружен, формула вернёт ошибку #ЗНАЧ!. Итак, собственно, давайте на примерах рассмотрим вариативность, как применяется функция НАЙТИ в Excel в простых и сложных примерах:
Простые примеры:
Рассмотрим применение только одной функции НАЙТИ, в нескольких вариациях и исполнениях. Возьмем, к примеру, текстовое значение «Нагаев Артём» и применим функцию:
=НАЙТИ(«А»;A2), в этой формуле мы ищем позицию первой буквы «А» в ячейке А2, и получаем результат «8»;
=НАЙТИ(«а»;A2), в этой формуле мы ищем позицию первой буквы «а» в ячейке А2, и получаем результат «2»;
=НАЙТИ(«а»;A2;3), в этой формуле мы ищем позицию первой буквы «а» в ячейке А2, но поиск начинаем с третьего знака и получаем результат «4». Комбинированные примеры:
Первым примером будет использование комбинации с помощью функции ПСТР. Например, мы имеем название продукции с номенклатурным номером «Светодиод №456217-485» и нам надо отделить зерна от плевы, то есть название детали от номера и для этого нужна формула:
=ПСТР(A4;1;НАЙТИ(« №»;A4;1) -1), в формуле мы находим позицию « №» и всё что до нее вытягивается соответствующей формулой, и мы получаем результат «Светодиод». Аргумент «-1» будет учитывать тот факт, что позицию, которую занимает текст, который мы ищем, также является входящим в диапазон подсчёта и к возвращению не подлежит. Вторым примером я использую комбинации с функциями ЛЕВСИМВ, ПРАВСИМВ. Например, в ячейке А5 у нас введена имя и фамилия «Нагаев Артём», в этом случае используя формулы:
=ЛЕВСИМВ(A5;НАЙТИ(СИМВОЛ(32);A5) -1), мы сможем извлечь фамилию,
=ПРАВСИМВ(A5;ДЛСТР(A5) -НАЙТИ(СИМВОЛ(32);A5)), извлечём имя. В случае, когда между двумя значениями имени и фамилии будут содержаться лишние пробелы, два и более, то для функционирования вышеуказанных формул необходимо использовать функцию СЖПРОБЕЛЫ.
На этом я думаю, что еще одну текстовую функции, вы смогли по достоинству оценить. Научились, или хотя бы разобрались, как и где используется функция НАЙТИ в Excel. Изучили ее полезность и варианты применения. Большее количество функций представлено для ознакомления в «Справочнике функций».
Если возникли вопросы, пишите комментарии, ставьте лайки, если вам понравилось.
До встречи в новых статьях!
«На прихоти у нас всегда найдутся деньги, мы скупимся только на затраты полезные и необходимые.
»
О. Бальзак
Функция FIND (НАЙТИ) в Excel. Как использовать?
Функция НАЙТИ (FIND) в Excel используется для поиска текстового значения внутри строчки с текстом и указать порядковый номер буквы с которого начинается искомое слово в найденной строке.
Что возвращает функция
Возвращает числовое значение, обозначающее стартовую позицию текстовой строчки внутри другой текстовой строчки.
=FIND(find_text, within_text, [start_num]) – английская версия
=НАЙТИ(искомый_текст;просматриваемый_текст;[нач_позиция]) – русская версия
Аргументы функции
- find_text (искомый_текст) – текст или строка которую вы хотите найти в рамках другой строки;
- within_text (просматриваемый_текст) – текст, внутри которого вы хотите найти аргумент find_text (искомый_текст);
- [start_num] ([нач_позиция]) – число, отображающее позицию, с которой вы хотите начать поиск. Если аргумент не указать, то поиск начнется сначала.
Дополнительная информация
- Если стартовое число не указано, то функция начинает поиск искомого текста с начала строки;
- Функция НАЙТИ чувствительна к регистру. Если вы хотите сделать поиск без учета регистра, используйте функцию SEARCH в Excel;
- Функция не учитывает подстановочные знаки при поиске. Если вы хотите использовать подстановочные знаки для поиска, используйте функцию SEARCH в Excel;
- Функция каждый раз возвращает ошибку, когда не находит искомый текст в заданной строке.
Примеры использования функции НАЙТИ в Excel
Пример 1. Ищем слово в текстовой строке (с начала строки)
На примере выше мы ищем слово “Доброе” в словосочетании “Доброе Утро”. По результатам поиска, функция выдает число “1”, которое обозначает, что слово “Доброе” начинается с первой по очереди буквы в, заданной в качестве области поиска, текстовой строке.
Обратите внимание, что так как функция НАЙТИ в Excel чувствительна к регистру, вы не сможете найти слово “доброе” в словосочетании “Доброе утро”, так как оно написано с маленькой буквы. Для того, чтобы осуществить поиска без учета регистра следует пользоваться функцией SEARCH .
Пример 2. Ищем слово в текстовой строке (с заданным порядковым номером старта поиска)
Третий аргумент функции НАЙТИ указывает позицию, с которой функция начинает поиск искомого значения. На примере выше функция возвращает число “1” когда мы начинаем поиск слова “Доброе” в словосочетании “Доброе утро” с начала текстовой строки. Но если мы зададим аргумент функции start_num (нач_позиция) со значением “2”, то функция выдаст ошибку, так как начиная поиск со второй буквы текстовой строки, она не может ничего найти.
Если вы не укажете номер позиции, с которой функции следует начинать поиск искомого аргумента, то Excel по умолчанию начнет поиск с самого начала текстовой строки.
Пример 3. Поиск текстового значения внутри текстовой строки с дублированным искомым значением
На примере выше мы ищем слово “Доброе” в словосочетании “Доброе Доброе утро”. Когда мы начинаем поиск слова “Доброе” с начала текстовой строки, то функция выдает число “1”, так как первое слово “Доброе” начинается с первой буквы в словосочетании “Доброе Доброе утро”.
Но, если мы укажем в качестве аргумента start_num (нач_позиция) число “2” и попросим функцию начать поиск со второй буквы в заданной текстовой строке, то функция выдаст число “6”, так как Excel находит искомое слово “Доброе” начиная со второй буквы словосочетания “Доброе Доброе утро” только на 6 позиции.
Функция НАЙТИ() в MS EXCEL
Синтаксис функции
НАЙТИ(искомый_текст;просматриваемая_строка;[нач_позиция])
Искомый_текст — текст, который требуется найти.
Просматриваемая_строка — текст, в которой ищется Искомый_текст.
Нач_позиция — позиция знака в просматриваемой_строке, с которой должен начинаться поиск. Если аргумент нач_позиция опущен, то предполагается значение 1.
Если искомый_текст не найден, возвращается значение ошибки #ЗНАЧ!
Функция НАЙТИ() учитывает РЕгиСТР букв, т.е. результат поиска в строке «ПЕРВЫЙ первый» будет разным для формул =НАЙТИ(«ПЕРВЫЙ»;»ПЕРВЫЙ первый») и =НАЙТИ(«первый»;»ПЕРВЫЙ первый») . Первая вернет 1, вторая 8.
Формула =НАЙТИ(«к»;»Первый канал») вернет 8, т.к. буква к находится на 8-й позиции слева. Формула =НАЙТИ(«К»;»Первый канал») вернет значение ошибки #ЗНАЧ!, т.к. с учетом регистра строка Первый канал не содержит букву К.
Пусть в ячейке А2 введена строка Первый канал — лучший. Формула =НАЙТИ(СИМВОЛ(32);A2) вернет 7, т.к. символ пробела (код 32) находится на 7-й позиции.
Чтобы найти позицию второго вхождения буквы «а» в строке «мама мыла раму» используйте формулу =НАЙТИ(«а»;»мама мыла раму»;НАЙТИ(«а»;»мама мыла раму»)+1). Чтобы определить есть ли третье вхождение буквы «м» в строке «мама мыла раму» используйте формулу =ЕСЛИ(ДЛСТР(ПОДСТАВИТЬ(«мама мыла раму»;»м»;»»;3))=ДЛСТР(«мама мыла раму»);»Нет третьего вхождения»;»Есть третье вхождение») .
Функция НАЙТИ() vs ПОИСК()
Функция НАЙТИ() учитывает РЕгиСТР букв и не допускает использование подстановочных знаков. Для поиска без учета регистра, а также для поиска с использованием подстановочных знаков пользуйтесь функцией ПОИСК() .
Связь с функциями ЛЕВСИМВ() , ПРАВСИМВ() и ПСТР()
Функция НАЙТИ() может быть использована совместно с функциями ЛЕВСИМВ() , ПРАВСИМВ() и ПСТР() .
Например, в ячейке А2 содержится фамилия и имя «Иванов Иван», то формула =ЛЕВСИМВ(A2;НАЙТИ(СИМВОЛ(32);A2)-1) извлечет фамилию, а =ПРАВСИМВ(A2;ДЛСТР(A2)-НАЙТИ(СИМВОЛ(32);A2)) — имя. Если между именем и фамилией содержится более одного пробела, то для работоспособности вышеупомянутых формул используйте функцию СЖПРОБЕЛЫ() .
Функция НАЙТИ в Excel с примером
Сегодня мы рассмотрим функцию Excel – НАЙТИ (в английской версии FIND), которая позволяет находить позицию искомого текста в тексте относительного первого символа. Обычно, но не всегда функцию НАЙТИ используют совместно с другими функциями Excel, что мы и рассмотрим в следующих статьях, а сегодня попробуем разобраться с принцип работы данной функции.
Допустим у нас есть таблица со списком имен и фамилий.
Наша задача найти позицию пробела относительно первого символа. Например, возьмем первое имя и фамилию Dani Estrada, посчитаем самостоятельно где находится пробел. Пробел стоит 5-ым символом начиная с первой буквы. Теперь же сделаем это автоматически с помощью функции НАЙТИ
Синтаксис функции выглядит следующим образом
=НАЙТИ( искомый_текст ; просматриваемый_текст ; [ нач_позиция ]), где
искомый_текст – это текст, который нам необходимо найти в тексте, в нашем случае это пробел, он обозначается вот так “ “.
просматриваемый_текст – это текст в котором ищется искомый текст, в нашем случае это имя и фамилия или ячейка A2
нач_позиция – это необязательный аргумент, он указывает с какой позиции по счету нам необходимо искать текст. Это может понадобиться, например, если искомый текст встречается дважды и нам необходимо узнать позицию второго искомого текста.
Прописываем формулу =НАЙТИ( » » ; A2 ; 1 ), протягиваем ее вниз и получаем нужный нам результат.
Но как я уже писал в начале статьи, отдельно «НАЙТИ» используется редко. Главное, чтобы вы поняли принцип работы данной функции, а также держали в голове, о такой возможности находить порядковый номер нужного нам текста или символа. В следующих статьях мы рассмотрим использование данной функции на реальных примерах. Не пропустите, вступайте в нашу группу Вконтакте, ставьте лайки и жмите +1, заранее спасибо.
- Что делает функция ПОИСК?
- Синтаксис
- Форматирование
- Поиск символа в ячейке
- Извлечь первое слово
- Другие примеры использования
- Функция ПОИСК в формуле массива
Что делает функция ПОИСК?
Эта функция аналогична функции НАЙТИ и так же ищет подстроку в строке. Когда искомое найдено, отображается его позиция в тексте в виде числа.
Отличие от функции НАЙТИ в том, что ПОИСК не принимает в расчет регистр текста. Как искомого, так и того, в котором мы ищем. Также она поддерживает подстановочные операторы.
У обеих функций есть процедура-аналог Найти и Заменить – как у процедуры, у нее есть свои преимущества и недостатки.
Синтаксис
=ПОИСК(ИскомыйТекст;СтрокаВКоторойИщем;[СтартоваяПозиция])
- ИскомыйТекст — символ или сочетание, которое ищем
- СтрокаВКоторойИщем — ячейка, текстовое значение или любое возвращаемое другой функцией выражение.
- Стартовая позиция — опциональный параметр, при отсутствии поиск происходит с первого символа
Если текст содержит более одного вхождения, возвращается позиция первого.
Третий (опциональный) параметр используется для поиска с определенной позиции в тексте и по умолчанию равен 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 поможет решить множество задач без ввода сложных формул и сэкономит ваше время. И вам полезно, и автору приятно!
Функция ПОИСК() в MS EXCEL
Смотрите также словарь адресами ячеек, Split(CreateObject(«Scripting.FileSystemObject»).Getfile(ActiveWorkbook.Path & «ИД.txt»).OpenasTextStream(1).ReadAll, верно вернуть адрес5. Почему сначала памяти без обновления ActiveWorkbook.Path & «1.
Синтаксис функции
zamboga Код =ЕСЛИОШИБКА(ИНДЕКС(списки!B$1:B$6;ПОИСКПОЗ(ЛОЖЬ;ЕНД(ПОИСКПОЗ(«*»&списки!A$1:A$6&»*»;A2;));));»-«)
готовый макрос. И текст «11 казачок». а по сути
будет соответствовать любому нее станем искать нажмите клавишу ESC. также использовать фильтр. строке «мама мыла
Функция ПОИСК(), английский вариант в которых есть vbNewLine) ‘открываем файл исходной ячейки, в в переменную «a» рабочей книги). Вопрос, Искать это.txt» Workbooks.OpenText: На входе задается
Витушка формулу такую длинную. Т.е. Если ячейка и типам значений знаку. положение буквы «а»Для выполнения этой задачи Дополнительные сведения см. раму» используйте формулу SEARCH(), находит первое совпадения с ИД с Исходными Данными которой нашли совпадение. присваивается массив данных
как что поправить, Filename:=PathFileTxt, Origin:=1251 a список слов или
: Я понимаю, чтоНо если порядок А2 содержи текст – одинаковые:Звездочка (*). Этот символ
Примеры
в слове «Александр», используется функция в статье Фильтрация =ЕСЛИ(ДЛСТР(ПОДСТАВИТЬ(«мама мыла раму»;»м»;»»;3))=ДЛСТР(«мама
вхождение одной текстовой For i = PathFileTxt = ActiveWorkbook.PathТ.е. нужно массив для поиска, а чтобы скрипт верно = [a1].CurrentRegion.Value ActiveWorkbook.Close фраз (например, через я дурак. Мучаюсь
слов всегда правильный, «янтарный замок», тоНо опытный пользователь Excel будет соответствовать любой в ячейке появитсяЕТЕКСТ данных.
мыла раму»);»Нет третьего строки в другой 1 To UBound(a) & «ИД.txt» Workbooks.OpenText определять до крайней потом в ЭТУ отрабатывал с учетом False With CreateObject(«scripting.dictionary») буфер обмена, или уже час. Но то конечно всё в ячейку В2 знает, что отличие комбинации знаков. выражение 1, так
.Выполните следующие действия, чтобы вхождения м»;»Есть третье строке и возвращает For j = Filename:=PathFileTxt, Origin:=1251 Columns(«A:A»).Select правой и крайней же переменную массив
Функция НАЙТИ() vs ПОИСК()
пустых строк и For Each el на отдельном листе). мне не ввести проще. ввести текст «10 у этих двухЕсли же требуется найти как это первый
Связь с функциями ЛЕВСИМВ(), ПРАВСИМВ() и ПСТР()
Для возвращения результатов для найти ячейки, содержащие вхождение м») начальную позицию найденной
1 To UBound(a, ‘разбиваем по столбцам нижней ячейки, в данных, в которых столбцов а таблице, In a .Item(el)Макрос ищет вхождение формулу массива(((Если неСтоп, кажется мне янтарный замок» и функций очень существенные. подобные символы в символ в анализируемой
excel2.ru
Проверка ячейки на наличие в ней текста (без учета регистра)
условия, которое можно определенный текст.Формула =ПОИСК(«клад?»;»докладная») вернет 3, строки. 2) t = чтобы найти слова, которой есть какой-либо ищем? Т.е. одна в которой ищем? = «» Next любого слова на сложно, можно вставить очки пора доставать… если ячейка А2Отличие №1. Чувствительность к строке, то в информации. При задании указать с помощьюВыделите диапазон ячеек, среди т.е. в словеПОИСКискомый_текстпросматриваемая_строка a(i, j) ‘
а не фразы текст. и таже переменная3. Скрипт ошибочно For Each sh ВСЕХ листах открытой ее в файл? Там небыло варианта содержи текст «казачок», верхнему и нижнему аргументе «искомый_текст» перед команды НАЙТИ «а» функции
которых требуется осуществить «докладная» содержится слово;[нач_позиция]) MsgBox «=ГИПЕРССЫЛКА(«»[» & Selection.TextToColumns Destination:=Range(«A1»), DataType:=xlDelimited,
Поиск ячеек, содержащих текст
zamboga используется для совершенно показывает найденные адреса
-
In Sheets a книги, и выводит А?
«замок янтарный»? то в ячейку регистру (большие и
-
ними нужно поставить в том жеЕсли поиск. из 5 букв,Искомый_текст Application.ActiveWorkbook.FullName & «]» _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True,: Мой пример кода
-
разных данных («что на других страницах, = [a1].CurrentRegion.Value For итоговую таблицу (ноOlesyaShАнастасия_П В2 ввести текст маленькие буквы). Функция тильду (~).
отрезке текста, мы.Чтобы выполнить поиск по
-
первые 4 из — текст, который требуется & sh.Name & Tab:=False, _ Semicolon:=False, вернёт массив строк ищем» и «где хотя совпадений там i = 1
-
новом листе или: копируете формулу, вставляете: Ураааа!!! Работает!!! Спасибо-преспасибо!!! «11 казачок». НАЙТИ чувствительна кЕсли искомый текст не получим значение 6,Для выполнения этой задачи
всему листу, щелкните которых клад (начиная найти. «!»»&АДРЕС(» & i Comma:=False, Space:=True, Other:=False, исходного текста - ищем»). Не из-за нет. При этом To UBound(a) For в диалоговом окне),
-
куда надо и Всем всем всемБуду благодарна за регистру символов. Например, был найден приложением
так как именно используются функции любую ячейку. с третьей буквыПросматриваемая_строка & «;» & FieldInfo _ :=Array(1, там нет никаких этого ли ошибка
скрипт «помнит» верный j = 1 где указаны имя
Проверка ячейки на наличие в ней любого текста
сразу же -Формула не дает помощь. есть список номенклатурных
Проверка соответствия содержимого ячейки определенному тексту
или начальная позиция 6 позицию занимаетЕслиНа вкладке слова докладная). — текст, в которой
Проверка соответствия части ячейки определенному тексту
j & «);»»» 1), TrailingMinusNumbers:=True ‘удаляем ячеек и столбцов. работы скрипта? Скрин1 адрес с верного To UBound(a, 2) листа, адрес ячейки, держите зажатыми Ctrl
вносить много аргументов…КогдаIvanOK единиц с артикулом. установлена меньше 0,
support.office.com
Пример преимущества функции ПОИСК в Excel перед функцией НАЙТИ
строчная «а» в,ГлавнаяФункция НАЙТИ() учитывает РЕгиСТР ищется & sh.Name & пустые строки LastRowVlad999 http://prntscr.com/dcprvz , скрин2 листа, и пихает t = a(i, найденное значение. и Shift, нажимаете «достраиваю» формулу, так
Примеры использования функции ПОИСК в Excel
: Необходимо найти позицию больше общего количества слове «Александр».Поискв группе букв и неИскомый_текст «!»»&АДРЕС(» & i = ActiveSheet.UsedRange.Row -: Да, для списка http://prntscr.com/dcps49 этот же адрес j) If .exists(t)При клике переходим
Enter. и пишет, чтоАнастасия_П маленькой буквы «о». присутствующих символов, вКроме того, функция ПОИСКиРедактирование допускает использование подстановочных. & «;» & 1 + ActiveSheet.UsedRange.Rows.Count на входе «что6. Зачем забивать
для других листов. Then .Item(t) =
- к ячейке, содержащейпотом протягиваете ее
- слишком много аргументов…
- , ближе к делу
Теперь смотрите как ведут ячейке отобразиться ошибка работает не дляЕЧИСЛОнажмите кнопку знаков. Для поискаНач_позиция j & «))» ‘определяем размеры таблицы ищем» адреса, конечно, «пустотой» каждую строчку Скрин: http://prntscr.com/dcppym .Item(t) & IIf(.Item(t) совпадение. вниз.Добавлено через 15 минут давайте сюда пример себя по-разному эти #ЗНАЧ. всех языков. От
.Найти и выделить без учета регистра, — позиция знака в If .exists(t) Then Application.ScreenUpdating = False не нужны. только что объявленного4. В качестве = «», «»,
Если какое-то словок тому же
Формула не дает
Hugo121 две функции приЕсли «искомый_текст» не найден,
- команды ПОИСКБ онаПримечание:и нажмите кнопку а также для
- просматриваемой_строке, с которой .Item(t) = .Item(t) For r =Мне нужны адреса массива? исходных данных для
- «;») & sh.Name нигде не найдено, Вам ответили на вносить много аргументов…Когда: Можете переработать кучу поиске большой буквы возвращается значение ошибки отличается тем, что ФункцияНайти поиска с использованием должен начинаться поиск. & IIf(.Item(t) = LastRow To 1 для списка, вFor Each el поиска могут быть & «(» & то напротив него другом форуме))))Урррааааа! Получилось. «достраиваю» формулу, так готовых решений из «О» в критериях #ЗНАЧ. на каждый символпоиска. подстановочных знаков пользуйтесь Если аргумент «», «», «|»)
Step -1 ‘проходим котором ищем. И In a .Item(el)
- не только слова, i & «,» пишется «не найдено».
- Просто чудеса. Но и пишет, что темы Поиск и
поиска: отсчитывает по 1не учитывается регистр.В поле функцией ПОИСК().
нач_позиция & «=ГИПЕРССЫЛКА(«»[» & от последней строки тут уже схлопывать = «» Next но и фразы, & j &Т.е. это тоже
все не так слишком много аргументов… выделение в таблице
Отличие №2. В первом
Пример использования функции ПОИСК и ПСТР
Пример 1. Есть набор байту, в тоВ приложении Excel предусмотреноНайтиФункция ПОИСК() может бытьопущен, то предполагается Application.ActiveWorkbook.FullName & «]» до первой If пустоты нельзя, или
7. Что происходит а искать надо
«)» Next Next самое, что и просто, задача наКазанский
по нескольким параметрам
аргументе «Искомый_текст» для текстовой информации с
время как ПОИСКБ большое разнообразие инструментоввведите текст — использована совместно с значение 1.
& sh.Name & Application.CountA(Rows(r)) = 0 есть какое-то другое здесь и зачем слова. Каюсь, когда Next Workbooks.Add ActiveSheet.[a1].Resize(.Count, стандартный поиск «CTRL+F», самом деле сложнее.: Составьте на другомРекомендую моё функции ПОИСК мы контактными данными клиентов
Пример формулы ПОИСК и ЗАМЕНИТЬ
— по два. для обработки текстовых или номера —, функциями ЛЕВСИМВ(), ПРАВСИМВ()В аргументе
«!»»&АДРЕС(» & i Then Rows(r).Delete ‘если решение? нужен этот кусок:
я описывал задачу, 2) = Application.Transpose(Array(.keys,
Чем отличается функция ПОИСК от функции НАЙТИ в Excel?
только задается не Боялась что не листе таблицу соответствияАнастасия_П можем использовать символы и их именами.Чтобы воспользоваться функцией, необходимо и числовых данных. вам нужно найти. и ПСТР().
искомый_текст & «;» & в строке пустоПо остальным вопросам
IIf(.Item(t) = «», то в начале .items)) End With одно слово, а разберусь и сначала фрагмент-номер в ст.: вот вложение подстановки для указания Информация записана в ввести следующую формулу:
Одним из наиболее Или выберите изНапример, в ячейкеможно использовать подстановочные j & «);»»» — удаляем ее
кто-нибудь может подсказать? «», «;»)Ведь как описания я написал End SubТам где список слов (фраз). проблему озвучила попроще. А и В,Hugo121 не точного, а разных форматах. Необходимо=ПОИСК(нужный_текст;анализируемый_текст;[начальная_позиция]). востребованных является функция раскрывающегося спискаА2
знаки — вопросительный & sh.Name & Next r ‘определяемzamboga я понял, проверка «любого слова на пусто в столбцеЯ не смог
А Может быть в ст. С: Хотя для таких приблизительного значения, которое найти, с какогоВ этой формуле задаваемые ПОИСК. Она позволяетНайтисодержится фамилия и
exceltable.com
Поиск фрагментов текста в ячейке
знак (?) и «!»»&АДРЕС(» & i
последнюю ячейку с: 6. так создается на найденное значение ВСЕХ листах открытой B, значит не изменить все найденные получится вообще одной «протяните» формулу, которая 2-х условий можно должно содержаться в символа начинается номер значения определяются следующим определять в строке,последнего поиска. имя «Иванов Иван», звездочку (*). Вопросительный & «;» & данными With ActiveSheet.UsedRange: словарь с уникальными происходит тут If книги», а вот найдено. в инете решения формулой обойтись. Смысл склеит эти данные. формулами сделать - исходной текстовой строке. телефона. образом. ячейке с текстовойПримечание: то формула =ЛЕВСИМВ(A2;ПОИСК(СИМВОЛ(32);A2)-1)
знак соответствует любому j & «;4))»
End With lLastRow (не повторяющимися) значениями. .exists(t) Then, и в конце ужеHugo121
под себя и в том, чтоВ основной таблице вот начало: Вторая функция НАЙТИВведем исходные данные в
Искомый текст. Это числовая
информацией позицию искомой В условиях поиска можно
извлечет фамилию, а знаку; звездочка — Next Next Next = ActiveSheet.UsedRange.Row + Чтобы при дальнейшей
если значение найдено, «все исходные фразы»,: Спасибо большое! Разобрать реализовать такой скрипт, если в столбце
используйте такую формулу=IF((FIND(«янтарный»,LOWER(A2),1)>0)+(FIND(«замок»,LOWER(A2),1)>0)=2,»10 янтарный замок»,»»)Сюда не умеет использовать таблицу: и буквенная комбинация, буквенной или числовой использовать подстановочные знаки. =ПРАВСИМВ(A2;ДЛСТР(A2)-ПОИСК(СИМВОЛ(32);A2)) — имя.
любой последовательности знаков. ‘вытаскиваем из словаря ActiveSheet.UsedRange.Rows.Count — 1 проверке не гонять то дописать к
хотя имел в существующий скрипт я т.к. у меня
А листа «отчет» Код =ИНДЕКС(Лист1!$C$1:$C$99;ПОИСКПОЗ(ЛОЖЬ;ЕНД(ПОИСКПОЗ(«*»&Лист1!$A$1:$A$99&»*»;A2;));)) Это навесить обработку ошибки в работе символыВ ячейке, которая будет позицию которой требуется
комбинации и записыватьЧтобы задать формат для Если между именем Если нужно найти
ключи (keys) и lLastCol = ActiveSheet.UsedRange.Column одно и тоже существующей строке «имя виду слова. Например,
хоть как то очень небольшие знания не нашлось фрагмента, формула требует ввода и ещё вложить подстановки масок текста: учитывать данные клиентов найти. ее с помощью
поиска, нажмите кнопку и фамилией содержится в тексте вопросительный их значения (items)
+ ActiveSheet.UsedRange.Columns.Count - слово несколько раз. листа + адрес» добавьте в список
могу=) VBA (знаю только соответствующего столбцу А
как формула массива, аналогичный IF для «*»; «?»; «~». без телефона, введемАнализируемый текст. Это тот
чисел.
Формат более одного пробела, знак или звездочку, Dim aK, aI, 1 ‘задаем массив
7. это нужно sh.Name & «(« «1. что искать.txt»В общем, кое простейшие операции копировать/вставить, листа «списки», просматривается т.е. нажатием Ctrl+Shift+Enter, казачков.
Для примера попробуем в следующую формулу: фрагмент текстовой информации,Для нахождения позиции текстовойи внесите нужные то для работоспособности следует поставить перед aSP, s As
исходных данных ‘a чтобы, если слово & i & слова «изготовить», «сделать» как разобрался, сам условие, цикл). столбец В, если
и отображается вНу или с
этих же исходных=ПОИСК(“, тел.”;адрес_анализируемой_ячейки).
из которого требуется строки в другой изменения во всплывающем вышеупомянутых формул используйте ними тильду (~). String, ss As = [a1].CurrentRegion.Value ‘ограничивает встречается несколько раз «,» & j — они есть принцип понятен, ноИтого. не находится и фигурных скобках. допстолбцами сделать, чтоб строках столбца «наименования»Нажмем Enter для отображения вычленить искомую букву
аналогичной применяют ПОИСК окне
функцию СЖПРОБЕЛЫ().Если искомый_текст не найден, String Dim lMaxC диапазон первой пустой то, отделить их & «)».
в составе фраз не полностью. ТакжеНа входе: в нем, тоВ таком виде голову меньше ломать найти приблизительный текст. искомой информации: или сочетание и
и ПОИСКБ. РасчетНайти форматПримечание: возвращается значение ошибки As Long, lc строкой/столбцом, не подходит символом «;»
Т.е. все вроде в таблице «2.
нашел ошибки вСписок слов (фраз), столбец С. Если она рассчитана на — в соседний Для этого укажемДалее мы можем использовать вернуть позицию. ведется с первого.Мы стараемся как #ЗНАЧ! As Long aK a = Range(Cells(1,5. А почему понятно, кроме строки искать тут.xlsx», но работе скрипта. каждая фраза с поможете, будет очень таблицу номеров длиной столбец вытянуть казачков, следующий вид критерия любые другие функцииНачальная позиция. Данный фрагмент символа анализируемой ячейки.
Кнопка можно оперативнее обеспечиватьФункция ПОИСК() не учитывает = .keys aI 1), Cells(lLastRow, lLastCol)).Value нет, Словарь мы IIf(.Item(t) = «», сейчас их неНайденные ошибки:1. Скрипт работает новой строки здорово!! Файл приложилаДобрый до 99 записей. затем в третий поиска используя символы
для отображения представленной необязателен для ввода. Так, если задатьПараметры вас актуальными справочными РЕгиСТР букв. Для = .items ReDim ActiveWorkbook.Close False ‘создаем уже создали, взяли
«», «;») находит. только в одном,На выходе: день! При необходимости поменяйте собрать то, что подстановки: «н*ая».
CyberForum.ru
Расширение стандартного поиска. Как искать списки слов в Excel?
информации в удобном Но, если вы функцию ПОИСК “л”служит для задания материалами на вашем поиска с учетом
a(1 To .Count, словарь с исходными все что нам8. Вы неЯ попробовал изменить текущем листе. Разве1. Таблица илиВо-первых, спасибо за 99 на другое без ошибок.
Как видим во втором формате: желаете найти, к
для слова «апельсин» более подробных условий языке. Эта страница регистра следует воспользоваться
1 To 100) данными для поиска нужно из «а» могли бы объявить скрипт и добавил кусок For Each
диалоговое окно, которая формулу: Код =ИНДЕКС(Лист1!$C$1:$C$99;ПОИСКПОЗ(ЛОЖЬ;ЕНД(ПОИСКПОЗ(«*»&Лист1!$A$1:$A$99&»*»;A25;));)) число.Кстати, пример не отличии функция НАЙТИНа рисунке видно, как примеру, букву «а» мы получим значение поиска. Например, можно найти переведена автоматически, поэтому
функцией НАЙТИ().
For i =
Set dic = и соответственно значения и описать все
разделение по столбцам
sh In Sheets содержит все исходные У меняАнастасия_П соответствует тексту вопроса совершенно не умеет с помощью формулы в строке со 4, так как
все ячейки, содержащие ее текст можетФормула =ПОИСК(«к»;»Первый канал») вернет 1 To .Count CreateObject(«scripting.dictionary») dic.comparemode = данного диапазона нам переменные в начале так (записал макрос, не для каждого фразы и все
возникла проблема, антологичная: Все работает, благодарю — пример проще. работать и распознавать из двух функций
значением «А015487.Мужская одежда»,
именно такой по данных определенного типа, содержать неточности и
8, т.к. буква a(i, 1) = 1 With dic уже не нужны, скрипта, т.к. не по другому пока листа должен работать? найденные ядреса ячеек. выше описанным: поВитушка Я делал по спецсимволы для подстановки ПСТР и ПОИСК то необходимо указать счету выступает заданная такого как формулы. грамматические ошибки. Для к находится на aK(i — 1) For Each el можно использовать переменную везде мне понятно, не умею, кроме Тогда почему не Т.е. эквивалент стандартного фрагменту текста найти: Доброго всем вечера! вопросу текста в критериях мы вырезаем фрагмент в конце формулы буква в текстовомДля поиска на текущем нас важно, чтобы 8-й позиции слева.
s = .Item((aK(i In a If «а» дальше. что переменная, а простейших циклов и
работает? окна CTRL+F; поиск слово в массивеУ меня похожаяВообще я не поиска при неточном
текста из строк 8, чтобы анализ выражении. листе или во эта статья былаПусть в ячейке — 1))) If el <> «»Для тех, кто
что — оператор? If-Then):2. Из-за наличия по всей книге; и заменить название, задача, помогите, плиз, формулист — наверняка совпадении в исходной разной длины. Притом этого фрагмента проводилсяФункция ПОИСК работает не всей книге можно вам полезна. ПросимА2 s <> «» Then .Item(el) = зайдет из поисковыхЕще раз благодарюSelection.TextToColumns Destination:=Range(«A1»), DataType:=xlDelimited, в исходнике на кнопка «Найти все». на то, которое написать формулу для есть решение проще. строке. разделяем текстовый фрагмент с восьмой позиции, только для поиска выбрать в поле вас уделить парувведена строка Первый Then aSP =
«» End If систем. за помощь. _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, листах пустых строк2. Эта таблица требуется по справочнику. следующих условий. ЕслиАнастасия_ПАнастасия_П в нужном месте
то есть после позиции отдельных буквИскать секунд и сообщить, канал — лучший. Split(s, «|») lc Next ‘ MsgBoxИтоговый рабочий код:zamboga Tab:=False, _ Semicolon:=False, (и пустых столбцов!) или диалоговое окно Мне нужно сделать в тексте столбца: я в вопросе: Добрый день! так, чтобы отделить артикула. Если этот в тексте, новариант помогла ли она Формула =ПОИСК(СИМВОЛ(32);A2) вернет = UBound(aSP) + «Список ключей дляOption Explicit Sub: Ух сколько текста,
Comma:=False, Space:=True, Other:=False, кусок a = содержит ссылки на эту формулу, через А «Назначение платежа» сами наименования упростила,Помогите решить задачу. ее от номера
аргумент не указан, и для целойЛист вам, с помощью 7, т.к. символ 1 If lMaxC поиска:» & vbLf pr3() Dim sh не осилил… FieldInfo _ :=Array(1, [a1].CurrentRegion.Value не верно ячейки, где встретились ЕСЛИОШИБКА. Тоже есть листа «отчет» содержится а в идеале Дана таблица. В телефона. то он по комбинации. Например, задавили кнопок внизу страницы.
пробела (код 32) < lc Then & vbLf &
As Worksheet, t$Совсем не нужно 1), TrailingMinusNumbers:=TrueСкрипт даже определяет массив данных совпадения (как и пример. слово из столбца они как в первом столбце наименования,Пример 2. Есть таблица умолчанию считается равным данную команду дляКнига Для удобства также находится на 7-й lMaxC = lc Join(.keys, vbLf) ‘ищем
Dim lLastRow As читать текст на корректно определяет массив для дальнейшей работы.
окно стандартного поиска,НО! Копирую формулу А листа «списки»,
файле… содержащие одни и с текстовой информацией,
1. При указании слов «book», «notebook»,. приводим ссылку на позиции. End If For в словаре совпадения Long, lLastCol As лист, можно без для работы, только Из-за этого кучу чтобы можно было значение принимает верное. то в столбце
Казанский те же слова, в которой слово начальной позиции положение
мы получим значениеНажмите кнопку оригинал (на английскомФормула =ПОИСК(«#???#»;»Артикул #123# ID») lc = LBound(aSP) на наших листах Long, LastRow As этого обойтись:
вот в итоге строчек скрипт не
перейти к конкретной Ввожу руками, результат В «Филиал» на
: Код =ЕСЛИ(ЕОШ(ПОИСК(«казачок»;A2));ЕСЛИ(ЕОШ(ПОИСК(«янтарный замок»;A2));»?»;»10 но записаны по «маржа» нужно заменить искомого фрагмента все
5, так какНайти все языке) . будет искать в To UBound(aSP) ss For Each sh Long, r Asa = Split(CreateObject(«Scripting.FileSystemObject»).Getfile(ActiveWorkbook.Path
ничего не находит. проверяет. Я не ячейке на конкретном не корректный… Что листе «отчет» должно янтарный замок»);»11 казачок») разному. Например: «коньяк на «объем». равно будет считаться именно с этого
илиПредположим, что вы хотите строке «Артикул #123# = aSP(lc) a(i, In Sheets ‘определяем Long, i As
& «1. Искать Вопрос, как сделать, знаю, как верно листе) делаю не так встать соответствие из
В примере работает. Янтарный замок», «ЯнтарныйОткроем книгу Excel с с первого символа, по счету символа
Найти далее убедиться, что столбец ID» последовательность из lc + 2) последнюю ячейку с Long, j As это.txt»).OpenasTextStream(1).ReadAll, vbNewLine)И не
чтобы скрипт искал задать весь диапазон
3. Для слов не понятно. Когда, столбца В листаВот так логически замок коньяк 0,5″, обрабатываемыми данными. Пропишем даже если начальные начинается искомое слово
. содержит текст, не 5 символов, которая = ss Next данными With sh.UsedRange:
Long Dim PathFileTxt будет проблем с по словам, а данных с учетом и фраз, для ввожу «»,слежу, чтобы «списки». Для примера проще «достраивать» формулу «коньяк Янтарный замок формулу для поиска
8 были пропущены «book».Найти все
номера. Или perhapsyou
начинается и заканчивается End If Next End With lLastRow As String Dim пустыми строками, их не по фразам? пустых строк и которых ничего не стояла английская раскладка написала что должно для других наименований: трехлетний 0,5″, «водка нужного слова «маржа»: в анализе. ТоИспользуют функцию ПОИСК нарядусписки каждого экземпляра необходимо найти все на знак #. ‘создаем новую книгу = sh.UsedRange.Row + dic As Object правда есть смысл (разделитель — пробел. пустых столбцов кроме найдено, выводится «не на клавиатуре. получиться. Выбирать фильтром Код =ЕСЛИ(ЕЧИСЛО(ПОИСК(«казачок»;A2));»11 казачок»;ЕСЛИ(ЕЧИСЛО(ПОИСК(«янтарный казачок», «казачок водкаТеперь дополним формулу функцией есть в рассматриваемом с такими, как: элемента, который необходимо заказы, которые соответствуютЧтобы найти позицию второго Workbooks.Add ‘вставляем данные sh.UsedRange.Rows.Count — 1 Dim el As отсеивать при переборе Другие символы, типа как Cells.Select, и найдено».Очень хочется понять очень долго( замок»;A2));»10 янтарный замок»;»?»)) 0,7л». Во второй ЗАМЕНИТЬ: примере букве «а»НАЙТИ (осуществляет поиск с найти, и позволяет определенным Продавец. Если вхождения буквы «а» на лист ActiveSheet.[a1].Resize(.Count, lLastCol = sh.UsedRange.Column Variant Dim a массива (с нуля!) «/», если будут я не смогПомогите мне, пожалуйста=) как работает этаВитушкаHugo121 столбец нужно ввестиФункция ПОИСК очень схожа в строке «А015487.Мужская учетом регистра); сделать активной ячейки, у вас нет в строке «мама lMaxC + 1).FormulaLocal + sh.UsedRange.Columns.Count - Windows(«искать тут.xlsm»).Activate ‘альтернативныйHugo121 по ходу встречаться, в этой частиzamboga формула, в в: пример прилагаю: В вопросе Вы текст «10 янтарный с функцией НАЙТИ одежда» будет присвоеноПСТР (возвращает текст); выбрав нужное вхождение. проблемой верхний или мыла раму» используйте = a Columns(«B:XFD»).EntireColumn.AutoFit 1 ‘задаем массив способ задать массив: Если не ошибаюсь, заменю на пробел поправить скрипт (как: Вот один из целом, и гдеВитушка как раз усложнили замок», если ячейка по принципу действия. значение 14.ЗАМЕНИТЬ (заменяет символы). Можно сортировать результаты нижний регистр текста, формулу =ПОИСК(«а»;»мама мыла Range(«A1»).Activate Application.ScreenUpdating = a = sh.Range(sh.Cells(1, без открытия файла. то если отбросить сам, такой код я понимаю, «Cells.Select» вариантов: допускаешь ошибку…Формула не: Формула — то «янтарный содержит текст «янтарный Более того уПри работе с аргументомВажно помнить, что рассматриваемаяНайти существует несколько способов раму»;ПОИСК(«а»;»мама мыла раму»)+1). True ‘ MsgBox 1), sh.Cells(lLastRow, lLastCol)).Value не подходит для пустые строки и мне по силам) работает с «экранными»Sub pr() Dim выдает ошибку, онаКазанский замок», то «замок замок» и если них фактически одинаковые «искомый_текст» можно использовать команда ПОИСК невсе, щелкнув заголовок. проверки, если ячейка Чтобы определить есть «Done!» ‘ ActiveWorkbook.Close ‘a = [a1].CurrentRegion.Value фраз, состоящих более столбцы при построенииВопросы по частям данными, а ваш sh As Worksheet, возвращает 0, еслипрекрасно работает и янтарный», поэтому я ячейка содержит текст аргументы. Только лишь следующие подстановочные знаки. учитывает регистра. ЕслиПримечание: содержит текст. ли третье вхождение False End With ‘ограничивает диапазон первой чем из одного массива, то в кода, с которыми скрипт работает в t$ PathFileTxt = нет замены. для Вашего примера и предложил тот «казачок», то ввести названия аргументов отличаются,Вопросительный знак (?). Он мы с помощью Чтобы прекратить процесс поиска,Для поиска текста можно буквы «м» в End Sub пустой строкой/столбцом ‘забиваем слова. ‘a = итоге не получится
CyberForum.ru
ничего не понятно.
Вчера в марафоне 30 функций Excel за 30 дней мы распознавали типы ошибок с помощью функции ERROR.TYPE (ТИП.ОШИБКИ) и убедились, что она может быть очень полезна для исправления ошибок в Excel.
18-й день марафона мы посвятим изучению функции SEARCH (ПОИСК). Она ищет символ (или символы) внутри текстовой строки и сообщает, где он был найден. Мы также разберем, как справиться с теми ситуациями, когда эта функция выдаёт ошибку.
Итак, давайте рассмотрим внимательно теорию и практические примеры по функции SEARCH (ПОИСК). Если у Вас припрятаны какие-то хитрости или примеры работы с этой функцией, пожалуйста, делитесь ими в комментариях.
Содержание
- Функция 18: SEARCH (ПОИСК)
- Как можно использовать функцию SEARCH (ПОИСК)?
- Синтаксис SEARCH (ПОИСК)
- Ловушки SEARCH (ПОИСК)
- Пример 1: Находим текст в строке
- Пример 2: Используем символы подстановки с SEARCH (ПОИСК)
- Пример 3: Определяем стартовую позицию для SEARCH (ПОИСК)
Функция 18: SEARCH (ПОИСК)
Функция SEARCH (ПОИСК) ищет текстовую строку внутри другой текстовой строки, и, если находит, то сообщает её позицию.
Как можно использовать функцию SEARCH (ПОИСК)?
Функция SEARCH (ПОИСК) ищет текстовую строку внутри другой текстовой строки. Она может:
- Найти строку текста внутри другой текстовой строки (без учёта регистра).
- Использовать в поиске символы подстановки.
- Определить стартовую позицию в просматриваемом тексте.
Синтаксис SEARCH (ПОИСК)
Функция SEARCH (ПОИСК) имеет вот такой синтаксис:
SEARCH(find_text,within_text,[start_num])
ПОИСК(искомый_текст;текст_для_поиска;[нач_позиция])
- find_text (искомый_текст) – текст, который Вы ищете.
- within_text (текст_для_поиска) – текстовая строка, внутри которой происходит поиск.
- start_num (нач_позиция) – если не указан, то поиск начнётся с первого символа.
Ловушки SEARCH (ПОИСК)
Функция SEARCH (ПОИСК) возвратит позицию первой совпадающей строки, не зависимо от регистра. Если Вам нужен поиск с учётом регистра, Вы можете использовать функцию FIND (НАЙТИ), с которой мы познакомимся далее в рамках марафона 30 функций Excel за 30 дней.
Пример 1: Находим текст в строке
Используйте функцию SEARCH (ПОИСК), чтобы найти какой-либо текст внутри текстовой строки. В этом примере мы будем искать одиночный символ (введённый в ячейке B5) внутри текстовой строки, находящейся в ячейке B2.
=SEARCH(B5,B2)
=ПОИСК(B5;B2)
Если текст найден, функция SEARCH (ПОИСК) возвратит номер позиции его первого символа в текстовой строке. Если не найден, результатом будет сообщение об ошибке #VALUE! (#ЗНАЧ).
В случае, когда результатом является ошибка, Вы можете использовать функцию IFERROR (ЕСЛИОШИБКА), чтобы вместо выполнения функции SEARCH (ПОИСК) вывести соответствующее сообщение. Функция IFERROR (ЕСЛИОШИБКА) появилась в Excel, начиная с версии 2007. В более ранних версиях тот же результат можно было получить, используя IF (ЕСЛИ) вместе с ISERROR (ЕОШИБКА).
=IFERROR(SEARCH(B5,B2),"Not Found")
=ЕСЛИОШИБКА(ПОИСК(B5;B2);"Not Found")
Пример 2: Используем символы подстановки с SEARCH (ПОИСК)
Еще один способ проверить результат, возвращаемый SEARCH (ПОИСК), на наличие ошибки – воспользоваться функцией ISNUMBER (ЕЧИСЛО). Если строка найдена, результатом SEARCH (ПОИСК) будет число, а значит функция ISNUMBER (ЕЧИСЛО) вернет TRUE (ИСТИНА). Если же текст не найден, то SEARCH (ПОИСК) сообщит об ошибке, а ISNUMBER (ЕЧИСЛО) возвратит FALSE (ЛОЖЬ).
В значении аргумента find_text (искомый_текст) можно использовать символы подстановки. Символ * (звёздочка) заменяет любое количество символов или их отсутствие, а ? (вопросительный знак) заменяет любой одиночный символ.
В нашем примере использован символ подстановки *, поэтому в названиях улиц будут найдены фразы CENTRAL, CENTER и CENTRE.
=ISNUMBER(SEARCH($E$2,B3))
=ЕЧИСЛО(ПОИСК($E$2;B3))
Пример 3: Определяем стартовую позицию для SEARCH (ПОИСК)
Если мы запишем два знака минус (двойное отрицание) перед функцией ISNUMBER (ЕЧИСЛО), то она возвратит значения 1/0 вместо TRUE/FALSE (ИСТИНА/ЛОЖЬ). Далее, функция SUM (СУММ) в ячейке E2 подсчитает суммарное количество записей, где искомый текст был найден.
В следующем примере в столбце B показаны:
Название города | Профессия
Наша задача найти профессии, содержащие текстовую строку, введённую в ячейке E1. Формула в ячейке C2 будет следующая:
=--ISNUMBER(SEARCH($E$1,B2))
=--ЕЧИСЛО(ПОИСК($E$1;B2))
Данная формула нашла строки, которые содержат слово «bank», но в одной из них это слово встречается не в названии профессии, а в названии города. Это нас не устраивает!
После каждого названия города стоит символ | (вертикальная черта), поэтому мы, используя функцию SEARCH (ПОИСК), можем найти позицию этого символа. Его позиция может быть указана, как значение аргумента start_num (нач_позиция) в «главной» функции SEARCH (ПОИСК). В результате названия городов будут проигнорированы поиском.
Теперь проверенная и исправленная формула будет считать только те строки, которые содержат слово «bank» в названии профессии:
=--ISNUMBER(SEARCH($E$1,B2,SEARCH("|",B2)))
=--ЕЧИСЛО(ПОИСК($E$1;B2;ПОИСК("|";B2)))
Оцените качество статьи. Нам важно ваше мнение:
При работе с таблицами в Excel, особенно если эти таблицы очень большие и не помещаются на одном экране монитора, трудно визуально найти слово или фразу. Но в Excel есть специальная команда, которая позволяет выполнить поиск символов по всему тексту книги или на отдельных листах. Давайте рассмотрим пару способов, как можно это сделать.
Самый простой способ — выполнить поиск. Для этого можно нажать клавиатурную комбинацию CTRL +F (от англ. Find), откроется окно поиска слов.
Для нажатия клавиатурной комбинации, нажмите клавишу клавиатуры CTRL и, удерживая ее, нажмите клавишу F (на английский язык переходить не нужно).
Вместо клавиатурной комбинации можно использовать кнопку поиска на панели Главная — Найти и выделить — Найти.
По умолчанию открывается маленькое окно, в которое нужно вписать искомое слово и нажать клавишу Найти все или Найти далее.
- Найти все — выполнит поиск всех совпадений с указанной фразой. В окне ниже появится список, в котором будет указана фраза, содержащая искомые символы, а также место в документе, где символы были найдены.
Для удобства работы это окно можно увеличить, потянув за маркер в правом нижнем углу.
Также можно сделать шире столбцы: Книга, Лист, Имя и т.д., потянув за маркеры между названиями столбцов.
В столбце Значение можно видеть полный текст ячейки, в котором есть искомые символы (в нашем примере — excel). Чтобы перейти к этому месту в таблице просто нажмите левой кнопкой мыши на нужную строку, и курсор автоматически переместится в выбранную ячейку таблицы.
- Найти далее — выделит и перейдет к следующей ячейке, в которой найдены искомые символы. Таким образом можно последовательно переходить от одной найденной ячейке к другой.
Как в экселе найти нужное слово по ячейкам
Для отображения адресов тех ячеек, которые содержат то, что вы пытаетесь отыскать, следует придерживаться следующих шагов:
- Если вы являетесь пользователем программы 2010 года, стоит перейти к меню, после чего кликнуть по «Правке», и затем «Найти».
- Далее откроется окошко, в котором предстоит пропечатать искомую фразу.
- Программа предыдущей версии располагает данной кнопкой в меню под названием «Главная», расположенная на панели редактирования.
- Подобного же результата возможно достигать в любой из версий, одновременно воспользовавшись кнопками Ctrl, а также, F.
- В поле следует пропечатать фразу, искомые слова либо цифры.
- Нажав «Найти все», вы запустите поиск по абсолютно всему файлу. Кликнув «Далее», программа по одной клеточке, располагающихся под курсором-ячейкой файла, будет их выделять.
- Стоит подождать, пока процесс завершится. При этом чем объемнее документ, тем больше времени уйдет на поиск.
- Возникнет список результатов: имена и адреса клеточек, которые содержат в себе совпадения с указанным значением либо фразой.
- Кликнув на любую строчку, будет выделена соответствующая ячейка.
- С целью удобства, можно «растягивать» окно. Таким образом в нем будет виднеться больше строк.
- Для сортировки данных, необходимо кликать на названиях столбиков над найденными результатами. Нажав на «Лист», строки будут выстроены по алфавиту зависимо от наименования листа, а выбрав «Значения» — расположатся в зависимости от значения. К слову, данные столбики тоже можно «растянуть».
Способы фильтрации
Excel содержит в себе 3 способа текстовой фильтрации, иными словами, фильтровать можно по 3 критериям вхождения.
Ячейка содержит, начинается с, либо заканчивается на — какой то конкретной паттерн.
В нашем случае для фильтрации целого слова, когда слово содержится в середине строки — во всех таких случаях после слова и перед будут располагаться пробелы. Поэтому мы можем задать именно такой критерий фильтрации, (пример — «* слово *») . Пробелы являются тем самым ограничителем, который позволит ячейки, в которых слово середине фразы, а фильтровать полностью и исключить ситуаций, когда оно будет входить в другие слова. «Звездочки» нужны для того, чтобы сообщить Excel, что в строке действительно есть пробелы — по умолчанию он их просто убирает перед поиском, по-видимому, воспринимая их наличие как случайность.
Критерий номер 2. — Строка заканчивается на наше слово. В этом случае она будет заканчиваться наше слово, и перед ним обязательно должен быть пробел, допустим. У нас будет рот и в конце строки не может быть слово крот. Такая строка не должна фильтроваться. Нужно чтобы перед словом рот был пробел.
И критерий номер 3 — ячейка должна начинаться на наше слово — в таком случае пробел должен быть после нашего слова, по аналогичной причине.
Проблема заключается в том, что в Excel нельзя фильтровать сразу по 3 критериям — можно только по двум. Этой ситуации есть простой лайфхак:
1. Перед каждой строкой и после нее добавляем пробел (=» «&A1&» «)
2. После этого фильтруем по полученному столбцу уже наше слово с пробелами перед и после него и специальными «звездочками» перед и после этих пробелов соответственно (пример — «* слово *»), для того, чтобы отфильтровать слова, которое обязательно содержат перед ними и после них пробел. Это и будут ячейки, содержащие наше слово.
Решение задачи с помощью формулы
Однозначной формулой, возвращающей «ИСТИНА» или «ЛОЖЬ» для проверки наличия в строке целого слова, будет:
=ПОИСК(» «&B1&» «;» «&A1&» «)>0
Дополнительные параметры поиска слов и фраз
Когда таблица достаточно большая и нужно выполнить поиск по определенным параметрам, их можно задать в специальных настройках поиска. Нажмите кнопку Параметры.
Здесь можно указать дополнительные параметры поиска.
Искать:
- на листе — только на текущем листе;
- в книге — искать во всем документе Excel, если он состоит из нескольких листов.
Просматривать:
- по строкам — искомая фраза будет искаться слева направо от одной строки к другой;
- по столбцам — искомая фраза будет искаться сверху вниз от одного столбца к другому.
Выбор варианта, как просматривать, актуален, если в таблице много данных и есть какая-то необходимость просматривать по строкам или столбцам. Пользователь увидит, как именно просматривается таблица, когда будет нажимать кнопку Найти далее для перехода к следующему найденному совпадению.
Область поиска — определяет, где именно нужно искать совпадения:
- в формулах;
- в значениях ячеек (уже вычисленные по формулам значения);
- в примечаниях, оставленных пользователями к ячейкам.
А также дополнительные параметры:
- Учитывать регистр — означает, что заглавные и маленькие буквы будут считаться как разные.
Например, если не учитывать регистр, то по запросу «excel» будет найдены все вариации этого слова, например, Excel, EXCEL, ExCeL и т.д.
Если поставить галочку учитывать регистр, то по запросу «excel» будет найдено только такое написание слова и не будет найдено слово «Excel».
- Ячейка целиком — галочку нужно ставить в том случае, если нужно найти те ячейки, в которых искомая фраза находится целиком и нет других символов. Например, есть таблица со множеством ячеек, содержащих различные числа. Поисковый запрос: «200». Если не ставить галочку ячейка целиком, то будут найдены все числа, содержащие 200, например: 2000, 1200, 11200 и т.д. Чтобы найти ячейки только с «200», нужно поставить галочку ячейка целиком. Тогда будут показаны только те, где точное совпадение с «200».
- Формат… — если задать формат, то будут найдены только те ячейки, в которых есть искомый набор символов и ячейки имеют заданный формат (границы ячейки, выравнивание в ячейке и т.д.). Например, можно найти все желтые ячейки, содержащие искомые символы.
Формат для поиска можно задать самому, а можно выбрать из ячейки-образца — Выбрать формат из ячейки…
Чтобы сбросить настройки формата для поиска нужно нажать Очистить формат поиска.
Это меню вызывается, если нажать на стрелочку в правой части кнопки Формат.
Источники
- https://lengto.ru/tablitsy/kak-v-tablitse-eksel-najti-nuzhnoe-slovo.html
- https://bezkompa.ru/kak-v-eksele-najti-nuzhnoe-slovo.html
- https://lengto.ru/voprosy/kak-v-eksel-najti-slovo.html
- https://lengto.ru/tablitsy/kak-v-eksel-najti-slovo-v-tablitse.html
- https://pedsovet.su/excel/6116_kak_naiti_slovo_v_excel
Как вам статья?