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

босс

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

Хитрости »

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


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

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

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

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

=ПРОСМОТР(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
ссылки
статистика

  • Поиск по одному слову
    • Фильтрация по слову в Excel
    • Поиск по слову в ячейке: формула
    • Поиск по слову в Excel с помощью !SEMTools
  • Поиск по нескольким словам
    • Найти любое слово из списка
    • Найти все слова из списка

Чем отличается поиск по словам от простого поиска текста?

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

Поиск по словам предполагает показывать только ячейки, в которых слова совпадают целиком.

Поиск по одному слову

Рассмотрим сначала простой случай — когда найти нужно одно слово.

Фильтрация по слову в Excel

Процедура фильтрации в Excel содержит 3 метода текстовой фильтрации, иными словами, фильтровать можно по 3 критериям вхождения слова:

  1. ячейка содержит слово — тогда ставим пробелы перед и после слова;
  2. начинается с него — пробел после;
  3. заканчивается на него — пробел перед ним.

Проблема заключается в том, что в Excel нельзя фильтровать сразу по 3 критериям – можно только по двум. В этой ситуации есть простой лайфхак:

  1. Сделать копию исходного столбца;
  2. Удалить все символы, кроме текста и цифр (и пробелов между ними);
  3. Добавить символы в конце и начале каждой ячейки столбца, например, символ “”;
  4. Заменить оставшиеся пробелы на этот же символ;
  5. После этого фильтровать по полученному столбцу уже наше слово с “” перед и после него (пример – “слово”).

Символ как раз и поможет отфильтровать целые слова.

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

Смотрите пример ниже:

фильтр по слову в Excel - пример

Фильтр столбца по слову, даже самому короткому

Можно сделать иначе — добавить в начале и конце строк пробелы, но тогда при поиске и фильтрации слова перед пробелом слева и после пробела справа нужно использовать символ “*” (звездочку). Иначе Excel не учтет пробелы.

Итак, чтобы сделать поиск или фильтрацию по слову в Excel, нужно добавить символ пробела справа и слева ко всем ячейкам столбца и после этого осуществлять поиск и фильтрацию по слову вместе с пробелами перед и после него.

Поиск по слову в ячейке: формула

Идеальной функцией для формулы поиска слова будет функция ПОИСК.

Формула:

=ПОИСК(" "&"вашеСлово"&" ";" "&A1&" ")>0

где вашеСлово — искомое слово, а A1 — ячейка, в которой мы его ищем.

Однако нужно помнить, что пунктуацию нужно предварительно удалить.

Найти слово с помощью формулы

Поиск по слову в Excel с помощью !SEMTools

Пожалуй, самое быстрое решение, доступное владельцам полной версии моей надстройки для Excel. Алгоритм простой — выделяем диапазон, жмем макрос, вводим слово, жмем «ОК».

найти слово в списке ячеек

Поиск по нескольким словам

Как выяснить для каждой ячейки большого диапазона, присутствует ли в ней хотя бы одно из списка слов? Да так, чтобы слово не просто содержалось внутри строки, в том числе внутри других слов, а находить именно целые слова? А если нужно найти пару сотен слов в десятках тысяч ячеек?

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

Настройка !SEMTools с лёгкостью решает такого рода проблемы. Более того, практически вне зависимости от количества слов, распознавание их наличия происходит очень быстро даже в диапазоне из 10 000 ячеек и более.

Чтобы найти список слов диапазоне ячеек с помощью !SEMTools, нужно:

  1. скопировать в соседний столбец диапазон, в котором мы хотим найти список слов. Это нужно для того, чтобы не стереть исходные данные,
  2. вызвать макрос на панели настройки,
  3. выбрать список слов, которые необходимо найти,
  4. нажать OK.

Макрос даёт проверить, есть ли хотя бы одно слово из списка в ячейке.

Конкретные примеры использования

Данная процедура обычно полезна перед двумя другими — извлечь слова из списка и удалить из текста список слов. Почему не производить их сразу? Дело в том, что первый более медленный, а второй не даст понимания, какие ячейки затронула операция удаления.

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

Если вас интересует, присутствуют ли в прайс-листе товары определенных производителей, список которых у вас уже имеется, или каковы остатки товара на складе по этим позициям, вам также может пригодиться данный макрос.

Найти все слова из списка

Данная процедура производит тот же поиск по словам, но с кардинальным отличием. Ключевое условие — чтобы ВСЕ слова содержались в ячейке, только тогда она возвращает ИСТИНА.

Нужно сделать поиск в Excel по словам?
!SEMTools поможет решить задачу за пару кликов!

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

​Смотрите также​​ 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

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

На чтение 5 мин Опубликовано 07.01.2021

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

Содержание

  1. Поиск текста в ячейке табличного редактора
  2. Поиск ячеек, в которых есть текстовая информация
  3. Поиск нескольких слов в документе
  4. Проверка содержимого, на наличие текстовой информации
  5. Проверка соответствия наполнения поля конкретной текстовой информации
  6. Проверка соответствия наполнения фрагмента поля конкретной текстовой информации
  7. Поиск текстовой информации при помощи фильтра
  8. Заключение

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

Существует несколько вариантов выполнения данного поиска, разберем каждый из них ниже.

Поиск ячеек, в которых есть текстовая информация

Подробная инструкция выглядит так:

  1. Производим выделение необходимого диапазона ячеек, в котором будет осуществляться поиск. Для осуществления поиска по всему рабочему листу нужно кликнуть по абсолютно любой ячейке.
  2. Передвигаемся в подраздел, имеющий наименование «Главная». В блоке команд под названием «Редактирование» находим «Найти и выделить» и щелкаем левой клавишей мышки по элементу «Найти».

excel-poisk-teksta-v-yachejke

1
  1. В строчку «Найти» вводим ту текстовую информацию, которую нам необходимо отыскать. Стоит отметить, что при поиске можно применять подстановочные символы.
  2. Для указания формата поиска, необходимо кликнуть левой клавишей мышки по кнопке «Формат», а затем реализовать необходимые изменения в появившемся окошке, имеющем название «Найти формат».
  3. Щелкаем «Найти далее» или же «Найти все».
  4. Готово! Мы осуществили поиск необходимой информации.

Важно! При помощи кнопки «ESC» располагающейся на клавиатуре, осуществляется закрытие поиска.

В табличном редакторе имеется метод, позволяющий реализовать нестрогий поиск. Он применяется в тех моментах, когда нужное слово помнится частично. Здесь предусматривается применение заменителей знаков. В программе существует 2 таких знака:

  1. «*» — абсолютно любое число знаков.
  2. «?» — любой один знак.

Внимание! Стоит заметить, что если в ячейках необходимо отыскать именно вопросительный знак или же символ умножения, то перед ним необходимо написать тильду «~». Если же нужно найти тильду, то следует ввести «~~».

excel-poisk-teksta-v-yachejke

2

Подробная инструкция по осуществлению неточного поиска выглядит так:

  1. Запускаем табличный редактор.
  2. Открываем рабочий лист при помощи нажатия левой клавиши мышки.
  3. Зажимаем сочетание кнопок «Ctrl + F» на клавиатуре.
  4. На экране отобразилось окошко, позволяющее реализовать поиск текстовой информации в табличном редакторе. Здесь вводим в строчку «Найти» необходимое слово для поиска и используем знаки («?», «*») в тех моментах, где мы сомневаемся в точности информации.
  5. Убираем галочку около надписи «Ячейка целиком».
  6. Щелкаем левой клавишей мышки на «Найти все».
  7. Готово! На экране выделились все текстовые данные, подходящие под заданные настройки поиска.

excel-poisk-teksta-v-yachejke

3

Поиск нескольких слов в документе

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

  1. Запускаем табличный редактор.
  2. Открываем рабочий лист при помощи нажатия левой клавиши мышки.
  3. Передвигаемся в подраздел, имеющий наименование «Редактирование». Здесь находим элемент «Найти и выделить» и жмем по нему левой клавишей мышки.
  4. Если нам необходимо отыскать какую-либо точную фразу, то в вводим ее в пустое поле, а затем жмем левой клавишей мышки на элемент «Найти все». На экране отобразятся результаты, в которых будет выведена точная фраза без использования других склонений.
  5. Если необходимая фраза разделена, какими-либо, другими словами, то нужно дополнительно поставить между каждым введенным слово знак звездочки «*». На экране отобразятся даже те результаты, в которых находятся другие знаки между искомыми словами.

excel-poisk-teksta-v-yachejke

4

Проверка содержимого, на наличие текстовой информации

Чтобы осуществить эту несложную процедуру, необходимо применить специальный оператор ЕТЕКСТ. Пример использования оператора приведен на этой картинке:

excel-poisk-teksta-v-yachejke

5

Проверка соответствия наполнения поля конкретной текстовой информации

Чтобы осуществить эту несложную процедуру, необходимо применить специальный оператор ЕСЛИ. Пример использования оператора приведен на этой картинке:

excel-poisk-teksta-v-yachejke

6

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

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

excel-poisk-teksta-v-yachejke

7

Поиск текстовой информации при помощи фильтра

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

  1. Запускаем табличный редактор.
  2. Открываем рабочий лист при помощи нажатия левой клавиши мышки.
  3. Производим выделение заполненных ячеек.
  4. Передвигаемся в раздел, имеющий наименование «Главная». Здесь находим элемент под названием «Сортировка» и жмем по нему левой клавишей мышки.
  5. Щелкаем левой клавишей мышки на «Фильтр».
  6. На экране возникло небольшое специальное контекстное меню.
  7. Здесь вводим то значение, которое нам необходимо отыскать в документе табличного редактора.
  8. После проведения всех действий жмем на кнопку «ОК» левой клавишей мышки.
  9. Готово! В результате наших манипуляций в колонке выделились те ячейки, в которых располагается текстовая информация, найденная программой. Если в раскрывающемся списке мы нажмем на «Выделить все», то будет реализован сброс результатов поиска. Повторное нажатие левой клавишей мышки на кнопку «Сортировка» отключит используемый фильтр.

excel-poisk-teksta-v-yachejke

8

Заключение

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

Оцените качество статьи. Нам важно ваше мнение:

В приложении Excel предусмотрено большое разнообразие инструментов для обработки текстовых и числовых данных. Одним из наиболее востребованных является функция ПОИСК. Она позволяет определять в строке, ячейке с текстовой информацией позицию искомой буквенной или числовой комбинации и записывать ее с помощью чисел.

Примеры использования функции ПОИСК в Excel

Для нахождения позиции текстовой строки в другой аналогичной применяют ПОИСК и ПОИСКБ. Расчет ведется с первого символа анализируемой ячейки. Так, если задать функцию ПОИСК “л” для слова «апельсин» мы получим значение 4, так как именно такой по счету выступает заданная буква в текстовом выражении.

Функция ПОИСК работает не только для поиска позиции отдельных букв в тексте, но и для целой комбинации. Например, задав данную команду для слов «book», «notebook», мы получим значение 5, так как именно с этого по счету символа начинается искомое слово «book».

Используют функцию ПОИСК наряду с такими, как:

  • НАЙТИ (осуществляет поиск с учетом регистра);
  • ПСТР (возвращает текст);
  • ЗАМЕНИТЬ (заменяет символы).

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

Кроме того, функция ПОИСК работает не для всех языков. От команды ПОИСКБ она отличается тем, что на каждый символ отсчитывает по 1 байту, в то время как ПОИСКБ — по два.

Чтобы воспользоваться функцией, необходимо ввести следующую формулу:

=ПОИСК(нужный_текст;анализируемый_текст;[начальная_позиция]).

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

  1. Искомый текст. Это числовая и буквенная комбинация, позицию которой требуется найти.
  2. Анализируемый текст. Это тот фрагмент текстовой информации, из которого требуется вычленить искомую букву или сочетание и вернуть позицию.
  3. Начальная позиция. Данный фрагмент необязателен для ввода. Но, если вы желаете найти, к примеру, букву «а» в строке со значением «А015487.Мужская одежда», то необходимо указать в конце формулы 8, чтобы анализ этого фрагмента проводился с восьмой позиции, то есть после артикула. Если этот аргумент не указан, то он по умолчанию считается равным 1. При указании начальной позиции положение искомого фрагмента все равно будет считаться с первого символа, даже если начальные 8 были пропущены в анализе. То есть в рассматриваемом примере букве «а» в строке «А015487.Мужская одежда» будет присвоено значение 14.

При работе с аргументом «искомый_текст» можно использовать следующие подстановочные знаки.

  1. Вопросительный знак (?). Он будет соответствовать любому знаку.
  2. Звездочка (*). Этот символ будет соответствовать любой комбинации знаков.

Если же требуется найти подобные символы в строке, то в аргументе «искомый_текст» перед ними нужно поставить тильду (~).

Если искомый текст не был найден приложением или начальная позиция установлена меньше 0, больше общего количества присутствующих символов, в ячейке отобразиться ошибка #ЗНАЧ.

Если «искомый_текст» не найден, возвращается значение ошибки #ЗНАЧ.



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

Пример 1. Есть набор текстовой информации с контактными данными клиентов и их именами. Информация записана в разных форматах. Необходимо найти, с какого символа начинается номер телефона.

Введем исходные данные в таблицу:

исходные данные в таблицу.

В ячейке, которая будет учитывать данные клиентов без телефона, введем следующую формулу:

=ПОИСК(“, тел.”;адрес_анализируемой_ячейки).

Нажмем Enter для отображения искомой информации:

адрес_анализируемой_ячейки.

Далее мы можем использовать любые другие функции для отображения представленной информации в удобном формате:

ПСТР.

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

Пример формулы ПОИСК и ЗАМЕНИТЬ

Пример 2. Есть таблица с текстовой информацией, в которой слово «маржа» нужно заменить на «объем».

Откроем книгу Excel с обрабатываемыми данными. Пропишем формулу для поиска нужного слова «маржа»:

ПОИСК.

Теперь дополним формулу функцией ЗАМЕНИТЬ:

ЗАМЕНИТЬ.

Чем отличается функция ПОИСК от функции НАЙТИ в Excel?

Функция ПОИСК очень схожа с функцией НАЙТИ по принципу действия. Более того у них фактически одинаковые аргументы. Только лишь названия аргументов отличаются, а по сути и типам значений – одинаковые:

аргументы ПОИСК и НАЙТИ.

Но опытный пользователь Excel знает, что отличие у этих двух функций очень существенные.

Отличие №1. Чувствительность к верхнему и нижнему регистру (большие и маленькие буквы). Функция НАЙТИ чувствительна к регистру символов. Например, есть список номенклатурных единиц с артикулом. Необходимо найти позицию маленькой буквы «о».

найти позицию маленькой буквы.

Теперь смотрите как ведут себя по-разному эти две функции при поиске большой буквы «О» в критериях поиска:

при поиске большой буквы.

Отличие №2. В первом аргументе «Искомый_текст» для функции ПОИСК мы можем использовать символы подстановки для указания не точного, а приблизительного значения, которое должно содержаться в исходной текстовой строке. Вторая функция НАЙТИ не умеет использовать в работе символы подстановки масок текста: «*»; «?»; «~».

Для примера попробуем в этих же исходных строках столбца «наименования» найти приблизительный текст. Для этого укажем следующий вид критерия поиска используя символы подстановки: «н*ая».

спецсимволы для подстановки текста.

Скачать примеры функций ПОИСК и НАЙТИ в Excel

Как видим во втором отличии функция НАЙТИ совершенно не умеет работать и распознавать спецсимволы для подстановки текста в критериях поиска при неточном совпадении в исходной строке.

Поиск ключевых слов в тексте

Поиск ключевых слов в исходном тексте — одна из очень распространенных задач при работе с данными. Давайте рассмотрим её решение несколькими способами на следующем примере:

Постановка задачи

Предположим, что у нас с вами есть список ключевых слов — названия автомобильных марок — и большая таблица всевозможных запчастей, где в описаниях иногда могут встречаться один или сразу несколько таких брендов, если запчасть подходит больше, чем к одной марке автомобиля. Наша задача состоит в том, чтобы найти и вывести все обнаруженные ключевые слова в соседние ячейки через заданный символ-разделитель (например, запятую).

Способ 1. Power Query

Само-собой, сначала превращаем наши таблицы в динамические («умные») с помощью сочетания клавиш Ctrl+T или команды Главная — Форматировать как таблицу (Home — Format as Table), даём им имена (например Марки и Запчасти) и загружаем по очереди в редактор Power Query, выбрав на вкладке Данные — Из таблицы/диапазона (Data — From Table/Range). Если у вас старые версии Excel 2010-2013, где Power Query установлена как отдельная надстройка, то нужная кнопка будет на вкладке Power Query. Если у вас совсем новая версия Excel 365, то кнопка Из таблицы/диапазона называется там теперь С листа (From Sheet).

После загрузки каждой таблицы в Power Query возвращаемся обратно в Excel командой Главная — Закрыть и загрузить — Закрыть и загрузить в… — Только создать подключение (Home — Close & Load — Close & Load to… — Only create connection).

Теперь создадим дубликат запроса Запчасти, щёлкнув по нему правой кнопкой мыши и выбрав команду Дублировать запрос (Duplicate query), затем переименуем получившийся запрос-копию в Результаты и дальше будем работать уже с ним.

Логика действий следующая:

  1. На вкладке Добавление столбца выбираем команду Настраиваемый столбец (Add column — Custom column) и вводим формулу =Марки. После нажатия на ОК получим новый столбец, где в каждой ячейке будет вложенная таблица со списком наших ключевых слов — марок автопроизводителей:

    Добавляем столбец с марками

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

    Развернутые таблицы

  3. На вкладке Добавление столбца выбираем команду Условный столбец (Conditional column) и задаём условие на проверку вхождения ключевого слова (марки) в исходный текст (описание запчасти):

    Проверяем вхождение марки в описание

  4. Чтобы поиск был регистроНЕчувствительный, добавляем вручную в строке формул третий аргумент Comparer.OrdinalIgnoreCase к функции проверки вхождения Text.Contains (если строки формул не видно, то её можно включить на вкладке Просмотр):

    Избавляемся от регистрочувствительности в поиске

  5. Фильтруем получившуюся таблицу, оставляя только единички в последнем столбце, т.е. совпадения и удаляем ненужный больше столбец Вхождения.
  6. Группируем одинаковые описания командой Группировать по на вкладке Преобразование (Transform — Group by). В качестве агрегирующей операции выбираем Все строки (All rows). На выходе получаем столбец с таблицами, куда собраны все подробности по каждой запчасти, включая необходимые нам марки автопроизводителей:

    Сгруппированные описания

  7. Чтобы извлечь марки для каждой запчасти, добавляем еще один вычисляемый столбец на вкладке Добавление столбца — Настраиваемый столбец (Add column — Custom column) и используем формулу, состоящую из таблицы (они у нас располагаются в столбце Подробности) и имени извлекаемого столбца:

    Вытаскиваем столбец с марками

  8. Щёлкаем по кнопке с двойными стрелками в шапке получившегося столбца и выбираем команду Извлечь значения (Extract values), чтобы вывести марки через любой желаемый символ-разделитель:

    Выводим все марки через запятую

  9. Удаляем ненужный больше столбец Подробности.
  10. Чтобы добавить к получившейся таблице исчезнувшие из неё запчасти, где в описаниях не было найдено ни одной марки — выполним процедуру объединения запроса Результат с исходным запросом Запчасти кнопкой Объединить на вкладке Главная (Home — Merge queries). Тип соединения — Внешнее соединение справа (Right outer join):

    Объединяем запросы Результаты и Запчасти

  11. Останется удалить лишние столбцы и переименовать-переместить оставшиеся — и наша задача решена:

    Результаты

Способ 2. Формулы

Если у вас версия Excel 2016 или новее, то нашу проблему можно весьма компактно и изящно решить с помощью новой функции ОБЪЕДИНИТЬ (TEXTJOIN):

Поиск и извлечение ключевых слов формулой

Логика работы этой формулы проста:

  • Функция ПОИСК (FIND) ищет вхождение по очереди каждой марки в текущее описание запчасти и выдаёт либо порядковый номер символа, начиная с которого марка была найдена, либо ошибку #ЗНАЧ! если марки в описании нет.
  • Затем при помощи функции ЕСЛИ (IF) и ЕОШИБКА (ISERROR) мы заменяем ошибки на пустую текстовую строку «», а порядковые номера символов — на сами названия марок.
  • Полученный массив из пустых ячеек и найденных марок собирается в единую строку через заданный символ-разделитель с помощью функции ОБЪЕДИНИТЬ (TEXTJOIN).

Сравнение быстродействия и буферизация запроса Power Query для ускорения

Для тестирования быстродействия возьмем в качестве исходных данных таблицу из 100 000 описаний запчастей. На ней получаем следующие результаты:

  • Время пересчета формулами (Способ 2) — 9 сек. при первом копировании формулы на весь столбец и 2 сек. при повторном (сказывается буферизация, видимо).
  • Время обновления запроса Power Query (Способ 1) гораздо хуже — 110 сек.

Само-собой, многое зависит от «железа» отдельно взятого ПК и установленной версии Office и обновлений, но общая картина, думаю, понятна.

Для ускорения запроса Power Query давайте буферизуем таблицу-справочник Марки, т.к. она у нас не меняется в процессе выполнения запроса и постоянно пересчитывать её (как это де-факто делает Power Query) не нужно. Для этого используем функцию Table.Buffer из встроенного в Power Query языка М.

Для этого откроем запрос Результаты и на вкладке Просмотр нажмём на кнопку Расширенный редактор (View — Advanced Editor). В открывшемся окне добавим строку с новой переменной Марки2, которая будет буферизованной версией нашего справочника автопроизводителей и используем эту новую переменную далее в следующей команде запроса:

Буферизуем справочник в запросе Power Query

После такой доработки скорость обновления нашего запроса возрастает почти в 7 раз — до 15 сек. Совсем другое дело :)

Ссылки по теме

  • Нечёткий текстовый поиск в Power Query
  • Массовая замена текста формулами
  • Массовая замена текста в Power Query функцией List.Accumulate

Содержание

  • Поисковая функция в Excel
    • Способ 1: простой поиск
    • Способ 2: поиск по указанному интервалу ячеек
    • Способ 3: Расширенный поиск
  • Вопросы и ответы

Поиск в Microsoft Excel

В документах Microsoft Excel, которые состоят из большого количества полей, часто требуется найти определенные данные, наименование строки, и т.д. Очень неудобно, когда приходится просматривать огромное количество строк, чтобы найти нужное слово или выражение. Сэкономить время и нервы поможет встроенный поиск Microsoft Excel. Давайте разберемся, как он работает, и как им пользоваться.

Поисковая функция в Excel

Поисковая функция в программе Microsoft Excel предлагает возможность найти нужные текстовые или числовые значения через окно «Найти и заменить». Кроме того, в приложении имеется возможность расширенного поиска данных.

Способ 1: простой поиск

Простой поиск данных в программе Excel позволяет найти все ячейки, в которых содержится введенный в поисковое окно набор символов (буквы, цифры, слова, и т.д.) без учета регистра.

  1. Находясь во вкладке «Главная», кликаем по кнопке «Найти и выделить», которая расположена на ленте в блоке инструментов «Редактирование». В появившемся меню выбираем пункт «Найти…». Вместо этих действий можно просто набрать на клавиатуре сочетание клавиш Ctrl+F.
  2. Переход к поиску в Microsoft Excel

  3. После того, как вы перешли по соответствующим пунктам на ленте, или нажали комбинацию «горячих клавиш», откроется окно «Найти и заменить» во вкладке «Найти». Она нам и нужна. В поле «Найти» вводим слово, символы, или выражения, по которым собираемся производить поиск. Жмем на кнопку «Найти далее», или на кнопку «Найти всё».
  4. Обычный поиск в Microsoft Excel

  5. При нажатии на кнопку «Найти далее» мы перемещаемся к первой же ячейке, где содержатся введенные группы символов. Сама ячейка становится активной.

    Поиск и выдача результатов производится построчно. Сначала обрабатываются все ячейки первой строки. Если данные отвечающие условию найдены не были, программа начинает искать во второй строке, и так далее, пока не отыщет удовлетворительный результат.

    Поисковые символы не обязательно должны быть самостоятельными элементами. Так, если в качестве запроса будет задано выражение «прав», то в выдаче будут представлены все ячейки, которые содержат данный последовательный набор символов даже внутри слова. Например, релевантным запросу в этом случае будет считаться слово «Направо». Если вы зададите в поисковике цифру «1», то в ответ попадут ячейки, которые содержат, например, число «516».

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

    Результат обычного поиска в Microsoft Excel

    Так можно продолжать до тех, пор, пока отображение результатов не начнется по новому кругу.

  6. В случае, если при запуске поисковой процедуры вы нажмете на кнопку «Найти все», все результаты выдачи будут представлены в виде списка в нижней части поискового окна. В этом списке находятся информация о содержимом ячеек с данными, удовлетворяющими запросу поиска, указан их адрес расположения, а также лист и книга, к которым они относятся. Для того, чтобы перейти к любому из результатов выдачи, достаточно просто кликнуть по нему левой кнопкой мыши. После этого курсор перейдет на ту ячейку Excel, по записи которой пользователь сделал щелчок.

Найти всё в Microsoft Excel

Способ 2: поиск по указанному интервалу ячеек

Если у вас довольно масштабная таблица, то в таком случае не всегда удобно производить поиск по всему листу, ведь в поисковой выдаче может оказаться огромное количество результатов, которые в конкретном случае не нужны. Существует способ ограничить поисковое пространство только определенным диапазоном ячеек.

  1. Выделяем область ячеек, в которой хотим произвести поиск.
  2. Выделение интервала в Microsoft Excel

  3. Набираем на клавиатуре комбинацию клавиш Ctrl+F, после чего запуститься знакомое нам уже окно «Найти и заменить». Дальнейшие действия точно такие же, что и при предыдущем способе. Единственное отличие будет состоять в том, что поиск выполняется только в указанном интервале ячеек.

Поиск по интервалу в Microsoft Excel

Способ 3: Расширенный поиск

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

Lumpics.ru

К тому же, в выдачу может попасть не только содержимое конкретной ячейки, но и адрес элемента, на который она ссылается. Например, в ячейке E2 содержится формула, которая представляет собой сумму ячеек A4 и C3. Эта сумма равна 10, и именно это число отображается в ячейке E2. Но, если мы зададим в поиске цифру «4», то среди результатов выдачи будет все та же ячейка E2. Как такое могло получиться? Просто в ячейке E2 в качестве формулы содержится адрес на ячейку A4, который как раз включает в себя искомую цифру 4.

Результат поиска в Microsoft Excel

Но, как отсечь такие, и другие заведомо неприемлемые результаты выдачи поиска? Именно для этих целей существует расширенный поиск Excel.

  1. После открытия окна «Найти и заменить» любым вышеописанным способом, жмем на кнопку «Параметры».
  2. Переход в параметры поиска в Microsoft Excel

  3. В окне появляется целый ряд дополнительных инструментов для управления поиском. По умолчанию все эти инструменты находятся в состоянии, как при обычном поиске, но при необходимости можно выполнить корректировку.
    Параметры поиска по умолчанию в Microsoft Excel

    По умолчанию, функции «Учитывать регистр» и «Ячейки целиком» отключены, но, если мы поставим галочки около соответствующих пунктов, то в таком случае, при формировании результата будет учитываться введенный регистр, и точное совпадение. Если вы введете слово с маленькой буквы, то в поисковую выдачу, ячейки содержащие написание этого слова с большой буквы, как это было бы по умолчанию, уже не попадут. Кроме того, если включена функция «Ячейки целиком», то в выдачу будут добавляться только элементы, содержащие точное наименование. Например, если вы зададите поисковый запрос «Николаев», то ячейки, содержащие текст «Николаев А. Д.», в выдачу уже добавлены не будут.

    Настройки поиска в Microsoft Excel

    По умолчанию, поиск производится только на активном листе Excel. Но, если параметр «Искать» вы переведете в позицию «В книге», то поиск будет производиться по всем листам открытого файла.

    Область поиска в Microsoft Excel

    В параметре «Просматривать» можно изменить направление поиска. По умолчанию, как уже говорилось выше, поиск ведется по порядку построчно. Переставив переключатель в позицию «По столбцам», можно задать порядок формирования результатов выдачи, начиная с первого столбца.

    Содержимое поиска в Microsoft Excel

    В графе «Область поиска» определяется, среди каких конкретно элементов производится поиск. По умолчанию, это формулы, то есть те данные, которые при клике по ячейке отображаются в строке формул. Это может быть слово, число или ссылка на ячейку. При этом, программа, выполняя поиск, видит только ссылку, а не результат. Об этом эффекте велась речь выше. Для того, чтобы производить поиск именно по результатам, по тем данным, которые отображаются в ячейке, а не в строке формул, нужно переставить переключатель из позиции «Формулы» в позицию «Значения». Кроме того, существует возможность поиска по примечаниям. В этом случае, переключатель переставляем в позицию «Примечания».

    Область поиска в программе Microsoft Excel

    Ещё более точно поиск можно задать, нажав на кнопку «Формат».

    Переход к формату поиска в Microsoft Excel

    При этом открывается окно формата ячеек. Тут можно установить формат ячеек, которые будут участвовать в поиске. Можно устанавливать ограничения по числовому формату, по выравниванию, шрифту, границе, заливке и защите, по одному из этих параметров, или комбинируя их вместе.

    Формат поиска в Microsoft Excel

    Если вы хотите использовать формат какой-то конкретной ячейки, то в нижней части окна нажмите на кнопку «Использовать формат этой ячейки…».

    Переход к выбору ячейки для установки формата в Microsoft Excel

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

    Выбор ячейки для установки формата в Microsoft Excel

    После того, как формат поиска настроен, жмем на кнопку «OK».

    Установка формата поиска в Microsoft Excel

    Бывают случаи, когда нужно произвести поиск не по конкретному словосочетанию, а найти ячейки, в которых находятся поисковые слова в любом порядке, даже, если их разделяют другие слова и символы. Тогда данные слова нужно выделить с обеих сторон знаком «*». Теперь в поисковой выдаче будут отображены все ячейки, в которых находятся данные слова в любом порядке.

  4. Поиск по отдельным словам в Microsoft Excel

  5. Как только настройки поиска установлены, следует нажать на кнопку «Найти всё» или «Найти далее», чтобы перейти к поисковой выдаче.

Запуск расширенного поиска в Microsoft Excel

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

Функция SEARCH (ПОИСК) в Excel. Как использовать?

Функция ПОИСК (SEARCH) в Excel используется для определения расположения текста внутри какого-либо текста и указания его точной позиции.

Что возвращает функция

Функция возвращает числовое значение, обозначающее стартовую позицию искомого текста внутри другого текста. Позиция обозначает порядковый номер символа, с которого начинается искомый текст.

=SEARCH(find_text, within_text, [start_num]) – английская версия

=ПОИСК(искомый_текст;просматриваемый_текст;[начальная_позиция]) – русская версия

Аргументы функции

  • find_text (искомый_текст) – текст или текстовая строка которую вы хотите найти;
  • within_text (просматриваемый_текст) – текст, внутри которого вы осуществляете поиск;
  • [start_num] ([начальная_позиция]) – числовое значение, обозначающее позицию, с которой вы хотите начать поиск. Если не указать этот аргумент, то функци начнет поиск с начала текста.

Дополнительная информация

  • Если стартовая позиция поиска не указана, то поиск текста осуществляется сначала текста;
  • Функция не чувствительна к регистру. Если вам нужна чувствительность к регистру, то используйте функцию НАЙТИ;
  • Функция может обрабатывать подстановочные знаки. В Excel существует три подстановочных знака – ?, *,

.

  • знак “?” – сопоставляет любой одиночный символ;
  • знак “*” – сопоставляет любые дополнительные символы;
  • знак “

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

  • Функция возвращает ошибку, в случае если искомый текст не найден.
  • Примеры использования функции ПОИСК в Excel

    Пример 1. Ищем слово внутри текстовой строки (с начала)

    На примере выше видно, что когда мы ищем слово “доброе” в тексте “Доброе утро”, функция возвращает значение “1”, что соответствует позиции слова “доброе” в тексте “Доброе утро”.

    Так как функция не чувствительна к регистру, нет разницы каким образом мы указываем искомое слово “доброе”, будь то “ДОБРОЕ”, “Доброе”, “дОброе” и.т.д. функция вернет одно и то же значение.

    Если вам необходимо осуществить поиск чувствительный к регистру – используйте функцию НАЙТИ в Excel.

    Пример 2. Ищем слово внутри текстовой строки (с указанием стартовой позиции поиска)

    Третий аргумент функции указывает на порядковый номер позиции внутри текста, с которой будет осуществлен поиск. На примере выше, функция возвращает значение “1” при поиске слова “доброе” в тексте “Доброе утро”, начиная свой поиск с первой позиции.

    Вместе с тем, если мы указываем функции, что поиск следует начинать со второго символа текста “Доброе утро”, то есть функция в этом случае видит текст как “оброе утро” и ищет слово “доброе”, то результатом будет ошибка.

    Если вы не указываете в качестве аргумента стартовую позицию для поиска, функция автоматически начнет поиск с начала текста.

    Пример 3. Поиск слова при наличии нескольких совпадений в тексте

    Функция начинает искать текст со стартовой позиции которую мы можем указать в качестве аргумента, или она начнет поиск с начала текста автоматически. На примере выше, мы ищем слово “доброе ” в тексте “Доброе доброе утро” со стартовой позицией для поиска “1”. В этом случае функция возвращает “1”, так как первое найденное слово “Доброе” начинается с первого символа текста.

    Если мы укажем функции начало поиска, например, со второго символа, то результатом вычисления функции будет “8”.

    Пример 4. Используем подстановочные знаки при работе функции ПОИСК в Excel

    При поиске функция учитывает подстановочные знаки. На примере выше мы ищем текст “c*l”. Наличие подстановочного знака “*” в данном запросе обозначает что мы ищем любо слово, которое начинается с буквы “c” и заканчивается буквой “l”, а что между этими двумя буквами не важно. Как результат, функция возвращает значение “3”, так как в слове “Excel”, расположенном в ячейке А2 буква “c” находится на третьей позиции.

    Функция ПОИСК() в MS EXCEL

    Синтаксис функции

    ПОИСК(искомый_текст;просматриваемая_строка;[нач_позиция])

    Искомый_текст — текст, который требуется найти.

    Просматриваемая_строка — текст, в которой ищется Искомый_текст.

    Нач_позиция — позиция знака в просматриваемой_строке, с которой должен начинаться поиск. Если аргумент нач_позиция опущен, то предполагается значение 1.

    В аргументе искомый_текст можно использовать подстановочные знаки — вопросительный знак (?) и звездочку (*). Вопросительный знак соответствует любому знаку; звездочка — любой последовательности знаков. Если нужно найти в тексте вопросительный знак или звездочку, следует поставить перед ними тильду (

    Если искомый_текст не найден, возвращается значение ошибки #ЗНАЧ!

    Функция ПОИСК() не учитывает РЕгиСТР букв. Для поиска с учетом регистра следует воспользоваться функцией НАЙТИ() .

    Формула =ПОИСК(«к»;»Первый канал») вернет 8, т.к. буква к находится на 8-й позиции слева.

    Пусть в ячейке А2 введена строка Первый канал — лучший. Формула =ПОИСК(СИМВОЛ(32);A2) вернет 7, т.к. символ пробела (код 32) находится на 7-й позиции.

    Формула =ПОИСК(«#. #»;»Артикул #123# ID») будет искать в строке «Артикул #123# ID» последовательность из 5 символов, которая начинается и заканчивается на знак #.

    Чтобы найти позицию второго вхождения буквы «а» в строке «мама мыла раму» используйте формулу =ПОИСК(«а»;»мама мыла раму»;ПОИСК(«а»;»мама мыла раму»)+1). Чтобы определить есть ли третье вхождение буквы «м» в строке «мама мыла раму» используйте формулу =ЕСЛИ(ДЛСТР(ПОДСТАВИТЬ(«мама мыла раму»;»м»;»»;3))=ДЛСТР(«мама мыла раму»);»Нет третьего вхождения м»;»Есть третье вхождение м»)

    Формула =ПОИСК(«клад?»;»докладная») вернет 3, т.е. в слове «докладная» содержится слово из 5 букв, первые 4 из которых клад (начиная с третьей буквы слова докладная).

    Функция НАЙТИ() vs ПОИСК()

    Функция НАЙТИ() учитывает РЕгиСТР букв и не допускает использование подстановочных знаков. Для поиска без учета регистра, а также для поиска с использованием подстановочных знаков пользуйтесь функцией ПОИСК() .

    Связь с функциями ЛЕВСИМВ() , ПРАВСИМВ() и ПСТР()

    Функция ПОИСК() может быть использована совместно с функциями ЛЕВСИМВ() , ПРАВСИМВ() и ПСТР() .

    Например, в ячейке А2 содержится фамилия и имя «Иванов Иван», то формула =ЛЕВСИМВ(A2;ПОИСК(СИМВОЛ(32);A2)-1) извлечет фамилию, а =ПРАВСИМВ(A2;ДЛСТР(A2)-ПОИСК(СИМВОЛ(32);A2)) — имя. Если между именем и фамилией содержится более одного пробела, то для работоспособности вышеупомянутых формул используйте функцию СЖПРОБЕЛЫ() .

    Поиск значения в столбце и строке таблицы Excel

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

    Поиск значений в таблице Excel

    Для решения данной задачи проиллюстрируем пример на схематической таблице, которая соответствует выше описанным условиям.

    Лист с таблицей для поиска значений по вертикали и горизонтали:

    Над самой таблицей расположена строка с результатами. В ячейку B1 водим критерий для поискового запроса, то есть заголовок столбца или название строки. А в ячейке D1 формула поиска должна возвращать результат вычисления соответствующего значения. После чего в ячейке F1 сработает вторая формула, которая уже будет использовать значения ячеек B1 и D1 в качестве критериев для поиска соответствующего месяца.

    Поиск значения в строке Excel

    Теперь узнаем, в каком максимальном объеме и в каком месяце была максимальная продажа Товара 4.

    Чтобы выполнить поиск по столбцам следует:

    1. В ячейку B1 введите значение Товара 4 – название строки, которое выступит в качестве критерия.
    2. В ячейку D1 введите следующую формулу:
    3. Для подтверждения после ввода формулы нажмите комбинацию горячих клавиш CTRL+SHIFT+Enter, так как формула должна быть выполнена в массиве. Если все сделано правильно, в строке формул появятся фигурные скобки.
    4. В ячейку F1 введите вторую формулу:
    5. Снова Для подтверждения нажмите комбинацию клавиш CTRL+SHIFT+Enter.

    Найдено в каком месяце и какая была наибольшая продажа Товара 4 на протяжении двух кварталов.

    Принцип действия формулы поиска значения в строке Excel:

    В первом аргументе функции ВПР (Вертикальный ПРосмотр) указывается ссылка на ячейку где находится критерий поиска. Во втором аргументе указывается диапазон ячеек для просмотра в процессе поиска. В третьем аргументе функции ВПР должен указываться номер столбца, из которого следует взять значение на против строки с именем Товар 4. Но так как нам заранее не известен этот номер мы с помощью функции СТОЛБЕЦ создаем массив номеров столбцов для диапазона B4:G15.

    Это позволяет функции ВПР собрать целый массив значений. В результате в памяти хранится все соответствующие значения каждому столбцу по строке Товар 4 (а именно: 360; 958; 201; 605; 462; 832). После чего функции МАКС остается только взять из этого массива максимальное число и возвратить в качестве значения для ячейки D1, как результат вычисления формулы.

    Как видно конструкция формулы проста и лаконична. На ее основе можно в похожий способ находить для определенного товара и другие показатели. Например, минимальное или среднее значение объема продаж используя для этого функции МИН или СРЗНАЧ. Вам ни что не препятствует, чтобы приведенный этот скелет формулы применить с использованием более сложных функций для реализации максимально комфортного анализа отчета по продажам.

    Как получить заголовки столбцов по зачиню одной ячейки?

    Например, как эффектно мы отобразили месяц, в котором была максимальная продажа, с помощью второй формулы. Не сложно заметить что во второй формуле мы использовали скелет первой формулы без функции МАКС. Главная структура формулы: ВПР(B1;A5:G14;СТОЛБЕЦ(B5:G14);0). Мы заменили функцию МАКС на ПОИСКПОЗ, которая в первом аргументе использует значение, полученное предыдущей формулой. Оно теперь выступает в качестве критерия для поиска месяца. И в результате функция ПОИСКПОЗ нам возвращает номер столбца 2 где находится максимальное значение объема продаж для товара 4. После чего в работу включается функция ИНДЕКС, которая возвращает значение по номеру сроки и столбца из определенного в ее аргументах диапазона. Так как у нас есть номер столбца 2, а номер строки в диапазоне где хранятся названия месяцев в любые случаи будет 1. Тогда нам осталось функцией ИНДЕКС получить соответственное значение из диапазона B4:G4 – Февраль (второй месяц).

    Поиск значения в столбце Excel

    Вторым вариантом задачи будет поиск по таблице с использованием названия месяца в качестве критерия. В такие случаи мы должны изменить скелет нашей формулы: функцию ВПР заменить ГПР, а функция СТОЛБЕЦ заменяется на СТРОКА.

    Это позволит нам узнать какой объем и какого товара была максимальная продажа в определенный месяц.

    Чтобы найти какой товар обладал максимальным объемом продаж в определенном месяце следует:

    1. В ячейку B2 введите название месяца Июнь – это значение будет использовано в качестве поискового критерия.
    2. В ячейку D2 введите формулу:
    3. Для подтверждения после ввода формулы нажмите комбинацию клавиш CTRL+SHIFT+Enter, так как формула будет выполнена в массиве. А в строке формул появятся фигурные скобки.
    4. В ячейку F1 введите вторую формулу:
    5. Снова Для подтверждения нажмите CTRL+SHIFT+Enter.

    Принцип действия формулы поиска значения в столбце Excel:

    В первом аргументе функции ГПР (Горизонтальный ПРосмотр) указываем ссылку на ячейку с критерием для поиска. Во втором аргументе указана ссылка на просматриваемый диапазон таблицы. Третий аргумент генерирует функция СТРОКА, которая создает в памяти массив номеров строк из 10 элементов. Так как в табличной части у нас находится 10 строк.

    Далее функция ГПР поочередно используя каждый номер строки создает массив соответственных значений продаж из таблицы по определенному месяцу (Июню). Далее функции МАКС осталось только выбрать максимальное значение из этого массива.

    Далее немного изменив первую формулу с помощью функций ИНДЕКС и ПОИСКПОЗ, мы создали вторую для вывода названия строк таблицы по зачиню ячейки. Название соответствующих строк (товаров) выводим в F2.

    ВНИМАНИЕ! При использовании скелета формулы для других задач всегда обращайте внимание на второй и третий аргумент поисковой функции ГПР. Количество охваченных строк в диапазоне указанного в аргументе, должно совпадать с количеством строк в таблице. А также нумерация должна начинаться со второй строки!

    По сути содержимое диапазона нас вообще не интересует, нам нужен просто счетчик строк. То есть изменить аргументы на: СТРОКА(B2:B11) или СТРОКА(С2:С11) – это никак не повлияет на качество формулы. Главное, что в этих диапазонах по 10 строк, как и в таблице. И нумерация начинается со второй строки!

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

    Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

    В этой статье описаны синтаксис формулы и использование функций ПОИСК и ПОИСКБ в Microsoft Excel.

    Функции ПОИСК И ПОИСКБ находят одну текстовую строку в другой и возвращают начальную позицию первой текстовой строки (считая от первого символа второй текстовой строки). Например, чтобы найти позицию буквы «n» в слове «printer», можно использовать следующую функцию:

    Эта функция возвращает 4, так как «н» является четвертым символом в слове «принтер».

    Можно также находить слова в других словах. Например, функция

    возвращает 5, так как слово «base» начинается с пятого символа слова «database». Можно использовать функции ПОИСК и ПОИСКБ для определения положения символа или текстовой строки в другой текстовой строке, а затем вернуть текст с помощью функций ПСТР и ПСТРБ или заменить его с помощью функций ЗАМЕНИТЬ и ЗАМЕНИТЬБ. Эти функции показаны в примере 1 данной статьи.

    Эти функции могут быть доступны не на всех языках.

    Функция ПОИСКБ отсчитывает по два байта на каждый символ, только если языком по умолчанию является язык с поддержкой БДЦС. В противном случае функция ПОИСКБ работает так же, как функция ПОИСК, и отсчитывает по одному байту на каждый символ.

    К языкам, поддерживающим БДЦС, относятся японский, китайский (упрощенное письмо), китайский (традиционное письмо) и корейский.

    Аргументы функций ПОИСК и ПОИСКБ описаны ниже.

    Искомый_текст Обязательный. Текст, который требуется найти.

    Просматриваемый_текст Обязательный. Текст, в котором нужно найти значение аргумента искомый_текст.

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

    Функции ПОИСК и ПОИСКБ не учитывают регистр. Если требуется учитывать регистр, используйте функции НАЙТИ и НАЙТИБ.

    В аргументе искомый_текст можно использовать подстановочные знаки: вопросительный знак (?) и звездочку (*). Вопросительный знак соответствует любому знаку, звездочка — любой последовательности знаков. Если требуется найти вопросительный знак или звездочку, введите перед ним тильду (

    Если значение аргумента искомый_текст не найдено, #VALUE! возвращено значение ошибки.

    Если аргумент начальная_позиция опущен, то он полагается равным 1.

    Если Нач_позиция не больше 0 или больше, чем длина аргумента просматриваемый_текст , #VALUE! возвращено значение ошибки.

    Аргумент начальная_позиция можно использовать, чтобы пропустить определенное количество знаков. Допустим, что функцию ПОИСК нужно использовать для работы с текстовой строкой «МДС0093.МужскаяОдежда». Чтобы найти первое вхождение «М» в описательной части текстовой строки, задайте для аргумента начальная_позиция значение 8, чтобы поиск не выполнялся в той части текста, которая является серийным номером (в данном случае — «МДС0093»). Функция ПОИСК начинает поиск с восьмого символа, находит знак, указанный в аргументе искомый_текст, в следующей позиции, и возвращает число 9. Функция ПОИСК всегда возвращает номер знака, считая от начала просматриваемого текста, включая символы, которые пропускаются, если значение аргумента начальная_позиция больше 1.

    Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

    Строка поиска в Excel

    Этот пример научит вас создавать собственную строку поиска в Excel.

    Вот так выглядит таблица. Если ввести поисковый запрос в ячейку B2, Excel найдет совпадения в столбце E и выдаст результат в столбце B.

    Чтобы создать эту строку поиска, следуйте инструкции ниже:

      Выделите ячейку D4 и вставьте функцию SEARCH (ПОИСК), как показано ниже, указав абсолютную ссылку на ячейку В2.

    =SEARCH($B$2,E4)
    =ПОИСК($B$2;E4)

  • Дважды кликните по маркеру автозаполнения, который находится в правом нижнем углу ячейки D4, чтобы быстро скопировать формулу во все оставшиеся ячейки столбца D.Объяснение: Функция SEARCH (ПОИСК) ищет начальную позицию искомого значения в строке. Функция SEARCH (ПОИСК) не учитывает регистр. В слове “Tunisia” строка “uni” имеет начальное положение 2, а в слове “United States” начальное положение равно 1. Чем меньше значение, тем выше оно должно располагаться.
  • И “United States”, и “United Kingdom” возвращают значение 1. Как быть? Чуть позже мы присвоим всем данным уникальные значения с помощью функции RANK (РАНГ), но для этого нам нужно слегка скорректировать результат формулы в ячейке D4, как показано ниже:

    IFERROR(SEARCH($B$2,E4)+ROW()/100000,»»)
    ЕСЛИОШИБКА(ПОИСК($B$2;E4)+СТРОКА()/100000;»»)

  • Снова дважды кликните по правому нижнему углу ячейки D4, чтобы быстро скопировать формулу в остальные ячейки столбца.Объяснение: Функция ROW (СТРОКА) возвращает номер строки ячейки. Если мы разделим номер строки на крупное число и прибавим это значение к результату функции SEARCH (ПОИСК), у нас всегда будут получаться уникальные значения, а небольшой прирост не повлияет на ранжирование. Теперь значение для “United States” составляет 1,00006, а для “United Kingdom” – 1,00009. Кроме этого мы добавили функцию IFERROR (ЕСЛИОШИБКА). Если ячейка содержит ошибку, к примеру, когда строка не может быть найдена, возвращается пустая строка (“”).
  • Выберите ячейку C4 и вставьте функцию RANK (РАНГ), как показано ниже:

    =IFERROR(RANK(D4,$D$4:$D$197,1),»»)
    =ЕСЛИОШИБКА(РАНГ(D4;$D$4:$D$197;1);»»)

  • Дважды щелкните по правому углу ячейки С4, чтобы быстро скопировать формулу в другие ячейки.Объяснение: Функция RANK (РАНГ) возвращает порядковый номер значения. Если третий аргумент функции равен 1, Excel выстраивает числа по возрастанию: от наименьшего к большему. Поскольку мы добавили функцию ROW (СТРОКА), все значения в столбце D стали уникальными. Как следствие, числа в столбце C тоже уникальны.
  • Мы почти закончили. Функцию VLOOKUP (ВПР) мы будем использовать, чтобы извлечь найденные страны (наименьшее значение первым, второе наименьшее вторым, и т.д.) Выделите ячейку B4 и вставьте функцию VLOOKUP (ВПР), как показано ниже.

    =IFERROR(VLOOKUP(A4,$C$4:$E$197,3,FALSE),»»)
    =ЕСЛИОШИБКА(ВПР(A4;$C$4:$E$197;3;ЛОЖЬ);»»)

  • Дважды щелкните по правому нижнему углу ячейки B4, чтобы быстро скопировать формулу в другие ячейки.
  • Измените цвет чисел в столбце А на белый и скройте столбцыС и D.
  • Результат: Ваша собственная строка поиска в 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))

    — имя. Если между именем и фамилией содержится более одного пробела, то для работоспособности вышеупомянутых формул используйте функцию

    СЖПРОБЕЛЫ()

    .

    Понравилась статья? Поделить с друзьями:
  • Функция поиска слов в word
  • Функция поиска повторяющихся значений в excel
  • Функция поиска по такой же ячейке в excel
  • Функция поиска по всем листам excel
  • Функция поиска минимального значения в excel