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