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

Применяется к
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel 2024 Excel 2024 для Mac Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2016

Совет

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