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

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

Совет

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

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

Совет

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

Синтаксис

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

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

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

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

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

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

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

Тип_сопоставления Поведение
1 или опущен Функция ПОИСКПОЗ находит наибольшее значение, которое меньше или равно lookup_value. Значения в аргументе lookup_array должны быть расположены в возрастающем порядке, например: ...-2, -1, 0, 1, 2, ..., A-Z, ЛОЖЬ, ИСТИНА.
0 Функция ПОИСКПОЗ находит первое значение, равное lookup_value. Аргумент lookup_array имеет произвольный порядок.
-1 Функция ПОИСКПОЗ находит наименьшее значение, которое больше или равноlookup_value. Значения в аргументе lookup_array должны быть расположены в порядке убывания, например: ИСТИНА, ЛОЖЬ, Я-ЗА, ... 2, 1, 0, -1, -2, ..., и т. д.
  • Функция ПОИСКПОЗ возвращает не само значение, а его позицию в lookup_array. Например, функция ПОИСКПОЗ("б";{"а";"б";"в"};0) возвращает 2 — относительную позицию буквы "б" в массиве {"а";"б";"в"}.
  • Функция ПОИСКПОЗ не различает регистры при сопоставлении текста.
  • Если функция ПОИСКПОЗ не находит соответствующего значения, возвращается значение ошибки #Н/Д.
  • Если 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 упорядочен не по убыванию. #Н/Д