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

Совет

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

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

Совет

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

Синтаксис

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

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

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

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

  • lookup_array Обязательно. Диапазон ячеек, в которых производится поиск.

  • match_type Дополнительные. Число -1, 0 или 1. Аргумент match_type указывает, как Excel сопоставляет lookup_value со значениями в lookup_array. По умолчанию в качестве этого аргумента используется значение 1.

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

Тип_сопоставления Поведение
1 или опущен ФУНКЦИЯ MATCH находит наибольшее значение, которое меньше или равно lookup_value. Значения в аргументе lookup_array должны быть помещены в порядке возрастания, например: ...-2, -1, 0, 1, 2, ..., A–Z, FALSE, TRUE.
0 MATCH находит первое значение, которое точно равно lookup_value. Значения в аргументе lookup_array могут быть в любом порядке.
-1 ФУНКЦИЯ MATCH находит наименьшее значение, больше илиравное lookup_value. Значения в аргументе lookup_array должны быть помещены в порядке убывания, например: TRUE, FALSE, Z-A, ... 2, 1, 0, -1, -2, ..., и т. д.
  • ФУНКЦИЯ MATCH возвращает позицию соответствующего значения в lookup_array, а не само значение. Например, функция MATCH("b",{"a","b","c"},0) возвращает значение 2, которое является относительным положением "b" в массиве {"a", "b","c"}.
  • Функция ПОИСКПОЗ не различает регистры при сопоставлении текста.
  • Если функция ПОИСКПОЗ не находит соответствующего значения, возвращается значение ошибки #Н/Д.
  • Если match_type равно 0, а lookup_value — текстовая строка, в аргументе lookup_value можно использовать подстановочные знаки — вопросительный знак (?) и звездочку (*). Звездочка соответствует любой последовательности знаков, вопросительный знак — любому одиночному знаку. Если вы хотите найти фактический вопросительный знак или звездочку, введите тильду (~) перед символом.

Пример

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку 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 упорядочен не по убыванию. #Н/Д