ПОИСКПОЗ
Функция ПОИСКПОЗ ищет значение в одномерном диапазоне и возвращает его позицию в строке или столбце.
Эта функция возвращает индекс элемента (номер позиции, которую занимает элемент в массиве), а не сам элемент.
Функция ПОИСКПОЗ может быть полезна для определения точного местоположения нужного элемента в диапазоне, что позволяет создавать динамические и гибкие формулы, автоматически подстраивающиеся под изменение данных.
Синтаксис
ПОИСКПОЗ(искомое_значение; диапазон; [метод_поиска])
| Аргумент | Описание | Допустимые значения |
|---|---|---|
| искомое_значение | Элемент, который необходимо найти в заданном диапазоне | Может быть числом, текстом или логическим значением |
| диапазон | Диапазон (одномерный массив: горизонтальный или вертикальный), в котором осуществляется поиск элемента | Массив или диапазон ячеек (например, A1:A10) |
| [метод_поиска] | (необязательный) Тип поиска, используемый для поиска числа в заданном диапазоне. По умолчанию 1 | 1, 0, -1 |
Методы поиска
- 1 — определяет наибольшее значение, которое не превышает заданное значение аргумента искомое_значение. При этом диапазон должен быть отсортирован в порядке возрастания: ..., -2, -1, 0, 1, 2, ..., A - Z, ЛОЖЬ, ИСТИНА.
- 0 — функция определяет первое значение, которое соответствует заданному аргументу искомое_значение. Диапазон может быть не упорядочен.
- -1 — определяет наименьшее значение, которое больше или равно заданному аргументу искомое_значение. При этом массив, который мы рассматриваем, должен быть отсортирован в порядке убывания: ИСТИНА, ЛОЖЬ, Z - A, ..., 2, 1, 0, -1, -2.
Примеры использования
Поиск значения в диапазоне
Если в диапазоне A1:A5 находятся значения [10, 20, 30, 40, 50], и вы хотите найти позицию числа 30:
=ПОИСКПОЗ(30; A1:A5; 0)
Выражение вернет 3, так как 30 находится на третьей позиции в диапазоне.
Поиск значения с типом сравнения
Если вы хотите найти позицию числа 25 в том же диапазоне с использованием типа сравнения 1 (поиск наименьшего значения, которое больше или равно):
=ПОИСКПОЗ(25; A1:A5; 1)
Выражение вернет 3, так как 30 — это наименьшее значение, которое больше 25, и оно находится на третьей позиции.
Поиск, когда искомое_значение отсутствует в диапазоне
Если вы ищете значение, которое не содержится в массиве, например, 60:
=ПОИСКПОЗ(60; A1:A5; 0)
Выражение вернет ошибку #Н/Д, так как 60 не найдено в диапазоне.
Примечания
- Функция ПОИСКПОЗ чувствительна к типу данных, поэтому текст и числа считаются разными значениями.
- Если массив не отсортирован, и вы используете метод_поиска равный 1, функция может вернуть неверный результат.
- Функция ПОИСКПОЗ не учитывает регистр букв при сопоставлении текста. Значения "Текст" и "текст" считаются равными.
- Если метод_поиска равен 0 и искомое_значение является текстом, то искомое_значение может содержать подстановочные знаки: «*» и «?».