Загрузите образец книги
Это руководство по 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