Почему не работает поискпоз в excel

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel для Windows Phone 10 Еще…Меньше

В этой статье описаны наиболее распространенные причины появления ошибки «#N/Д» в результате функций ИНДЕКСили MATCH.
 

Примечание: Если вы хотите, чтобы функция ИНДЕКС или НАЙТИВВЕРХ возвращала осмысленное значение, а не #N/Д, используйте функцию ЕСЛИERROR, а затем вложенные в нее функции ИНДЕКС и MATCH. Замена #N/A собственным значением только определяет ошибку, но не устраняет ее. Поэтому очень важно перед использованием ifERRORубедиться, что формула работает правильно.

Проблема: Нет соответствий

Если функция ПОИСКПОИСКОМ не находит искомого значения в массиве искомого массива, возвращается #N/Д.

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

  • Ячейка содержит непредвиденные символы или скрытые пробелы.

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

РЕШЕНИЕ.Чтобы удалить непредвиденные символы или скрытые пробелы, используйте функции CLEAN и TRIM соответственно. Кроме того, убедитесь, что ячейки отформатированы как правильные типы данных.

Вы использовали формулу массива, но не нажали клавиши CTRL+SHIFT+ВВОД

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

Примечание: Если у вас есть текущая версия Microsoft 365 ,можно просто ввести формулу в выходную ячейку, а затем нажать ввод, чтобы подтвердить формулу как формулу динамического массива. В противном случае формула должна быть введена как формула массива устаревшей: сначала выберем диапазон вывода, введите формулу в ячейку вывода, а затем нажимая CTRL+SHIFT+ВВОД, чтобы подтвердить ее. Excel автоматически вставляет фигурные скобки в начале и конце формулы. Дополнительные сведения о формулах массива см. в статье Использование формул массива: рекомендации и примеры.

Проблема: Несоответствие типа сопоставления и порядка сортировки данных

При использовании функцииMATCH значение аргумента match_type должно совпадать с порядком сортировки значений в массиве подытого. Если синтаксис отклоняется от приведенных ниже правил, возникает ошибка #Н/Д.

  • Если match_type 1 или не указан, значения в lookup_array должны быть в порядке возрастания. Примеры: -2, -1, 0, 1, 2…; А, Б, В…; ЛОЖЬ, ИСТИНА и т. д.

  • Если match_type -1, значения в lookup_array должны быть упорядочены по убытию.

В следующем примере функция MATCH имеет следующий

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

Функция совпадения в Excel

Аргумент match_type в синтаксис имеет значение -1, то есть для формулы должен быть порядок значений в B2:B10 в порядке убытания. Но значения порядок в порядке возрастания, что приводит к #N/A.

Решение: Измените match_type на 1 или отсортирование таблицы в формате «нисходящее». Затем попробуйте еще раз.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

Исправление ошибки #Н/Д

Использование функций индекса и функции MATCH с несколькими условиями в Excel

ИНДЕКС

ПОИСКПОЗ

Полные сведения о формулах в Excel

Рекомендации, позволяющие избежать появления неработающих формул

Обнаружение ошибок в формулах

Все функции Excel (по алфавиту)

Функции Excel (по категориям)

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

 

arikov299

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

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

файл добавил. Вот формула: =ИНДЕКС(‘2′!A4:Z394;ПОИСКПОЗ(Лист1!B2;’2′!A:A;0);ПОИСКПОЗ(Лист1!B3;’2’!A4:AB220;0))

Изменено: arikov29923.11.2015 12:20:47

 

JayBhagavan

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

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

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

arikov299, смотрите на предмет лишних пробелов в искомых ячейках.

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

Vik_tor

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

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

Это место проверьте =ИНДЕКС(‘2′!A4:Z394;ПОИСКПОЗ(Лист1!B2;’2’!A:A;0);ПОИСКПОЗ(Лист1!B3;’2′!A4:AB220;0))  

Изменено: Vik_tor23.11.2015 12:01:03

 

арех

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

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

Кажется все забыли про сводные :)

 

vikttur

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

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

Диапазон ПОИСКПОЗ должен состоять из одной строки/столбца. Ошибка в диапазоне последней функции

 

justirus

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

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

Здравствуйте.
Похоже дело в диапазонах поиска:
1. ПОИСКПОЗ(Лист1!B2;’2′!A:A;0) — здесь вы ищите во всей колонке, найденная позиция будет равна номеру строки, а т.к. в функции ИНДЕКС, диапазон начинается с 4 строки, результат будет смещен на 4 строки;
2. ПОИСКПОЗ(Лист1!B3;’2′!A4:AB220;0)) — здесь сделайте поиск по 1-й строке, например так ПОИСКПОЗ(Лист1!B3;’2′!A4:AB4;0))

 

arikov299

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

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

Вот файл. Вы уверены что должен быть один столбец и одна строка?  разве он в диапазоне не ищет?

 

JayBhagavan

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

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

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

#8

23.11.2015 12:07:42

Цитата
arikov299 написал: Вы уверены что должен быть один столбец и одна строка?

Не верьте — проверьте. Читайте справку.

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

arikov299

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

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

justirus, вот так исправил: =ИНДЕКС(‘2′!A:Z394;ПОИСКПОЗ(Лист1!B2;’2′!26:26;0);ПОИСКПОЗ(Лист1!B3;’2’!A4:AB220;0))

не работает

 

justirus

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

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

#10

23.11.2015 12:11:42

Цитата
arikov299 написал:
не работает

Так попробуйте:

Код
=ИНДЕКС('2'!A:F;ПОИСКПОЗ(Лист1!B2;'2'!A:A;0);ПОИСКПОЗ(Лист1!B3;'2'!A1:F1;0))
 

justirus

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

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

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

UPD: Понял вашу задумку, каждое отделение будет на отдельном листе, а валюта будет новыми столбцами, листа 2?
Тогда формула усложнится))

Изменено: justirus23.11.2015 12:19:35

 

CAHO

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

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

#12

23.11.2015 12:14:48

Код
=ИНДЕКС('2'!A:F;ПОИСКПОЗ(Лист1!B$2;'2'!A:A;0);5)

Изменено: CAHO23.11.2015 12:15:38

Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.

 

arikov299

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

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

justirus,не работает. Можете сами попробовать я там файлик атачил.
CAHO, ненене. вопрос именно в посик поз по столбцам, формула будет написана лля многих листов, так как там столбци бегать будут это не сойдет

 

justirus

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

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

Странно, у меня есть результат:

 

vikttur

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

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

#15

23.11.2015 13:03:57

Цитата
ПОИСКПОЗ(Лист1!B3;’2′!A4:AB220;0))… не работает

Я Вам об этом писал…

 

arikov299

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

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

justirus,странные странности.

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

 

vikttur

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

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

#17

23.11.2015 15:17:07

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

Цитата
ПОИСКПОЗ выполняет поиск указанного элемента в диапазоне… и возвращает относительную позицию этого элемента в диапазоне

Как можно указать относительную позицию одним значением, если, например, искомое находится в 5 строке 2-го столбца?

 

ata

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

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

Добрый вечер! Разрешите вопрос сообществу:
на первом листе есть список с флажками варианта
ячейка А1=Морковь,     ячейка В1=Истина (флажок).
ячейка А2=Свекла,        ячейка В2=Ложь (флажок)
ячейка А3=Картофель, ячейка В3=Ложь (флажок)
ячейка А4=Помидор,    ячейка В4=Истина (флажок)

А также есть столбец С, где человек может указать приоритетность овощей, согласно нумерации 1,2, 3 и тд

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

 

Jack Famous

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

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

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

ata, здравствуйте
Создайте новую тему и приложите файл-пример к описанию

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

поможете решить детскую задачку ? :) Не пинайте, только учусь. Не пойму почему возвращается  «ссылка»

 

Mershik

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

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

александр Ишора, создайте свою тему  и там обязательно помогут

Не бойтесь совершенства. Вам его не достичь.

 

Jack Famous

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

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

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

#22

24.08.2021 16:25:47

Цитата
александр Ишора: поможете решить детскую задачку?

если задача детская, то что же вы САМИ её не сделали. Ума не хватило?
В чём «детскость» задачи? Я не помню, чтобы в садике или начальной школе что-то подобное решал …

Изменено: Jack Famous24.08.2021 16:26:57

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

Mershik, Простите, думал лучше не плодить темы, тем более это тоже относится к «не работает индекс ипоискпоз».

 

Jack Famous

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

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

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

Аргументы строки и столбца, вычисляемые ПОИСКПОЗ для ИНДЕКСа перепутаны местами

Mershik, приветствую!
Для подобного вопроса тема что надо, я думаю  ;)

Изменено: Jack Famous24.08.2021 17:14:24

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

александр Ишора

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

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

#25

24.08.2021 17:18:58

Цитата
Jack Famous написал:
ПОИСКПОЗ для ИНДЕКСа перепутаны местами

:) Вот где собака была.
Благодарю Вас! Урок Выучил!  

ПОИСКПОЗ не находит значение, хотя оно есть

КрасноглазыйПиркаф

Дата: Четверг, 23.04.2020, 06:57 |
Сообщение № 1

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

Ранг: Новичок

Сообщений: 43


Репутация:

0

±

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


Excel 2013

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

В зеленом столбце вводятся данные, а в желтом столбце по формуле

Код

ИНДЕКС(TDSheet!C:C;ПОИСКПОЗ(B12;TDSheet!B:B;0))

появляется результат.

Но работает эта формула только в том случае, если в зеленый столбец вводится текст, а не число.
А если вводится число — то эта формула выдает ошибку #Н/Д

Подскажите как поправить формулу, чтобы показывался результат а не ошибка (ведь в столбце с данными этим числам соответствуют конкретные значения) ?

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

0140341.xlsb
(271.0 Kb)

 

Ответить

bmv98rus

Дата: Четверг, 23.04.2020, 08:08 |
Сообщение № 2

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

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

Сообщений: 4009


Репутация:

760

±

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


Excel 2013/2016

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


Замечательный Временно просто медведь , процентов на 20.

 

Ответить

прохожий2019

Дата: Четверг, 23.04.2020, 08:20 |
Сообщение № 3

Группа: Проверенные

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

Сообщений: 1043


Репутация:

294

±

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


365 Beta Channel

если в зеленый столбец вводится текст, а не число

наоборот — у вас в источнике числа, а в зеленый столбец вы ввели текст, вот и не работает

 

Ответить

КрасноглазыйПиркаф

Дата: Четверг, 23.04.2020, 09:47 |
Сообщение № 4

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

Ранг: Новичок

Сообщений: 43


Репутация:

0

±

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


Excel 2013

наоборот — у вас в источнике числа, а в зеленый столбец вы ввели текст

Да вообще-то — нет.
У меня и там, и там текстовый формат — и все равно не работает.

 

Ответить

Pelena

Дата: Четверг, 23.04.2020, 09:52 |
Сообщение № 5

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

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

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

КрасноглазыйПиркаф, сформулируйте суть задачи в названии темы


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

 

Ответить

КрасноглазыйПиркаф

Дата: Четверг, 23.04.2020, 10:02 |
Сообщение № 6

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

Ранг: Новичок

Сообщений: 43


Репутация:

0

±

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


Excel 2013

Pelena, так название темы — это всего пять слов.
Больше не дают написать.

Я уж в первом сообщении — описал проблему детально как мог.

 

Ответить

Pelena

Дата: Четверг, 23.04.2020, 10:24 |
Сообщение № 7

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

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

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Название изменила.
По теме:
Либо изменить формулу, например, так

Код

=ИНДЕКС(TDSheet!C:C;ПОИСКПОЗ(ЕСЛИОШИБКА(—B8;B8);TDSheet!B:B;0))

либо на листе TDSheet столбец В сделать текстовым. Для этого выделить столбец — Данные — Текст по столбцам — Далее — Далее — переключатель Текстовый — Готово


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

 

Ответить

КрасноглазыйПиркаф

Дата: Четверг, 23.04.2020, 10:34 |
Сообщение № 8

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

Ранг: Новичок

Сообщений: 43


Репутация:

0

±

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


Excel 2013

Pelena, спасибо.

 

Ответить

bmv98rus

Дата: Четверг, 23.04.2020, 10:44 |
Сообщение № 9

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

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

Сообщений: 4009


Репутация:

760

±

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


Excel 2013/2016


C этим надо осторожно, это не касается данных из примера это темы. Например и там и там «1 Май 2020» . IFERROR(—B8,B8) вернет дату и она благополучно не будет найдена среди текста. тут нужно комбинировать, число среди данных и если не нашлось, то снова искать но текст и даже числа тогда надо превращать в текст.


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rusЧетверг, 23.04.2020, 10:55

 

Ответить

Pelena

Дата: Четверг, 23.04.2020, 10:46 |
Сообщение № 10

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

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

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

В таблице Инв. номера, даты вряд ли будут


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

 

Ответить

bmv98rus

Дата: Четверг, 23.04.2020, 10:53 |
Сообщение № 11

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

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

Сообщений: 4009


Репутация:

760

±

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


Excel 2013/2016

Лен, яж написал

это не касается данных из примера это темы


Замечательный Временно просто медведь , процентов на 20.

 

Ответить

Pelena

Дата: Четверг, 23.04.2020, 10:56 |
Сообщение № 12

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

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

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Ну, не читатель)


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

 

Ответить

kasianjob

Дата: Вторник, 08.02.2022, 21:21 |
Сообщение № 13

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

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

Сообщений: 3


Репутация:

0

±

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


У меня похожая проблема в похожей ситуации. В некоторых ячейках на Лист1 в столбце 3 появляется #Н/Д Но проблема не решилась приведенными тут методами. Менял и на числа и на текст и через формат ячеек и через «Данные — Текст по столбцам — Далее — Далее — переключатель Текстовый — Готово» и копировал из другой книги в каждую из ячеек артикул. И ручками вводил артикул и туда и туда. Ничего из перечисленного не помогло. В чем может быть причина?

Подскажите, в чем проблема?
Файлик прилагаю.

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

__1.xls
(289.5 Kb)

 

Ответить

Pelena

Дата: Вторник, 08.02.2022, 21:56 |
Сообщение № 14

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

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

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

kasianjob, у Вас диапазон в формуле не захватывает все ячейки на листе TDSheet. Увеличьте до 2000 хотя бы, а можно и с запасом, но без фанатизма :)


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

 

Ответить

kasianjob

Дата: Вторник, 08.02.2022, 22:00 |
Сообщение № 15

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

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

Сообщений: 3


Репутация:

0

±

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


Pelena, Спасибо! Вопрос решен.

 

Ответить

Студворк — интернет-сервис помощи студентам

Здравствуйте уважаемые! У меня приключилась такая беда, мне надо сравнить 2 столбца, в 1-ом (столбец А) то что надо найти, во 2-м (столбец Б) область поиска, в 3-ем (столбец С) вывести результат, казалось бы простейшая задача, но не тут то было. Функции не правильно воспринимают значения и в столбце поиска и в столбце искомого. Никак не могу понять в чем тут дело. В строке формул проверяю значения как близнецы, без пробелов и даже такого же формата, но функция не воспринимает их как одинаковые. Помогает только копирование ячейки, но проблема что таких значений много и все замучаешься копировать, помогите пожалуйста разобраться в чем дело. (Пример прикреплен)

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 для быстрого поиска в массиве данных. Надеемся, что примеры, рассмотренные в этом руководстве, окажутся полезными в вашей работе. 

Понравилась статья? Поделить с друзьями:
  • Почему не работает поиск решения в excel
  • Почему не работает переносить по словам в excel
  • Почему не работает перенос текста в excel
  • Почему не работает относительная ссылка в excel
  • Почему не работает массив в excel