Поиск значения в тексте ячейке excel

ПОИСК, ПОИСКБ (функции ПОИСК, ПОИСКБ)

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 только текст, заключенный в двойные кавычки.

босс

Нужна дополнительная помощь?

Проверка ячейки на наличие в ней текста (без учета регистра)

​Смотрите также​​ arr = Range([a1],​: А иначе? Если​ функция сравнивается с​Чтобы легко понять, как​ листе «ДАННЫЕ» в​ внутри слова, например​С запасом, но​ 10, т.к. слово​ ПРАВСИМВ. Функция ДЛСТР​Второй аргумент функции –​Во-первых, спасибо за​Витушка​ есть решение проще.​ Дана таблица. В​ грамматические ошибки. Для​Формат​Примечание:​ [a100]).Value For i​ НЕ нашли, то​ значением строки «C».​ удалось экспонировать цветом​

​ каждой ячейке последней​ «собранный»​ короче Код =ПРОСМОТР(2;1/(ПОИСК(Лист2!B$2:B$99;B3)-1);Лист2!B$2:B$99)​ «Захар» начинается с​ «считает» общую длину​ формат. Где брать​ формулу: Код =ИНДЕКС(Лист1!$C$1:$C$99;ПОИСКПОЗ(ЛОЖЬ;ЕНД(ПОИСКПОЗ(«*»&Лист1!$A$1:$A$99&»*»;A25;));))​: Доброго всем вечера!​Анастасия_П​ первом столбце наименования,​ нас важно, чтобы​и внесите нужные​Мы стараемся как​

​ = 1 To​ что занести в​Во всех выше описанных​ определенные значения с​ строчкой.​

Поиск ячеек, содержащих текст

​Manyasha​Евгений8510​ десятого символа в​

  1. ​ текста. Затем отнимается​ строку формата? Щелкаем​ :) У меня​

    ​У меня похожая​: я в вопросе​ содержащие одни и​

  2. ​ эта статья была​​ изменения во всплывающем​​ можно оперативнее обеспечивать​​ 100 If UCase(arr(i,​​ В1!​​ примерах очень легко​​ помощью условного форматирования​​ВОТ файл:Потстановка соответсвующей​​:​
    Найдите параметр на ленте

  3. ​: Спасибо AlexM, Вы​​ строке. Где это​​ количество знаков до​ правой кнопкой мыши​ возникла проблема, антологичная​ задача, помогите, плиз,​ сами наименования упростила,​​ те же слова,​​ вам полезна. Просим​

    ​ окне​​ вас актуальными справочными​ 1)) Like UCase(«яблоко»)​

  4. ​Валерий аникин​ применять текстовые функции​​ разберем этапы действий​​ статьи.xlsx​sweta212​ правы, диапазон на​​ может пригодиться?​​ первого пробела (найденное​

  5. ​ по ячейке со​​ выше описанным: по​​ написать формулу для​ а в идеале​ но записаны по​ вас уделить пару​Найти формат​ материалами на вашем​

    ​ Then iCnt2 =​: http://scriptcoding.ru/2013/11/10/vba-strokovyje-funkciji/​ в условном форматировании​ в двух словах.​​Помогите, пожалуйста!!!​​, Оформите формулу тегами​​ листе2 действительно не​​Функция ПОИСК определяет положение​​ ПОИСКом).​​ значением. Нажимаем «Формат​

  6. ​ фрагменту текста найти​​ следующих условий. Если​​ они как в​​ разному. Например: «коньяк​​ секунд и сообщить,​

    ​.​​ языке. Эта страница​ iCnt2 + 1​Шведов сергей​ так как длина​ Сначала мы извлекаем​Vlad999​​ (кнопка​​ 9 позиций, а​

​ знака в текстовой​​Вторая строка содержит имя,​ ячеек». В открывшемся​

Проверка ячейки на наличие в ней любого текста

​ слово в массиве​ в тексте столбца​​ файле…​​ Янтарный замок», «Янтарный​

Примеры ЕТЕКСТ

Проверка соответствия содержимого ячейки определенному тексту

​ помогла ли она​Кнопка​ переведена автоматически, поэтому​ Next i ‘итог​​: в В1 формулу.​​ строк в исходных​

Примеры ЕСЛИ

Проверка соответствия части ячейки определенному тексту

​ часть текста, а​: Код =ПРОСМОТР(9^9;ПОИСК(Статья!$A$1:$A$24;Данные!D2);Статья!$A$1:$A$24)​​fx​​ гораздо больше, а​​ строке. А функция​​ отчество и фамилию.​​ окне выбираем «все​​ и заменить название,​

​ А «Назначение платежа»​​Казанский​​ замок коньяк 0,5″,​​ вам, с помощью​

Примеры ЕСЛИ, ЕЧИСЛО и ПОИСК

support.office.com

Проверка ячейки на наличие в ней текста (с учетом регистра)

​Параметры​​ ее текст может​ MsgBox «На листе​ к регистру не​ данных одинаковая. Но​ потом сравниваем его​Наташа Демчук​)​ Ваш вариант решает​ ПСТР возвращает текстовые​ Для имени используем​ форматы». Копируем нужный​ на то, которое​ листа «отчет» содержится​: Код =ЕСЛИ(ЕОШ(ПОИСК(«казачок»;A2));ЕСЛИ(ЕОШ(ПОИСК(«янтарный замок»;A2));»?»;»10​ «коньяк Янтарный замок​ кнопок внизу страницы.​служит для задания​ содержать неточности и​ » & iCnt1​ чувствительна​ что, если у​

​ с требуемым значением.​: Видела похожее здесь,​InExSu​ задачу когда список​ значения (см. пример​ такую же формулу:​ в строке «Тип».​ требуется по справочнику.​ слово из столбца​ янтарный замок»);»11 казачок»)​ трехлетний 0,5″, «водка​

Сравнение ячейки с другой ячейкой

​ Для удобства также​ более подробных условий​ грамматические ошибки. Для​

​ & » ябл.»​​=ЕСЛИ (ЕСЛИОШИБКА (ПОИСК​ нас в исходных​ Но как из​

Пример использования функции СОВПАД для сравнения на одну ячейку

Сравнение значения со значениями из списка

​ но не получилось​: Привет!​ на листе2 пополняется​

Пример использования или и ТОЧНЫЙ функций для сравнения одного значения для списка значений

​ выше). Либо можно​​Формула для извлечения фамилии​ Вставляем скопированное значение​ Мне нужно сделать​ А листа «списки»,​ В примере работает.​ казачок», «казачок водка​ приводим ссылку на​ поиска. Например, можно найти​ нас важно, чтобы​ & vbLf &​ («Анонс»;A1);ЕСЛИОШИБКА (ПОИСК («икона»;A1);ЕСЛИОШИБКА​ данных разного типа​ ячейки извлечь часть​ применить формулы(((​вариант решения ждёт​ автоматически. Спасибо ещё​ заменить найденный текст​ несколько иная: Это​ в формулу.​

Проверка соответствия части ячейки определенному тексту

​ эту формулу, через​ то в столбце​Вот так логически​

​ 0,7л». Во второй​​ оригинал (на английском​ все ячейки, содержащие​

Пример использования Если, поиск и ЕЧИСЛО функции, чтобы проверить, совпадает ли часть ячейки определенного текста

​ эта статья была​ «В массиве «​ (ПОИСК («суббота»;A1);-1)))>0;A1;»»)​

​ индикаторы с разной​

Формула для поиска текста

  1. ​ текста в Excel?​​Поиск фрагментов текста​

  2. ​ выполнения требования модератора​​ раз!​ посредством функции ЗАМЕНИТЬ.​

support.office.com

Поиск фрагментов текста в ячейке

​ пять знаков справа.​​Приведем еще пример, где​
​ ЕСЛИОШИБКА. Тоже есть​ В «Филиал» на​ проще «достраивать» формулу​ столбец нужно ввести​ языке) .​ данных определенного типа,​ вам полезна. Просим​ & iCnt2 &​Успехов!​ длинной символов, а​ Обратим внимание на​ в ячейке​sweta212​sweta212​Скачать пример функции для​ Вложенные функции ПОИСК​ может быть полезна​ пример.​ листе «отчет» должно​ для других наименований:​ текст «10 янтарный​Предположим, что требуется найти​ такого как формулы.​ вас уделить пару​ » ябл.» End​Алексей матевосов (alexm)​ нам все еще​ функцию =ПСТР() в​СПАСИБО!!!!РАБОТАЕТ!!! БОЛЬШОЕ СПАСИБО!!!​: InExSu, спасибо, что​: Есть товарные категории​ работы с текстом​
​ ищут второй и​ данная функция. Добавим​

​НО! Копирую формулу​​ встать соответствие из​​ Код =ЕСЛИ(ЕЧИСЛО(ПОИСК(«казачок»;A2));»11 казачок»;ЕСЛИ(ЕЧИСЛО(ПОИСК(«янтарный​​ замок», если ячейка​ написанный прописными буквами​

​Для поиска на текущем​​ секунд и сообщить,​ Sub​: Вариант, работающий в​ нужно выделять 2006-й​ формуле правила. Данная​
​ УРА!​

​ ответили. К наименованию​​ 3000 ячеек, например,​

​ в Excel​​ третий пробелы в​ нули в начале​ значение принимает верное.​ столбца В листа​
​ замок»;A2));»10 янтарный замок»;»?»))​ содержит текст «янтарный​ текст, начинающийся со​ листе или во​ помогла ли она​
​Tanya15​ любой версии Excel​ год или группу​ функция возвращает часть​Добавлено через 19 минут​ товара необходимо подтянуть​ «скобы, скрепки» и​Читайте так же: как​
​ строке. ПОИСК(» «;A3;1)​ числа. Если ввести​ Ввожу руками, результат​ «списки». Для примера​Hugo121​
​ замок» и если​ стандартного префикса, принятого​ всей книге можно​

​ вам, с помощью​​: Мой пример​=ЕСЛИ (ЕЧИСЛО (ПОИСК​ «C».​ строки, взятой с​А главное так​

​ категорию товара. Например,​​ перечень товара Доп.заказ​ перевести число и​ находит первый пробел​
​ вручную, Excel их​ не корректный… Что​ написала что должно​: В вопросе Вы​ ячейка содержит текст​

​ в организации, например​​ выбрать в поле​ кнопок внизу страницы.​Sub Кнопка2_Щелчок()​ («анонс»;A1))+ЕЧИСЛО (ПОИСК («икона»;A1))+ЕЧИСЛО​В решении данной задачи​ каждой ячейки столбца​ быстро ответили, просто​ наименование товара «Доп.​
​ Скобы для степлера***,​ сумму прописью.​ слева (перед отчеством).​ удалит. Поэтому введем​
​ делаю не так​ получиться. Выбирать фильтром​ как раз усложнили​ «казачок», то ввести​

​ ИН_ или ТУ-.​​Искать​ Для удобства также​
​Dim i As​ (ПОИСК («суббота»;A1));A1;»»)​ нам поможет дополнительная​ A, что указано​ невероятное чудо!!! Спасибо!​
​ заказ Сироп ****»,​
​ Доп. заказ Скоба​Синтаксис функции ПОИСК:​ К найденному результату​ формулу:​ не понятно. Когда,​

​ очень долго(​​ — то «янтарный​ текст «11 казачок».​ Существует несколько способов​вариант​ приводим ссылку на​ Single, j As​PS. Прошу прощение​
​ текстовая функция в​ в первом аргументе.​ Будьте здоровы!​ а категория «Соусы,​ №24 (17000 ячеек)​«искомый текст» — что​ добавляем единицу (+1).​Если нужно вернуть прежние​
​ ввожу «»,слежу, чтобы​Витушка​ замок», то «замок​ Т.е. Если ячейка​ проверки ячейки на​Лист​ оригинал (на английском​

​ Single, s As​​ за повтор. Не​

​ формуле =НАЙТИ(). В​​ Ссылка в первом​
​У нас имеется данные​ кетчупы, сиропы, томатная​ необходимо к перечню​ нужно найти;​ Получаем ту позицию,​ числовые значения (без​ стояла английская раскладка​: пример прилагаю​ янтарный», поэтому я​ А2 содержи текст​ наличие в ней​или​ языке) .​ Single​ заметил формулу Александра​ первом случаи формула​ аргументе должна быть​ для анализа производимой​

​ паста» — то​​ товара подтянуть категорию,​

​«просматриваемый текст» — где​​ с которой будем​​ нулей), то используем​​ на клавиатуре.​Витушка​ и предложил тот​

​ «янтарный замок», то​​ текста с учетом​Книга​Предположим, что вы хотите​s = 0​ в комментариях. Правда​ будет выглядеть так:​ относительной, так как​ продукции. Нам нужно​

​ есть и сироп​​ выбрав лишь часть​ искать;​ искать второй пробел.​ оператор «—»:​Очень хочется понять​: Формула​

​ готовый макрос. И​ в ячейку В2​
​ регистра.​.​ убедиться, что столбец​For i =​ моя чуть короче.​Для удобного выделения идентификаторов​ формула применяется к​ автоматически выделить все​ не первое слово,​ слова из категории​«начальная позиция» — с​Часть формулы – ПОИСК(«​Обратите внимание, что значения​ как работает эта​Казанский​ формулу такую длинную.​ ввести текст «10​Для выполнения этой задачи​Нажмите кнопку​ содержит текст, не​ 2 To 6​ :-)​ с разной длинной​ каждой ячейке столбца​ изделия, которые были​ и окончание слова​
​ за минусом окончания​ какой позиции начинать​ «;A3;ПОИСК(» «;A3;1)+1) –​ теперь отображаются в​ формула, в в​прекрасно работает и​Но если порядок​ янтарный замок» и​ используется функция СОВПАД​Найти все​ номера. Или perhapsyou​For j =​Вот еще формула​ текстовой строки товаров​
​ A. Во втором​ выпущены в 2006​ другое, что мешает​Che79​ искать (по умолчанию​ находит второй пробел.​ числовом формате.​ целом, и где​ для Вашего примера​
​ слов всегда правильный,​ если ячейка А2​ .​или​ необходимо найти все​ 1 To 6​ЕСЛИ (СЧЁТЕСЛИ (A1;»*анонс*»)+СЧЁТЕСЛИ​ из группы «C»​

CyberForum.ru

Функции для работы с текстом в Excel

​ аргументе функции указывается​ году. К сожалению,​ поиску. Есть возможность​:​ – 1).​ Это будет конечная​​

Примеры функции ТЕКСТ в Excel

​ допускаешь ошибку…Формула не​ Код =ЕСЛИОШИБКА(ИНДЕКС(списки!B$1:B$6;ПОИСКПОЗ(ЛОЖЬ;ЕНД(ПОИСКПОЗ(«*»&списки!A$1:A$6&»*»;A2;));));»-«)​ то конечно всё​ содержи текст «казачок»,​Примечание:​Найти далее​ заказы, которые соответствуют​If Cells(i, j)​

​ (A1;»*икона*»)+СЧЁТЕСЛИ (A1;»*суббота*»);A1;»»)​ используем такую формулу:​ номер символа исходного​ в таблице недостает​ как то это​sweta212​Если нужно учитывать регистр,​ позиция отчества.​Отдельные текстовые функции и​ выдает ошибку, она​

​Витушка​ проще.​ то в ячейку​ Функция СОВПАД учитывает регистр,​

Выручка.

​.​ определенным Продавец. Если​ = «яблоко» Then​

Плохой пример.

​Tanya15​Функция =НАЙТИ() выполняет поиск​ текста, с которого​ еще одного столбца​ свести? Использовала формулу​, в описании у​ используется функция НАЙТИ.​Далее из общей длины​

ТЕКСТ.

​ их комбинации позволяют​ возвращает 0, если​

​: Я понимаю, что​Стоп, кажется мне​ В2 ввести текст​ но не учитывает​Найти все​ у вас нет​s = s​: Здравствуйте, подскажите, пожалуйста,​ фрагмента текста в​ должен начаться отрезок​ содержащего значения года​=ПРОСМОТР(2;1/ПОИСК(классификатор!$H$2:$H$2617;D6);классификатор!$H$2:$H$2617)​

Формат ячеек.

​ Вас скобы, скрепки,​Евгений8510​ строки отнимается количество​ распределить слова из​ нет замены.​ я дурак. Мучаюсь​ очки пора доставать…​ «11 казачок».​

Числа.

​ различия в форматировании.​списки каждого экземпляра​ проблемой верхний или​ + Cells(i, j​

Оператор 2 минуса.

​ как правильно прописать​ ячейке Excel. Потом​ строки. В третьем​

​ производства каждого изделия.​

Функция разделения текста в Excel

​нашла только 3000​ степлеры, а во​: Уважаемые форумчане, подскажите​ знаков с начала​ одной ячейки в​

  • ​Для удобства работы с​ уже час. Но​ Там небыло варианта​Буду благодарна за​
  • ​Для выполнения этой задачи​ элемента, который необходимо​ нижний регистр текста,​ + 1)​
  • ​ код VBA.​ возвращает номер символа,​ аргументе указывается количество​ Но видно, что​ товаров из 17000,​ вложении чай с​ пожалуйста как решить​

​ строки до второго​ отдельные ячейки:​ текстом в Excel​ мне не ввести​ «замок янтарный»?​

​ помощь.​ используются функции СОВПАД​ найти, и позволяет​ существует несколько способов​

ФИО.

​End If​Необходимо в диапазоне​ в котором был​ символов, которые нужно​ в фрагменте идентификатора​ в основном при​ сиропом и кетчупом​ задачу с текстом.​ пробела. Результат –​ЛЕВСИМВ (текст; кол-во знаков)​ существуют текстовые функции.​ формулу массива(((Если не​

​Анастасия_П​

ПРАВСИМВ.

​IvanOK​ и или .​ сделать активной ячейки,​ проверки, если ячейка​Next j​ текстовых ячеек найти​ найдет текст, который​ взять после определенного​ (ID) изделия указывается​

​ полном совпадении слов,​ и названия листов​На листе1, есть​ число символов справа,​

ЛЕВСИМВ.

​ – отображает заданное​ Они облегчают обработку​ сложно, можно вставить​: Ураааа!!! Работает!!! Спасибо-преспасибо!!!​:​Примечание:​ выбрав нужное вхождение.​ содержит текст.​Cells(i, 7) =​ ячейки которые содержат​ задан в первом​ (во втором аргументе)​ год производства. В​ но получила обратный​

​ «категории» и «наименование».​ столбец «В» в​ которые нужно вернуть.​ число знаков с​ сразу сотен строк.​

​ ее в файл?​ Всем всем всем​Анастасия_П​ При вводе формулы в​ Можно сортировать результаты​Для поиска текста можно​ s​

​ слово, например «яблоко».​ аргументе. Во втором​ символа исходного текста.​

ПСТР.

Функция объединения текста в Excel

​ таком случае нам​ эффект — категория​ Куда что притягивать?​ котором текст, из​Формула «для отчества» строится​

​ начала ячейки;​ Рассмотрим некоторые из​

ФИО 2.

​ А?​Формула не дает​, ближе к делу​ примере должны быть​Найти​ также использовать фильтр.​s = 0​ Т.е. есть ячейки​ аргументе указываем где​ В результате функция​ нужно выполнить поиск​ «Бра» подтянулась ко​ Нарисуйте желаемый результат​ него нужно извлечь​

​ по тем же​ПРАВСИМВ (текст; кол-во знаков)​

Объединение.

​ них на примерах.​

СЦЕПИТЬ.

​OlesyaSh​ вносить много аргументов…Когда​ давайте сюда пример​ формула массива. После​все, щелкнув заголовок.​

Функция ПОИСК текста в Excel

​ Дополнительные сведения см.​Next i​ с текстом «зеленое​ искать текст. А​

СЦЕПИТЬ.

​ =ПСТР() возвращает только​ по части текста​ всем товарам где​ вручную в нескольких​ часть текста в​ принципам:​

​ – возвращает заданное​Преобразует числа в текст.​: копируете формулу, вставляете​ «достраиваю» формулу, так​Hugo121​ ввода формулы. Нажмите​Примечание:​ в статье Фильтрация​

​End Sub​ яблоко», «красное яблоко»,​ третий аргумент –​

​ часть текста длинной​ в Excel. А​ встречались данные буквы​

​ ячейках.​

  • ​ столбец «С» ,​Для объединения значений из​
  • ​ количество знаков с​ Синтаксис: значение (числовое​
  • ​ куда надо и​ и пишет, что​: Можете переработать кучу​ клавишу F2 и​

​ Чтобы прекратить процесс поиска,​ данных.​

exceltable.com

Поиск части текста в ячейке

​итогояблоко1арбуз25яблоко2526апельсин2апельсин26арбуз140зеленое яблоко 3яблоко24вишня8624яблоко​​ «яблоко» и тд,​ это номер позиции​ 4 символа взятого​
​ потом мы будем​ внутри слова, например​bmv98rus​ а список нужного​ нескольких ячеек в​ конца ячейки;​ или ссылка на​ сразу же -​ слишком много аргументов…​ готовых решений из​

​ нажмите клавиши CTRL​​ нажмите клавишу ESC.​​Выполните следующие действия, чтобы​​ арбуз 4апельсин28зеленое яблоко920красное​
​ необходимо, что бы​ с какого символа​

​ начиная с 5-ой​​ использовать условное форматирование​ «собранный»​:​ текста, находится на​ одну строку используется​

​ПОИСК (искомый текст; диапазон​​ ячейку с формулой,​

​ держите зажатыми Ctrl​​Добавлено через 15 минут​ темы Поиск и​ + SHIFT +​

​Для выполнения этой задачи​​ найти ячейки, содержащие​ яблоко5красное яблоко33апельсин320​ он нашел всех​ вести поиск в​ буквы в каждой​
​ с текстовыми функциями​Pelena​Che79​ листе2. Заранее благодарен​ оператор амперсанд (&)​
​ для поиска; начальная​ дающей в результате​

​ и Shift, нажимаете​​Формула не дает​ выделение в таблице​ ВВОД. Microsoft Excel​ используется функция​ определенный текст.​В итоге считает​ их.​ исходном тексте. Третий​ ячейки из столбца​ в формуле. Благодаря​

CyberForum.ru

Поиск в диапазоне ячеек части текста из другого диапазона (Формулы/Formulas)

​: На форуме есть​​, так там даже​ за помощь.​ или функция СЦЕПИТЬ.​ позиция) – показывает​ число); формат (для​ Enter.​ вносить много аргументов…Когда​ по нескольким параметрам​ вставляет фигурные скобки​ЕТЕКСТ​Выделите диапазон ячеек, среди​ только «яблоко», а​

​V​​ аргумент позволяет нам​​ А. Это «2005»​​ этому молниеносно реализуем​ тема про нечеткий​ помечено Offtop :-)​snipe​Например, значения расположены в​ позицию первого появления​ отображения числа в​потом протягиваете ее​ «достраиваю» формулу, так​Рекомендую моё​ в начале и​

​.​​ которых требуется осуществить​​ зеленые и красные​​: и что дальше​ смещаться по строке.​

​ или «2006». После​​ решение задачи.​ поиск Простая метрика​sweta212​:​ разных столбцах (ячейках):​ искомого знака или​ виде текста).​ вниз.​ и пишет, что​Анастасия_П​ конце формулу. Если​Для возвращения результатов для​ поиск.​ не учитывает. Необходимо,​ с этим делать​ Например, если в​ функции стоит оператор​​Пример таблицы производимой продукции:​​ сходства текстовых строк​: bmv98rus, Che79, спасибо,​Евгений8510​Ставим курсор в ячейку,​ строки при просмотре​Самая полезная возможность функции​к тому же​ слишком много аргументов…​: вот вложение​ формула не будет​ условия, которое можно​

​Чтобы выполнить поиск по​​ чтобы считал по​​ будете?​​ идентификаторе 2 раза​ сравнения к значению​​Чтобы на основе идентификатора​​Посмотрите результат с​

​ что ответили. К​​,​
​ где будут находиться​ слева направо​

​ ТЕКСТ – форматирование​​ Вам ответили на​Казанский​Hugo121​ введена как формула​ указать с помощью​ всему листу, щелкните​ всем ячейкам в​как вариант таблицу​ используется символ «C».​ строки «2006». Если​ выделить изделия 2006-го​ одной из функций.​ наименованию товара необходимо​наверное не тот​ объединенные три значения.​При разделении текста в​​ числовых данных для​​ другом форуме))))Урррааааа! Получилось.​: Составьте на другом​: Хотя для таких​ массива, ошибка #VALUE!​ функции​ любую ячейку.​ которых содержится слово​ загнать в массив​ В таком случае​ ячейка содержит такую​ года выпуска выполним​

​100%-го результата, конечно,​​ подтянуть категорию товара.​ файлик прикрепили​ Вводим равно. Выбираем​ строке учитывается положение​
​ объединения с текстовыми​ Просто чудеса. Но​
​ листе таблицу соответствия​ 2-х условий можно​ возвращается. Дополнительные сведения​
​Если​На вкладке​ «яблоко»​ и циклом перебирать​

excelworld.ru

Поиск фрагментов текста в ячейке

​ третий аргумент пользователь​​ часть текста значит​ шаги следующих действий:​ не будет, но​ Например, наименование товара​Евгений8510​ первую ячейку с​ каждого знака. Пробелы​ данными. Без использования​
​ все не так​ фрагмент-номер в ст.​ формулами сделать -​ о формулах массива​.​Главная​Казанский​ .​ задает в зависимости​ ей будет присвоен​Выделите диапазон ячеек A2:A10​
​ как вариант…​ «Доп. заказ Сироп​
​: Да к сожалению​

​ текстом и нажимаем​​ показывают начало или​

​ функции Excel «не​​ просто, задача на​ А и В,​ вот начало:​
​ читайте в статье​Для выполнения этой задачи​
​в группе​: Tanya15, If Cells(i,​
​Пытливый​
​ от ситуации.​ новый формат.​ и выберите инструмент:​В формуле можно​

CyberForum.ru

Условное форматирование по части текста в ячейке Excel

​ ****», а категория​ не тот… приношу​ на клавиатуре &.​ конец искомого имени.​ понимает», как показывать​ самом деле сложнее.​ в ст. С​=IF((FIND(«янтарный»,LOWER(A2),1)>0)+(FIND(«замок»,LOWER(A2),1)>0)=2,»10 янтарный замок»,»»)Сюда​ рекомендации и примеры​ используются функции​Редактирование​ j) like «*яблоко*»​: Варианты: Воспользоваться методом​Так как функция возвращает​Аналогичным способом можно использовать​ «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Создать правило».​ поиграться с последним​ «Соусы, кетчупы, сиропы,​ свои извинения уважаемые​ Затем – знак​Распределим с помощью функций​ числа, и преобразует​ Боялась что не​ «протяните» формулу, которая​ навесить обработку ошибки​

​ формул массива.​

Исходные данные.

​Если​нажмите кнопку​ Then​ Find для диапазона.​

  1. ​ нужное число мы​ и другие текстовые​Выберите: «Использовать формулу для​Создать правило.
  2. ​ аргументом — %​ томатная паста» -​Использовать формулу.
  3. ​ коллеги. Прикрепляю нужный​ пробела, заключенный в​ имя, фамилию и​ их в базовый​
  4. ​ разберусь и сначала​ склеит эти данные.​ и ещё вложить​Для выполнения этой задачи​,​Найти и выделить​

Зеленый фон.

​Tanya15​ Вопрос — что​

Выборка по индетификатору.

​ прекрасно используем ее​ функции в условном​ определения форматируемых ячеек».​ совпадения​

​ то есть и​

Функция ПСТР и ее пример в использования условном форматировании

​ файл.​ кавычки (“ “).​ отчество в разные​ формат.​ проблему озвучила попроще.​В основной таблице​ аналогичный IF для​ используются функции Если,​Поиск​и нажмите кнопку​: Все так просто​ дальше с ними​ в качестве аргументов​ форматировании. Например, с​Чтобы выполнить поиск части​Наташа Демчук​ сироп не первое​AleksSid​ Снова — &.​ столбцы.​Покажем на примере. Допустим,​ А Может быть​ используйте такую формулу​ казачков.​ Поиски ЕЧИСЛО .​и​Найти​Спасибо!​ делать надо?​ для других функций​ помощью функции =ПРАВСИМВ()​ текста в ячейке​: Помогите, пожалуйста, прописать​ слово, и окончание​: Вариант. Код =ПРОСМОТР(2;1/ПОИСК(Лист2!$B$2:$B$9;B3);Лист2!$B$2:$B$9)​ И так последовательно​В первой строке есть​ нужно объединить текст​ получится вообще одной​ Код =ИНДЕКС(Лист1!$C$1:$C$99;ПОИСКПОЗ(ЛОЖЬ;ЕНД(ПОИСКПОЗ(«*»&Лист1!$A$1:$A$99&»*»;A2;));)) Это​Ну или с​Примечание:​ЕЧИСЛО​.​Nordheim​upd V, опередил​ (ПСТР и ПРАВСИМВ).​ мы можем экспонировать​ Excel, введите формулу:​ формулу. Видела похожие​ слова другое, что​Евгений8510​ соединяем ячейки с​

​ только имя и​ в строках и​ формулой обойтись. Смысл​ формула требует ввода​ допстолбцами сделать, чтоб​ В функции НАЙТИ учитывается​.​В поле​: под ваш пример.​ с вопросом!​

Пример1.

​Помогите составить формулу:​ цветом определенную группу​ =ПСТР(A2;5;4)=»2006″​ обращения к Вам​ мешает поиску. Есть​: Огромное спасибо AleksSi,​ текстом и пробелы.​ фамилия, разделенные пробелом.​ числовые значения:​ в том, что​ как формула массива,​ голову меньше ломать​

​ регистр букв.​Примечание:​Найти​Sub test() Dim​Nordheim​Если среди текста​ товаров из партии​Нажмите на кнопку «Формат»,​ за помощью, но​ возможность как то​ это то что​Получаем в одной ячейке​ Формула для извлечения​Использование амперсанда без функции​ если в столбце​ т.е. нажатием Ctrl+Shift+Enter,​

Разная длина строк.

​ — в соседний​На приведенном выше рисунке​ Функция​введите текст —​ i&, iCnt1&, iCnt2&,​: Sub test() Dim​

Пример2.

​ в ячейке A1​ C. Для этого​ чтобы задать красный​ что-то у меня​ это свести? Использовала​

Пример3.

​ нужно, красивое решение.​ объединенные значения:​ имени: =ЛЕВСИМВ(A2;ПОИСК(» «;A2;1)).​ ТЕКСТ дает «неадекватный»​ А листа «отчет»​ и отображается в​ столбец вытянуть казачков,​ формуле используются аргументы,​поиска​ или номера —,​ arr(), ikey ‘1​ i&, iCnt1&, iCnt2&,​ есть текст «Анонс»​ нужно использовать формулу:​ цвет заливки для​ не выходит сделать​ формулу​AlexM​Использование функции СЦЕПИТЬ:​ Для определения второго​ результат:​ не нашлось фрагмента,​ фигурных скобках.​ затем в третий​

​ указанные ниже.​не учитывается регистр.​ вам нужно найти.​ вариант For Each​ arr() ‘1 вариант​ или «икона» или​

exceltable.com

Поиск текста в ячейке excel

​Здесь все просто функция​
​ ячейки. И нажмите​ самостоятельно. Очень Надо​=ПРОСМОТР(2;1/ПОИСК(классификатор!$H$2:$H$2617;D6);классификатор!$H$2:$H$2617)​: Если нужен диапазон​С помощью кавычек в​ аргумента функции ЛЕВСИМВ​Excel вернул порядковый номер​
​ соответствующего столбцу А​
​В таком виде​ собрать то, что​Формула для поиска текста​
​Примечание:​

​ Или выберите из​​ ikey In ActiveSheet.UsedRange​ поиск на листе​ «суббота», то содержимое​ позволяет выбрать часть​

​ ОК на всех​​ Спасибо.​

​нашла только 3000​​ с запасом Код​ формуле можно добавить​ – количества знаков​
​ для даты и​ листа «списки», просматривается​ она рассчитана на​
​ без ошибок.​

​искомая строка​​Мы стараемся как​ раскрывающегося списка​
​ If UCase(ikey.Value) Like​ For i =​ ячейки A1 скопировать​
​ текста из ячейки​ открытых окнах.​Суть задачи: надо​ товаров из 17000,​ =ПРОСМОТР(2;1/ПОИСК(Лист2!B$2:B$99;B3)/(Лист2!B$2:B$99<>»»);Лист2!B$2:B$99) Можно добавлять​ в конечное выражение​
​ – используется функция​
​ общий формат вместо​ столбец В, если​

Поиск ячеек, содержащих определенное слова (VBA)

​ таблицу номеров длиной​​Кстати, пример не​: вы хотите проверить.​ можно оперативнее обеспечивать​
​Найти​ UCase(«*яблоко*») Then iCnt1​ 1 To 100​ в ячейку B1​ Excel, начиная с​Экспонированные цветом изделия 2006-го​ чтобы в столбец​ в основном при​ список на листе2,​ любой знак или​ ПОИСК. Она находит​

​ денежного. Чтобы избежать​​ не находится и​ до 99 записей.​ соответствует тексту вопроса​
​Ячейка​ вас актуальными справочными​последнего поиска.​ = ikey(1, 2)​

​ If UCase(Cells(i, 1).Value)​​Пример строки​ правой стороны исходного​ года выпуска:​ Е на листе​ полном совпадении слов,​:)
​ не меняя формулу.​ текст.​:)

​ пробел в ячейке​​ подобного результата, применяется​ в нем, то​ При необходимости поменяйте​ — пример проще.​: ячейку, содержащую текст,​ материалами на вашем​Примечание:​ + iCnt1 Next​ Like UCase(«яблоко») Then​movie 0:00:35.00 Z:1-Анонс​ текста. Количество необходимых​Далее разберем принцип действия​ «ДАННЫЕ» попала соответствующая​ но получила обратный​Формулу можно поместить​Функция ПОИСК возвращает начальную​ А2, начиная слева.​ функция ТЕКСТ. Она​ столбец С. Если​ 99 на другое​ Я делал по​ который требуется проверить.​ языке. Эта страница​ В условиях поиска можно​ ikey MsgBox «На​ iCnt1 = iCnt1​ 0,35 Икона стиля​ символов указано во​

​ формулы и ее​​ статья расходов из​
​ эффект — категория​
​ в функцию ЕСЛИОШИБКА(),​ позицию искомого текста​Формула для извлечения фамилии:​ форматирует значения по​
​ поможете, будет очень​
​ число.​ вопросу​
​Анастасия_П​ переведена автоматически, поэтому​
​ использовать подстановочные знаки.​ листе » &​
​ + 1 Next​ (Воскресенье 14.00).mp4​ втором аргументе функции​
​ модификации схожими текстовыми​
​ листа «СТАТЬЯ». Соответствующая​
​ «Бра» подтянулась ко​ на случай, если​
​ (без учета регистра).​
​С помощью функции ПОИСК​
​ заданию пользователя.​
​ здорово!! Файл приложилаДобрый​Анастасия_П​Вообще я не​
​: Добрый день!​ ее текст может​Чтобы задать формат для​ iCnt1 & «​ i ‘2 вариант​Спасибо всем откинувшимся!​ ПРАВСИМВ. После чего​ функциями.​

​ статья прописана в​​ всем товарам где​ поиск не дал​ Например:​

​ Excel определяет количество​​Формула «для даты» теперь​:(​ день!​

​: Все работает, благодарю​​ формулист — наверняка​
​Помогите решить задачу.​ содержать неточности и​ поиска, нажмите кнопку​ ябл.» End Sub​ поиск в массиве​Полосатый жираф алик​ все что возвращает​​ столбце D на​ встречались данные буквы​ результата.​Функция ПОИСК вернула позицию​ знаков для функции​

planetaexcel.ru

​ выглядит так:​

Хитрости »

4 Январь 2016              119733 просмотров


Найти в ячейке любое слово из списка

Предположим, вы получаете от поставщика/заказчика/клиента заполненную таблицу с перечнем продукции:
Таблица заказа
и эту таблицу необходимо сравнить с артикулами/кодами товара в имеющемся у вас каталоге продукции:
Таблица артикулов
Как видно — в нашем каталоге только артикулы без наименований. У заказчика же помимо артикулов еще и название товара, т.е. много лишнего. И вам надо понять какие товары присутствуют в вашем каталоге, а какие нет:
Что получить
Стандартных формул в Excel для подобного поиска и сравнения нет. Конечно, можно попробовать применить ВПР с подстановочными символами сначала к одной таблице, а затем к другой. Но если подобную операцию необходимо проделывать раз за разом, то прописывать по несколько формул к каждой таблице прямо скажем — не комильфо.
Поэтому я и решил сегодня продемонстрировать формулу, которая без всяких доп. манипуляций поможет такое сравнение сделать. Чтобы разобраться самостоятельно рекомендую скачать файл:
Скачать файл:

  Tips_All_AnyoneOfArray.xls (49,5 KiB, 25 681 скачиваний)

На листе «Заказ» в этом файле таблица, полученная от заказчика, а на листе «Каталог» наши артикулы.
Сама формула на примере файла будет выглядеть так:

=ПРОСМОТР(2;1/ПОИСК(Каталог!$A$2:$A$11;A2);Каталог!$A$2:$A$11)
=LOOKUP(2,1/SEARCH(Каталог!$A$2:$A$11,A2),Каталог!$A$2:$A$11)

эта формула вернет название артикула, если в тексте есть хоть один артикул из каталога и

#Н/Д(#N/A)

если артикул не найден в каталоге.
Прежде чем облагородить эту формулу всякими дополнениями(вроде виде убирания ненужных

#Н/Д(#N/A)

) давайте разберемся как она работает.
Кратко о принципе работы функция

ПРОСМОТР(LOOKUP)

: она берет значение, заданное первым аргументом и ищет его в массиве(диапазоне) из второго аргумента. Как только находит — запоминает его позицию(строку, если угодно) и в итоге возвращает значение, расположенное в этой же позиции в массиве третьего аргумента.
Но у функции есть пара особенностей:

  1. Она ищет не обязательно именно точное совпадение с искомым, а максимально приближенное к нему. Если точнее — равное или большее искомому.
  2. Функция ПРОСМОТР(LOOKUP) старается преобразовать непосредственно в массив любое выражение, записанное вторым аргументом.
  3. Этими особенностями мы и будем пользоваться.

Как уже упомянул выше — в качестве диапазона для поиска значения обычно приводится массив ячеек, но т.к. функция ПРОСМОТР(LOOKUP) старается преобразовать непосредственно в массив любое выражение — она вычисляет данное ей выражение 1/ПОИСК(Каталог!$A$2:$A$11;A2), работая в итоге с результатами этого вычисления.
Само же выражение работает следующим образом: ПОИСК(Каталог!$A$2:$A$11;A2) ищет поочередно каждое значение из списка Каталога в ячейке A2(в наименовании артикула из таблицы Заказчика). Если значение найдено, то возвращается номер позиции первого символа найденного значения(т.е. какое-то число). Если значение не найдено — возвращается значение ошибки #ЗНАЧ!(#VALUE!). Т.е. получается следующий массив: {55:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!}
По идее, после того, как функция ПРОСМОТР(LOOKUP) вычислит это выражение, она будет последовательно просматривать результаты функции ПОИСК(SEARCH) в поисках заданного нами искомого значения, пока не найдет значение максимально близкое к искомому(оптимально равное или чуть больше него). Но т.к. функция ПОИСК(SEARCH) может вернуть неизвестно какие по величине значения, мы, чтобы не гадать и не думать над тем, какое число задать для поиска, сначала единицу делим на выражение ПОИСК(Каталог!$A$2:$A$11;A2), чтобы получить массив вида:{0,0181818181818182:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!}
А в качестве искомого значения мы подсовываем функции ПРОСМОТР(LOOKUP) число 2 — т.е. заведомо большее число, чем может вообще встретиться в массиве(т.к. единица, поделенная на любое число будет меньше двух), чем заставляем её найти последнее подходящее совпадение из каталога(т.е. последнее не ошибочное значение). После этого функция ПРОСМОТР(LOOKUP) запомнит эту позицию и вернет значение из массива Каталог!$A$2:$A$11(третий аргумент), записанное в этом массиве для этой позиции.
Вы можете просмотреть этапы вычисления функции самостоятельно для каждой ячейки, я здесь просто приведу этапы чуть в расширенном для понимания виде:

  1. =ПРОСМОТР(2;1/ПОИСК(Каталог!$A$2:$A$11;A2);Каталог!$A$2:$A$11)
  2. =ПРОСМОТР(2;
    1/{55:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!};
    Каталог!$A$2:$A$11)
  3. =ПРОСМОТР(2;{0,0181818181818182:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!};Каталог!$A$2:$A$11)
  4. =ПРОСМОТР(2;
    1;
    {«FM2-3320″:»CV455689″:»Q5949X»:»CE321A»:»CE322A»:»CE323A»:»00064073″:»CX292708″:»CX292709″:»CX292710″})
  5. =»FM2-3320″

Теперь немного облагородим функцию и сделаем еще пару реализаций
Реализация 1:
Вместо артикулов и #Н/Д(#N/A) выведем для найденных позиций «Есть», а для отсутствующих «Не найден в каталоге»:
=ЕСЛИ(ЕНД(ПРОСМОТР(2;1/ПОИСК(Каталог!$A$2:$A$11;A2)));»Не найден в каталоге»;»Есть»)
=IF(ISNA(LOOKUP(2,1/SEARCH(Каталог!$A$2:$A$11,A2))),»Не найден в каталоге»,»Есть»)
работа функции проста — с ПРОСМОТР(LOOKUP) разобрались, поэтому остались только ЕНД и ЕСЛИ.
ЕНД(ISNA) проверяет вложенное в неё выражение на предмет ошибки #Н/Д(#N/A). Если ошибка есть — ЕНД возвращает ИСТИНА(TRUE), а если ошибки нет — ЛОЖЬ(FALSE).
ЕСЛИ(IF) проверяет выражение из первого аргумента на выполнение. Если выражение выполняется(т.е. оно равно ИСТИНА(TRUE)), то функция запишет значение из второго аргумента(«Не найден в каталоге»). А если не выполняется(ЛОЖЬ(FALSE)) — то значение из третьего(«Есть»).
Т.е. все вместе получается: если наша основная функция возвращает значение ошибки #Н/Д(#N/A), то мы записываем в ячейку «Не найден в каталоге», в противном случае — «Есть».

Реализация 2:
Вместо #Н/Д выведем «Не найден в каталоге», но при этом если артикулы найдены — выведем названия этих артикулов:
=ЕСЛИОШИБКА(ПРОСМОТР(2;1/ПОИСК(Каталог!$A$2:$A$11;A2);Каталог!$A$2:$A$11);»Нет в каталоге»)
=IFERROR(LOOKUP(2,1/SEARCH(Каталог!$A$2:$A$11,A2),Каталог!$A$2:$A$11),»Нет в каталоге»)
Про функция ЕСЛИОШИБКА(IFERROR) я подробно рассказывал в этой статье: Как в ячейке с формулой вместо ошибки показать 0.
Если вкратце, то функция проверяет выражение, записанное первым аргументом(наша основная функция). Если в итоге получаем любую ошибку, то ЕСЛИОШИБКА запишет значение из второго аргумента(в нашем случае это текст «Не найден в каталоге»). Если же выражение(проверяемая функция) не возвращает ошибку, то функция ЕСЛИОШИБКА запишет именно то значение, которое было получено проверяемой функцией(в нашем случае это будет наименование артикула).

Реализация 3
Надо не просто определить какому артикулу соответствует, но и вывести цену для наименования по этому артикулу(сами цены должны быть расположены в столбце B листа Каталог):
=ЕСЛИОШИБКА(ПРОСМОТР(2;1/ПОИСК(Каталог!$A$2:$A$11;A2);Каталог!$B$2:$B$11);»»)
=IFERROR(LOOKUP(2,1/SEARCH(Каталог!$A$2:$A$11,A2),Каталог!$B$2:$B$11),»»)


Пара важных замечаний:

  • данные на листе с артикулами не должны содержать пустых ячеек. Иначе с большой долей вероятности формула будет возвращать значение именно пустой ячейки, а не то, которое подходит под условия поиска
  • формула осуществляет поиск таким образом, что ищется любое совпадение. Например, в качестве артикула записана цифра 1, а в строке наименований может встречаться помимо целой 1 еще и 123, 651123, FG1412NM и т.п. Для всех этих наименований может быть подобран артикул 1, т.к. он содержится в каждом наименовании. Как правило это может произойти, если артикул 1 расположен в конце списка

Поэтому желательно перед использованием формулы отсортировать список по возрастанию(от меньшего к большему, от А до Я).

В приложенном в начале статьи примере вы найдете все разобранные варианты.

Если же вам понадобится выводить все наименования, то можно воспользоваться функцией СОДЕРЖИТ_ОДНО_ИЗ из моей надстройки MulTEx.

Так же см.:
Сравнение текста по части предложения
Что такое формула массива
Как найти значение в другой таблице или сила ВПР
ВПР с поиском по нескольким листам


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика


Найдем текстовые значения, удовлетворяющие заданному пользователем критерию. Поиск будем осуществлять в диапазоне с повторяющимися значениями. При наличии повторов, можно ожидать, что критерию будет соответствовать несколько значений. Для их вывода в отдельный диапазон удобно использовать формулы массива.

Пусть Исходный список значений (например, перечень инструментов) находится в диапазоне

A10:A19

(см.

Файл примера

).

Задача

Выведем в отдельный диапазон значения, которые удовлетворяют критерию. Рассмотрим различные варианты поиска.

А. Найти значения, которые содержат критерий

Для удобства создадим

именованный диапазон

Список

.

Диапазон может охватить в том числе и незаполненные ячейки перечня. В дальнейшем пользователь может расширить перечень инструментов, указанные ниже формулы автоматически учтут новые значения.

Выведем в отдельный диапазон все значения Исходного списка, в которых

содержится

текст-критерий (например, слово

дрель

). Критерий вводится в ячейку

С6

.

Для создания списка, содержащего найденные значения, воспользуемся

формулой массива

:

=ИНДЕКС(Список; НАИМЕНЬШИЙ( ЕСЛИ(ЕСЛИОШИБКА(ПОИСК($C$6;Список);0)>0;СТРОКА(Список)-СТРОКА($A$9);30); СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))

Алгоритм работы формулы следующий (для просмотра промежуточных шагов работы формулы воспользуйтесь

клавишей

F9

):

  • Функция

    ПОИСК()

    , перебирая элементы исходного списка, определяет, содержится ли в нем значение-критерий. Если значение не содержится, то возвращается ошибка #ЗНАЧ! В противном случае возвращается числовое значение, соответствующее номеру начальной позиции вхождения критерия в значение из списка (здесь нам не важен номер позиции, важно, что это число);
  • Функция

    ЕСЛИОШИБКА()

    используется для подавления ошибки #ЗНАЧ! заменяя ее на число 0;
  • Функция

    ЕСЛИ()

    заменяет числовые значения, возвращенные функцией

    ПОИСК()

    , на номер позиции значения в списке. Если значение =0 (соответствует ошибке #ЗНАЧ!), то возвращается число 30. В принципе, вместо 30 можно указать любое число, которое больше номера последней заполненной позиции Исходного списка (это нужно для правильной сортировки функцией

    НАИМЕНЬШИЙ()

    );
  • Функция

    НАИМЕНЬШИЙ()

    сортирует массив номеров строк по возрастанию;
  • Функция

    ДВССЫЛ()

    возвращает

    массив последовательных чисел

    ;

  • Функция

    ИНДЕКС()

    возвращает текстовые значения из Исходного списка, из строк, номера которых были получены на предыдущем шаге.

В предельном случае м.б. найдено столько же значений, сколько содержится в исходном списке (когда все значения удовлетворяют критерию). Поэтому

формулу массива

нужно распространять на диапазон той же размерности, что и исходный список. Вышеуказанная

формула массива будет возвращать несколько значений

, поэтому перед вводом формулы нужно выделить сразу весь диапазон, т.е. ячейки

С10:С19

, ввести формулу в

Строке формул

и нажать

CRTL+SHIFT+ENTER

.

Для скрытия ошибок #ССЫЛКА!, возвращаемой формулой массива, к диапазону

С10:С19

применено правило

Условного форматирования

.

Б. Найти значения, которые совпадают с критерием (точное совпадение)

В этом случае будут выведены все значения, которые совпадают с критерием (без

учета РЕгиСТра

). Критерий вводится в ячейку

E

6

.

Для создания списка, содержащего найденные значения, воспользуемся

формулой массива

:

=ИНДЕКС(Список; НАИМЕНЬШИЙ( ЕСЛИ($E$6=Список;СТРОКА(Список)-СТРОКА($A$9);30); СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))

B. Найти значения, которые начинаются с критерия

В этом случае будут выведены все значения, которые начинаются или совпадают с критерием. Критерий вводится в ячейку

G

6

.

Для создания списка, содержащего найденные значения, воспользуемся

формулой массива

: =

ИНДЕКС(Список;НАИМЕНЬШИЙ( ЕСЛИ(ЕСЛИОШИБКА(ПОИСК($G$6;Список);0)=1;СТРОКА(Список)-СТРОКА($A$9);30); СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))

Г. Найти значения, которые заканчиваются на критерий

В этом случае будут выведены все значения, которые заканчиваются или совпадают с критерием. Критерий вводится в ячейку

I

6

.

Для создания списка, содержащего найденные значения, воспользуемся

формулой массива

:

=ИНДЕКС(Список;НАИМЕНЬШИЙ( ЕСЛИ($I$6=ПРАВСИМВ(Список;ДЛСТР($I$6));СТРОКА(Список)-СТРОКА($A$9);30); СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))


СОВЕТ:

О поиске текстовых значений с использованием

подстановочных знаков

читайте в статье

Поиск текстовых значений в списках. Часть2. Подстановочные знаки

. В статье

Выделение ячеек c ТЕКСТом с применением Условного форматирования

приведено решение аналогичной задачи с использованием

Условного форматирования

.

  • Что делает функция ПОИСК?
  • Синтаксис
  • Форматирование
  • Поиск символа в ячейке
  • Извлечь первое слово
  • Другие примеры использования
  • Функция ПОИСК в формуле массива
Функция поиск - таблица с примерами
Функция ПОИСК в Excel – примеры

Что делает функция ПОИСК?

Эта функция аналогична функции НАЙТИ и так же ищет подстроку в строке. Когда искомое найдено, отображается его позиция в тексте в виде числа.

Отличие от функции НАЙТИ в том, что ПОИСК не принимает в расчет регистр текста. Как искомого, так и того, в котором мы ищем. Также она поддерживает подстановочные операторы.

У обеих функций есть процедура-аналог Найти и Заменить – как у процедуры, у нее есть свои преимущества и недостатки.

Синтаксис

=ПОИСК(ИскомыйТекст;СтрокаВКоторойИщем;[СтартоваяПозиция])
  • ИскомыйТекст — символ или сочетание, которое ищем
  • СтрокаВКоторойИщем — ячейка, текстовое значение или любое возвращаемое другой функцией выражение.
  • Стартовая позиция — опциональный параметр, при отсутствии поиск происходит с первого символа

Если текст содержит более одного вхождения, возвращается позиция первого.
Третий (опциональный) параметр используется для поиска с определенной позиции в тексте и по умолчанию равен 1.

Если искомое не найдено в тексте, функция возвращает ошибку #ЗНАЧ.

Форматирование

При поиске дат функция ПОИСК, как и все текстовые функции, воспринимает их как числа, поэтому для корректного поиска может понадобиться функция ТЕКСТ.

При этом логические значения ИСТИНА и ЛОЖЬ конвертируются в текст, соответствующий их написанию.

Поиск символа в ячейке

Наиболее простой пример использования функции – осуществление поиска определенного символа в ячейке.

Логика проста – если поиск позиции символа не возвращает ошибку, значит, символ в ячейке присутствует:

=НЕ(ЕОШ(ПОИСК(паттерн;текст)))
поиск символа в ячейке - пример таблицы
Поиск символа в ячейке формулой ПОИСК

Извлечь первое слово

В этом простейшем примере извлекаем первое слово из ячейки с помощью комбинации — функция ЛЕВСИМВ + функция ПОИСК. Поскольку пробел — регистронезависимый символ, для этого случая можно использовать и функцию НАЙТИ.

Функция поиск в формуле извлечения текста до пробела
Определяем номер позиции первого пробела и возвращаем символы до этой позиции

Таблица выше была использована для извлечения имени из строки с именем и фамилией.

  1. ПОИСК возвращает позицию пробела между именем и фамилией.
  2. Длина имени вычисляется как позиция пробела минус 1.
  3. Функция ЛЕВСИМВ извлекает имя на основе его длины.

Другие примеры использования

Найти первую цифру в ячейке:

=МИН(ЕСЛИОШИБКА(ПОИСК({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 поможет решить множество задач без ввода сложных формул и сэкономит ваше время. И вам полезно, и автору приятно!

Like this post? Please share to your friends:
  • Поиск значения в тексте ячеек в excel
  • Поиск значения в диапазоне ячеек excel по заданному значению
  • Поиск значения в таблице excel по одному условию
  • Поиск значения в диапазоне ячеек excel по заданному диапазону
  • Поиск значения в таблице excel по нескольким условиям