Функция ПОИСКПОЗ в Excel - поиск позиции значения в списке

Скачать пример рабочей книги

Загрузите образец книги

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

Обзор функции MATCH

Функция MATCH ищет элемент в списке и возвращает число, представляющее его позицию в списке.

(Обратите внимание, как появляется ввод формулы)

Синтаксис и аргумент функции соответствия

1 = ПОИСКПОЗ (искомое_значение, искомое_массив, совпадение_типа)

lookup_value - Значение, которое вы хотите найти.

lookup_array - Массив данных шириной в один столбец или высотой в одну строку, в котором вы хотите выполнить поиск.

match_type - 0, -1 или 1 указывает, что делать, если точное совпадение не найдено. 0 возвращает ошибку. -1 возвращает ближайшее совпадение, которое больше, чем lookup_value. 1 возвращает ближайшее совпадение, которое меньше lookup_value.

Что такое функция ПОИСКПОЗ?

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

Точное совпадение

Вы часто будете сталкиваться с большими списками данных, и вам нужно иметь возможность искать определенный элемент. Мы возьмем небольшой пример с фруктами. Сначала поищем точное совпадение. Вот схема наших данных. Мы хотим найти слово в ячейке D1.

В D2 наша формула:

1 = ПОИСКПОЗ (D1; A2: A5; 0)

Обратите внимание, что нам нужно было указать либо 0, либо False в качестве последнего аргумента, чтобы указать, что мы хотим точный соответствие. Результатом этой функции будет 2, потому что «Яблоко» - это 2nd товар в нашем ассортименте.

Отсортированный список

Давайте посмотрим, как функция ПОИСКПОЗ работает с неточным соответствием. Здесь у нас есть список предметов. ПРИМЕЧАНИЕ. Элементы отсортированы в порядке возрастания.

В D1 мы сказали, что хотим найти слово «Апельсин». Формула в D2:

1 = ПОИСКПОЗ (D1; A2: A5; 1)

Наша формула дает результат 2, хотя «Апельсиновый сок» входит в тройкуrd клетка. Поскольку мы искали наиболее близкое совпадение, функция найдет либо наше точное слово, либо или следующий наименьший элемент. В случае текстовых строк это слово находится непосредственно перед словом «апельсиновый сок», поэтому мы получили результат 2.

Эту способность находить следующий наименьший может быть легче понять с помощью числового поиска. Рассмотрим этот макет, где мы перечислили элементы только по 10. Если мы найдем значение 34, используя нашу формулу, вы увидите, что результат - 3.

1 = ПОИСКПОЗ (D1; A2: A5; 1)

Это может хорошо работать, когда вы имеете дело с «корзинами», и вы просто хотите узнать, к какой группе принадлежит значение.

Список по убыванию

В нашем предыдущем примере, что, если вы хотите, чтобы значение 34 было помещено в большую группу? В следующем примере предположим, что у нас есть список транспортных контейнеров разного размера, и нам нужно знать, какой из них использовать. Поскольку нам нужно убедиться, что у нас достаточно места или больше, мы воспользуемся функцией ПОИСКПОЗ с последним аргументом, равным -1. Давайте посмотрим на этот пример:

В этом случае нам нужно выяснить, какой контейнер будет соответствовать нашему размеру 495. Формула в D2:

1 = ПОИСКПОЗ (D1; A1: A5; -1)

Результатом этой формулы будет 2, что означает, что нам нужно использовать 2nd элемент из списка (500) в соответствии с нашими потребностями.

Соответствие подстановочным знакам

Функция ПОИСКПОЗ также поддерживает использование подстановочных знаков, таких как «*» и «?». Вернемся к нашему списку различных блюд. В данном случае мы изменили поисковый запрос в D1 на «Оранжевый *».

Наша формула в D2:

1 = ПОИСКПОЗ (D1; A1: A5; 0)

Обратите внимание, что нам нужно снова переключить тип MATCH на точный соответствие. Несмотря на то, что элементы перепутаны, и нашему поисковому запросу не удалось найти полное текстовое совпадение, наша формула смогла дать правильный результат - 3.

Использование MATCH с INDEX

Возвращать относительное положение элемента - это хорошо, но обычно это не так полезно для пользователей. Обычно мы хотим знать соответствующее значение для элемента. Здесь на сцену выходит INDEX. Поскольку ИНДЕКСу требуется числовая позиция для строки и / или столбца, мы можем использовать функцию ПОИСКПОЗ, чтобы сообщить ИНДЕКС, какой элемент мы хотим. Рассмотрим следующий макет, в котором нам нужно иметь возможность искать цены на наши товары.

Мы ищем «Apple». В E2 наша формула

1 = ИНДЕКС (A2: A5; ПОИСКПОЗ (E1; B2: B5; 0))

Функция ПОИСКПОЗ будет искать B2: B5 по нашей точной фразе «Apple». Он найдет это в 2nd и верните значение 2. Затем ИНДЕКС принимает это значение и дает нам 2nd значение из диапазона A2: A5. 2nd элемент находится в ячейке A3, $ 2,00. Подробнее это обсуждается в

Совпадение в Google Таблицах

Функция ПОИСКПОЗ в Google Таблицах работает точно так же, как и в Excel:
<

Дополнительные замечания

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

Функция ПОИСКПОЗ наиболее часто используется с функцией ИНДЕКС.

Примеры MATCH в VBA

Вы также можете использовать функцию ПОИСКПОЗ в VBA. Тип:

1 application.worksheetfunction.match (lookup_value, lookup_array, match_type)

Для аргументов функции (lookup_value и т. Д.) Вы можете либо ввести их непосредственно в функцию, либо определить переменные для использования вместо них.

Предполагая, что у нас есть следующие значения в нашем листе Excel

выполнение следующего кода

123 Dim Match_Value как вариантMatch_Value = Application.WorksheetFunction.Match ("test1", Range ("A4: A13"), 1)MsgBox («Соответствие найдено в строке» & Max_Value)

Вернет следующее

1 Совпадение найдено в строке 9

потому что строка «test1» является девятым элементом в диапазоне значений для поиска.

Мы также можем искать содержимое на нашем листе вместо прямого ввода значений в код VBA: следующий оператор будет искать в столбце A любое значение, введенное в ячейку C3.

1 Match_Value = Application.Match (Ячейки (3, 3). Значение, Столбцы (1), 0)

Вернуться к списку всех функций в Excel

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave