Поискпоз в excel по части текста

 

sens84

Пользователь

Сообщений: 12
Регистрация: 14.01.2016

Добрый день!
Прошу помощи в решении задачи. На форуме похожего запроса не нашла.
Мне нужно подтянуть названия городов (диапазоном, не используя «название города» в формуле) к списку, где они (города) содержатся внутри текста.
Примерно так:

Хабаровск_______Эксплуатационный цех (Хабаровск)
Я что-то намудрила  8)
не работает конечно же))

{=ИНДЕКС($C$2:$C$26(ПОИСКПОЗ(«*»&C2:C13&»*»;$A$2:$A$26);-1);1)}

 

Казанский

Пользователь

Сообщений: 8839
Регистрация: 11.01.2013

#2

02.02.2016 12:28:35

sens84,

Код
=ВПР("*"&C2&"*";A:A;1;)

Правда, 3 только находит:  

 

Сергей

Пользователь

Сообщений: 11251
Регистрация: 01.01.1970

#3

02.02.2016 12:30:35

а я не понял что к чему надо подтянуть если к столбцу А то как вариант массивная

Код
=ИНДЕКС($C$1:$C$13;МАКС(ЕЧИСЛО(ПОИСК($C$1:$C$13;$A2))*СТРОКА($1:$13)))

Изменено: Сергей02.02.2016 12:31:00
(забыл формулу)

Лень двигатель прогресса, доказано!!!

 

sens84

Пользователь

Сообщений: 12
Регистрация: 14.01.2016

Казанский,

Спасибо! но это только по 1 городу, а нужно чтобы он поиск был по диапазонам

 

The_Prist

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

Вы покажите в примере, что надо получить. Вы хотите получить все строки столбца А, в которых встречается указанный город? Если да — то только кодами(функции пользователя UDF), вроде этого:

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

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

sens84

Пользователь

Сообщений: 12
Регистрация: 14.01.2016

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

Изменено: sens8402.02.2016 12:43:45

 

sens84

Пользователь

Сообщений: 12
Регистрация: 14.01.2016

подразделение Результат Город
Эксплуатационно-технологический цех  № 3 (Хабаровск) Хабаровск Владивосток
Эксплуатационно-технологический цех № 10 (Комсомольск-на-Амуре) Хабаровск
Эксплуатационно-технологический цех № 20 (Тында) Алдан
Эксплуатационно-технологический цех № 6 (Уссурийск) Долинск
Электроизмерительная лаборатория Корсаков
Электроизмерительная лаборатория Невельск
Этц № 22 (Нерюнгри) Поронайск
Этц № 22 (Нерюнгри) Томари
ЭТЦ № 23 (Алдан) Алдан Тымовское
ЭТЦ № 23 (Алдан) Алдан Холмск
ЭТЦ № 23 (Алдан) Алдан Южно-Сахалинск
ЭТЦ24 ( Нижний Бестях) Нижний Бестиях Нижний Бестях

Изменено: sens8402.02.2016 12:52:49

 

Владимир

Пользователь

Сообщений: 8196
Регистрация: 21.12.2012

=ЕСЛИОШИБКА(ВПР(ПСТР(A2;ПОИСК(«(«;A2)+1;ПОИСК(«)»;A2)-ПОИСК(«(«;A2)-1);$C$2:$C$16;1;0);»»)

«..Сладку ягоду рвали вместе, горьку ягоду я одна.»

 

Казанский

Пользователь

Сообщений: 8839
Регистрация: 11.01.2013

#9

02.02.2016 12:51:02

sens84, а, обратная задача

Код
=ПРОСМОТР(2;1/ПОИСК("*"&$C$2:$C$13&"*";A2);$C$2:$C$13)
 

sens84

Пользователь

Сообщений: 12
Регистрация: 14.01.2016

Владимир,

низкий поклон Вам! :)
Работает! осталось ее «прочесть» для общего развития, пока что это все выглядит как «набор странных символов» :-)))

 

Сергей

Пользователь

Сообщений: 11251
Регистрация: 01.01.1970

#11

02.02.2016 12:58:05

Цитата
sens84 написал: нужно чтобы рядом со столбцом А

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

Прикрепленные файлы

  • для форума1.xlsx (10.74 КБ)

Лень двигатель прогресса, доказано!!!

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

=ЕСЛИОШИБКА(ИНДЕКС($C$2:$C$13;ПОИСКПОЗ(ПОДСТАВИТЬ(ПСТР(A2;ПОИСК(«(«;A2&»(«)+1;20);»)»;);$C$2:$C$13;));»»)

 

The_Prist

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

=ПРОСМОТР(2;1/ПОИСК($C$2:$C$13;A2);$C$2:$C$13)
подробнее, с пошаговым описанием алгоритма:

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

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

sens84

Пользователь

Сообщений: 12
Регистрация: 14.01.2016

Сергей, Спасибо! Я подозревала что «*»& может пригодиться))
The_Prist, спасибо!
vikttur, тоже работает! Спасибо!

Осталось в них разобраться

 

sens84

Пользователь

Сообщений: 12
Регистрация: 14.01.2016

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

=ЕСЛИОШИБКА(ИНДЕКС($C$2:$C$13;ПОИСКПОЗ(ПОДСТАВИТЬ(ПСТР(A12;ПОИСК(«»;A12&»(«)+1;20);»)»;);$C$2:$C$13;));»»)

=ЕСЛИОШИБКА(ВПР(ПСТР(A12;ПОИСК(«(«;A12)+1;ПОИСК(«)»;A12)-ПОИСК(«(«;A12)-1);$C$2:$C$16;1;0);»»)

 

Владимир

Пользователь

Сообщений: 8196
Регистрация: 21.12.2012

#16

03.02.2016 13:55:40

Цитата
sens84 написал: и со скобками и без скобок
Цитата
Казанский написал: #9 2 Фев 2016 12:51:02

Вам Алексей писал:
=ЕСЛИОШИБКА(ПРОСМОТР(2;1/ПОИСК(«*»&$C$2:$C$13&»*»;A2);$C$2:$C$13);»»)

«..Сладку ягоду рвали вместе, горьку ягоду я одна.»

Skip to content

Поиск в массиве при помощи ПОИСКПОЗ

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

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

  • Функция ПОИСКПОЗ — пошаговая инструкция
  • Поиск частичного совпадения с подстановочными знаками
  • ПОИСКПОЗ с учетом регистра
  • ПОИСКПОЗ и несколько условий
  • Как сравнить столбцы при помощи ПОИСКПОЗ
  • Совместное использование ВПР и ПОИСКПОЗ
  • Использование ГПР и ПОИСКПОЗ

Функция ПОИСКПОЗ Excel — пошаговая инструкция

Функция ПОИСКПОЗ в Excel ищет указанное значение в массиве и возвращает относительное положение этого значения.

Рассмотрим пошагово, как составить формулу ПОИСКПОЗ:

ПОИСКПОЗ(искомое_значение; массив_поиска, [тип_совпадения])

Шаг 1. Искомое_значение (обязательный аргумент) — значение, которое вы хотите найти. Это может быть число, текстовое или логическое значение, а также ссылка на ячейку.

Шаг 2. Массив_поиска (обязательно) — диапазон ячеек для поиска.

Шаг 3. Указываем Тип_совпадения (необязательно) — определяет тип соответствия. Это может быть одно из следующих значений: 1, 0, -1. Аргумент, установленный в 0, возвращает только точное совпадение, в то время как два других значения допускают приблизительное совпадение.

  • 1 или опущено (по умолчанию) — найти наибольшее значение в массиве поиска, которое меньше или равно значению поиска. Требуется сортировка массива поиска в порядке возрастания, от меньшего к большему или от А до Я.
  • 0 — найти первое значение в массиве, точно равное искомому значению. Никакой сортировки не требуется.
  • -1 — найти наименьшее значение в массиве, которое больше или равно искомому значению. Массив поиска должен быть отсортирован в порядке убывания, от наибольшего к наименьшему или от Я до A.

Чтобы лучше понять функцию ПОИСКПОЗ, давайте составим простую формулу на основе этих данных: имена учащихся в столбце А и их экзаменационные баллы в столбце В, отсортированные от наибольшего к наименьшему. Чтобы узнать, какое место среди других занимает конкретный ученик (скажем, Елена ), используйте эту простую формулу:

=ПОИСКПОЗ(“Елена”; A2:A8;0)

При желании вы можете поместить искомое значение в какую-либо ячейку (E1 в этом примере) и сослаться на эту ячейку в своей формуле:

=ПОИСКПОЗ(E1; A2:A8;0)

Как вы видите на скриншоте выше, имена расположены не по алфавиту, а потому мы устанавливаем аргументу тип_совпадения значение 0 (точное соответствие). Ведь только этот вариант не требует сортировки в массиве поиска. 

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

4 вещи, которые вы должны знать о функции ПОИСКПОЗ

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

  1. Функция ПОИСКПОЗ возвращает относительное положение искомого значения в массиве, а не само значение.
  2. ПОИСКПОЗ нечувствительна к регистру , то есть не различает строчные и прописные символы при работе с текстовыми значениями.
  3. Если искомый массив содержит несколько вхождений искомого значения, то возвращается позиция первого найденного значения.
  4. Если искомое значение не найдено в массиве поиска, возвращается ошибка #Н/Д.

Как использовать ПОИСКПОЗ в Excel — примеры формул

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

Частичное совпадение с подстановочными знаками

Как и многие другие функции, ПОИСКПОЗ понимает следующие подстановочные знаки :

  • Вопросительный знак (?) — заменяет любой одиночный символ
  • Звездочка (*) — заменяет любую последовательность символов

Примечание. Подстановочные знаки можно использовать только тогда, если для параметра тип_совпадения установлено значение 0.

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

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

Предположим, что наименования товаров находятся в диапазоне A2:A11, и вы ищете имя, начинающееся с «доб». Формула выглядит следующим образом:

=ПОИСКПОЗ(«доб*»; A2:A11;0)

Чтобы сделать нашу формулу более универсальной, вы можете ввести искомое значение в какую-либо ячейку (E1 в этом примере) и соединить эту ячейку с подстановочным знаком, например:

=ПОИСКПОЗ(E1&»*»; A2:A11;0)

Как показано на скриншоте ниже, формула возвращает 4, что является позицией «Добрый экзотик»:

Обратите внимание, что напитков «Добрый» в нашем массиве целых три. Но формула останавливает поиск, как только будет найдено первое подходящее соответствие.

Чтобы заменить только один символ в искомом значении, используйте подстановочный знак «?».

Формула ПОИСКПОЗ с учетом регистра

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

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

Вот общая формула с учетом регистра для сопоставления данных:

=ПОИСКПОЗ(ИСТИНА;СОВПАД(искомый массив ; искомое значение );0)

Формула работает по следующей логике:

  • Функция СОВПАД (EXACT в английской версии) сравнивает значение с каждым элементом массива поиска. Если сравниваемые ячейки точно равны, функция возвращает значение ИСТИНА, в противном случае — ЛОЖЬ.
  • Затем функция ПОИСКПОЗ сравнивает ИСТИНА (которое является ее искомым_значением ) с каждым значением в массиве, возвращаемом функцией СОВПАД, и возвращает позицию первого совпадения.

Пожалуйста, имейте в виду, что это формула массива , которая требует нажатия Ctrl + Shift + Enter при завершении ее ввода.

Предполагая, что искомое значение находится в ячейке E1, а массив поиска — A2:A9, формула выглядит следующим образом:

=ПОИСКПОЗ(ИСТИНА;СОВПАД(A2:A9;E1);0)

На скриншоте показана формула поиска соответствия с учетом регистра в Excel:

Как видите, формула различает регистр букв и по этой причине «А-201» было признано неподходящим.

ПОИСКПОЗ и несколько условий

Выше мы рассматривали функцию ПОИСКПОЗ с одним условием. Но на практике очень часто критериев поиска бывает несколько. Давайте рассмотрим такой случай.

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

Вот формула ПОИСКПОЗ для нескольких условий:

=ПОИСКПОЗ(1;(B2:B12=G1)*(C2:C12=G2);0)

Давайте разбираться.

Наши два условия мы записываем в виде выражения (B2:B12=G1)*(C2:C12=G2). Первое условие (B2:B12=G1) означает, что мы сравниваем каждое из значений в столбце «Регион» с целью «Север», которая записана в G1. Получаем массив {ЛОЖЬ:ИСТИНА:ИСТИНА:ИСТИНА:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ИСТИНА:ЛОЖЬ:ЛОЖЬ}

Аналогично каждый из товаров сравниваем с «Яблоки» из G2. Аналогично получаем результат {ИСТИНА:ЛОЖЬ:ЛОЖЬ:ИСТИНА:ЛОЖЬ:ИСТИНА:ЛОЖЬ:ЛОЖЬ:ИСТИНА:ЛОЖЬ:ИСТИНА}.

После перемножения этих массивов получаем матрицу единиц и нулей: {0:0:0:1:0:0:0:0:1:0:0}

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

И вот в этом массиве функция ПОИСКПОЗ ищет первую единицу. И находит ее в 4-й позиции.

Обратите внимание, что в наших данных есть две строки, в которых выполняются оба условия — товар и регион. Но функция ПОИСКПОЗ ищет в массиве только первое совпадение и после этого поиск останавливается.

Думаю, вы понимаете, что совершенно аналогичным образом можно вести поиск по трём и большему количеству условий.

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

Как сравнить столбцы при помощи ПОИСКПОЗ

Проверка двух списков на совпадения и различия — одна из наиболее распространенных задач в Excel, и ее можно выполнить различными способами. Формула ЕНД/ПОИСКПОЗ является одним из них:

ЕСЛИ(ЕНД(ПОИСКПОЗ( 1-е значение в Списке1 , Списке2 , 0)), «Нет в Списке 1», «»)

Для любого значения списка 2, которого нет в списке 1, формула возвращает « Нет в списке 1 ». 

Рассмотрим пошагово:

  • Функция ПОИСКПОЗ ищет значение из списка 1 в списке 2. Если значение найдено, оно возвращает его относительное положение, в противном случае получается ошибка #Н/Д.
  • Функция ЕНД в Excel выполняет только одну работу — проверяет наличие ошибок #Н/Д (что означает «недоступно»). Если обрабатываемое ею значение является ошибкой #Н/Д, функция возвращает значение ИСТИНА, в противном случае – ЛОЖЬ. В нашем случае ИСТИНА означает, что значение из списка 1 не найдено в списке 2 (т. е. функция ПОИСКПОЗ возвращает ошибку).
  • Поскольку вам может быть не слишком понятным видеть ИСТИНА для значений, которые не отображаются в списке 1, вы оборачиваете функцию ЕСЛИ вокруг ЕНД, чтобы вместо ИСТИНА отображалось « Нет в списке 1 » или любой другой текст, который вы хотите.

Например, чтобы сравнить значения в столбце B со значениями в столбце A, формула может быть записана так (где B2 — самая верхняя ячейка):

=ЕСЛИ(ЕНД(ПОИСКПОЗ(B2;A:A;0)); «Нет в списке 1»; «»)

Как вы помните, функция ПОИСКПОЗ в Excel сама по себе нечувствительна к регистру. Чтобы она различала регистр символов, вставьте функцию СОВПАД (EXACT по английски) в аргумент массив_поиска и не забудьте нажать Ctrl + Shift + Enter , чтобы ввести эту формулу массива :

{=ЕСЛИ(ЕНД(ПОИСКПОЗ(ИСТИНА; СОВПАД(A:A; B2);0)); «Нет в списке 1»; «»)}

На следующем рисунке показаны обе формулы в действии:

Быть может, вам также будет интересен этот материал: 5 способов сравнения ячеек в Excel.

Совместное использование ВПР и ПОИСКПОЗ

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

Один из самых досадных недостатков ВПР заключается в том, что она перестает корректно работать после вставки или удаления столбца в таблице поиска. Это происходит потому, что функция ВПР извлекает совпадающее значение на основе указанного вами номера возвращаемого столбца (номер индекса). Поскольку номер индекса «жестко запрограммирован» в формуле, Excel не может изменить его, когда в таблицу добавляются или удаляются новые столбцы.

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

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

Предполагая, что искомое значение находится в ячейке F1, значения таблицы расположены в $A$1:$C$8 (рекомендуется зафиксировать его с помощью абсолютных ссылок на ячейки, если вы планируете копировать формулу), выражение выглядит следующим образом:

=ВПР($G$1;$A$1:$С$8; 2; ЛОЖЬ)

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

Но только до тех пор, пока вы не вставите или не удалите какие-то столбцы:

Как видите, если мы вставляем дополнительный столбец, то формула теперь извлекает неверные данные. Она по-прежнему ссылается на второй столбец, в то время как данные Тест 1 сместились в третий.

Чтобы предотвратить подобные вещи, вы можете сделать свою формулу ВПР более гибкой, включив в нее функцию ПОИСКПОЗ:

ПОИСКПОЗ($F$2;$A$1:$С$1;0)

Где:

  • F2 — это искомое значение, которое в точности совпадает с именем возвращаемого столбца, т. е. столбца, из которого вы хотите извлечь значение ( Тест 1  в этом примере).
  • A1:C1 — массив поиска, содержащий заголовки таблицы.

А теперь запишите эту формулу в аргумент номер_столбца вашей формулы ВПР, например:

=ВПР($G$1;$A$1:$D$8; ПОИСКПОЗ($F$2;$A$1:$С$1;0); ЛОЖЬ)

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

Вставляем столбец с итоговым тестом:

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

=ВПР($G$1;$A$1:$D$8; ПОИСКПОЗ($F$2;$A$1:$D$1;0); ЛОЖЬ)

Использование ГПР и ПОИСКПОЗ

Аналогичным образом вы можете использовать функцию ПОИСКПОЗ в Excel, чтобы улучшить свои формулы ГПР . Общий принцип, по сути, такой же, как и в случае ВПР: вы используете функцию ПОИСКПОЗ, чтобы получить относительное положение возвращаемого столбца, и передаете это число аргументу номер_строки вашей формулы ГПР.

Предположим, что искомое значение находится в ячейке B5, данные таблицы — B1:H3, имя возвращаемой строки (значение поиска для ПОИСКПОЗ) — в ячейке A6, а заголовки строк — A1:A3.

Тогда формула выглядит следующим образом:

=ГПР(B5;B1:H3;ПОИСКПОЗ(A6; A1:A3;0);ЛОЖЬ)

Как вы только что видели, комбинация ВПР/ГПР и  ПОИСКПОЗ, безусловно, является улучшением по сравнению с обычными формулами. Однако функция ПОИСКПОЗ не устраняет всех их ограничений и недостатков. В частности, эта формула ВПР по-прежнему не может делать «левый поиск», а ГПР не может выполнять поиск ни в одной строке, кроме самой верхней.

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

Подробное руководство и примеры формул можно найти в ИНДЕКС и ПОИСКПОЗ в Excel — лучшей альтернативе ВПР .

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

Частичное совпадение в тексте MATCH или ПОИСКПОЗ

=ПОИСКПОЗ(«*текст*», «диапазон», 0)

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

В показанном примере, формула в F8:

=ПОИСКПОЗ(«*»&F5&»*»,C5:C9,0)

Как эта формула работает

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

Поискпоз поддерживает подстановочные символы звездочка «*» (один или несколько символов) или знак вопроса «?» (один символ), но только когда третий аргумент, ноль (полное совпадение),  или частичное совпадение минус один.

В примере, мы берем значение в ячейку F5 и использовать конкатенацию совместить это значение со звездочкой (*) с обеих сторон. Массив подстановок серии C5:C9, и тип устанавливается равным нулю, чтобы все значения совпали.

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

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

Файл Частичное совпадение в тексте MATCH или ПОИСКПОЗ xls

Функция ПОИСКПОЗ

Совет: Попробуйте использовать новую функцию XMATCH , улучшенную версию функции MATCH, которая работает в любом направлении и по умолчанию возвращает точные совпадения, что упрощает и удобнее в использовании, чем предшественницу.

Функция ПОИСКПОЗ выполняет поиск указанного элемента в диапазоне ячеек и возвращает относительную позицию этого элемента в диапазоне. Например, если диапазон A1:A3 содержит значения 5, 25 и 38, то формула =ПОИСКПОЗ(25;A1:A3;0) возвращает значение 2, поскольку элемент 25 является вторым в диапазоне.

Браузер не поддерживает видео.

Совет: Функцией ПОИСКПОЗ следует пользоваться вместо одной из функций ПРОСМОТР, когда требуется найти позицию элемента в диапазоне, а не сам элемент. Например, функцию ПОИСКПОЗ можно использовать для передачи значения аргумента номер_строки функции ИНДЕКС.

Синтаксис

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

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

  • Искомое_значение.    Обязательный аргумент. Значение, которое сопоставляется со значениями в аргументе просматриваемый_массив. Например, при поиске номера в телефонной книге имя абонента указывается в качестве искомого значения, а нужным значением будет номер телефона.

    Аргумент искомое_значение может быть значением (числом, текстом или логическим значением) или ссылкой на ячейку, содержащую такое значение.

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

  • Тип_сопоставления.    Необязательный аргумент. Число -1, 0 или 1. Аргумент тип_сопоставления указывает, каким образом в Microsoft Excel искомое_значение сопоставляется со значениями в аргументе просматриваемый_массив. По умолчанию в качестве этого аргумента используется значение 1.

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

Тип_сопоставления

Поведение

1 или опущен

Функция ПОИСКПОЗ находит наибольшее значение, которое меньше или равно значению аргумента искомое_значение. Просматриваемый_массив должен быть упорядочен по возрастанию: …, -2, -1, 0, 1, 2, …, A-Z, ЛОЖЬ, ИСТИНА.

0

Функция ПОИСКПОЗ находит первое значение, равное аргументу искомое_значение. Просматриваемый_массив может быть не упорядочен.

-1

Функция ПОИСКПОЗ находит наименьшее значение, которое больше или равно значению аргумента искомое_значение. Просматриваемый_массив должен быть упорядочен по убыванию: ИСТИНА, ЛОЖЬ, Z — A, …, 2, 1, 0, -1, -2, … и т. д.

  • Функция ПОИСКПОЗ возвращает не само значение, а его позицию в аргументе просматриваемый_массив. Например, функция ПОИСКПОЗ(«б»;{«а»;»б»;»в«};0) возвращает 2 — относительную позицию буквы «б» в массиве {«а»;»б»;»в»}.

  • Функция ПОИСКПОЗ не различает регистры при сопоставлении текста.

  • Если функция ПОИСКПОЗ не находит соответствующего значения, возвращается значение ошибки #Н/Д.

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

Пример

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

Продукт

Количество

Бананы

25

Апельсины

38

Яблоки

40

Груши

41

Формула

Описание

Результат

=ПОИСКПОЗ(39;B2:B5,1;0)

Так как точного соответствия нет, возвращается позиция ближайшего меньшего элемента (38) в диапазоне B2:B5.

2

=ПОИСКПОЗ(41;B2:B5;0)

Позиция значения 41 в диапазоне B2:B5

4

=ПОИСКПОЗ(40;B2:B5;-1)

Возвращает сообщение об ошибке, так как диапазон B2:B5 упорядочен не по убыванию.

#Н/Д

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

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

OlegSmirnov

Дата: Понедельник, 18.02.2019, 22:22 |
Сообщение № 1

Группа: Пользователи

Ранг: Участник

Сообщений: 97


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

Здравствуйте, форумчане.
Посоветуйте — как формулой извлечь из диапазона C3:C11 — в ячейку E3 — содержимое нужной ячейки по ее части ?

В диапазоне C3:C11 содержатся разные слова.
Мне нужно найти ячейку, содержащую текст «дом».
Такая ячейка всего одна во всем диапазоне.

Мне нужно все содержимое этой ячейки перенести в E3.
Как это сделать формулой ?

К сообщению приложен файл:

6325267.xls
(26.5 Kb)

 

Ответить

vikttur

Дата: Понедельник, 18.02.2019, 22:35 |
Сообщение № 2

Группа: Друзья

Ранг: Участник клуба

Сообщений: 2941

Код

=ИНДЕКС(C3:C11;ПОИСКПОЗ(«*Дом8*»;C3:C11;))

Код

=ПРОСМОТР(2;1/ПОИСК(«Дом8»;C3:C11);C3:C11)

 

Ответить

krosav4ig

Дата: Понедельник, 18.02.2019, 22:35 |
Сообщение № 3

Группа: Друзья

Ранг: Старожил

Сообщений: 2346


Репутация:

989

±

Замечаний:
0% ±


Excel 2007,2010,2013

Здравствуйте

Код

=ВПР(«*Дом*»;C3:C11;1;)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

 

Ответить

gling

Дата: Понедельник, 18.02.2019, 22:39 |
Сообщение № 4

Группа: Друзья

Ранг: Старожил

Сообщений: 2449


Репутация:

652

±

Замечаний:
0% ±


2010

Здравствуйте. Попробуйте так

Код

=ВПР(«*»&»Дом»&»*»;C3:C11;1;)

Вместо «Дом» можно указать любую ячейку с нужным словом или словосочетанием.


ЯД-41001506838083

Сообщение отредактировал glingПонедельник, 18.02.2019, 22:41

 

Ответить

OlegSmirnov

Дата: Вторник, 19.02.2019, 07:37 |
Сообщение № 5

Группа: Пользователи

Ранг: Участник

Сообщений: 97


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

krosav4ig, gling, спасибо — формула работает.

 

Ответить

FAQ

Дата: Понедельник, 13.04.2020, 00:28 |
Сообщение № 6

Группа: Пользователи

Ранг: Прохожий

Сообщений: 4


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Здравствуйте, возобновлю тему, надеюсь поможете. Есть формула: ВПР(СЧЁТЕСЛИ(A3;»*A3*»);[mine_xc.xlsx]Общее!$B$34:$AB$216;13;0). Необходимо сопоставить значения столбца А3 из другой книги, Но в другой книги эти самые значения могут различаться («договор»-«№ договора» от «дата»): может быть поменяны местами договор и дата, сам договор может быть в кавычках или с дополнительными пробелами, в связи с этим формула уже не работает, как найти похожее совпадения из таблиц не приводя к одинаковому стандарту 2 таблицы, так как они большие?

 

Ответить

Pelena

Дата: Понедельник, 13.04.2020, 08:38 |
Сообщение № 7

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

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


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

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