Match в excel примеры

На чтение 2 мин

Функция ПОИСКПОЗ в Excel используют для поиска точной позиции искомого значения в списке или массиве данных.

Содержание

  1. Что возвращает функция
  2. Синтаксис
  3. Аргументы функции
  4. Дополнительная информация
  5. Примеры использования функции ПОИСКПОЗ в Excel

Что возвращает функция

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

Telegram Logo Больше лайфхаков в нашем Telegram Подписаться

Синтаксис

=MATCH(lookup_value, lookup_array, [match_type]) — английская версия

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

Аргументы функции

  • lookup_value (искомое_значение) — значение, с которым вы хотите сопоставить данные из массива или списка данных;
  • lookup_array (просматриваемый_массив) — диапазон ячеек в котором вы осуществляете поиск искомых данных;
  • [match_type] ([тип_сопоставления]) — (не обязательно) — этот аргумент определяет каким образом, будет осуществлен поиск. Допустимые значения для аргумента: «-1», «0», «1» (подробней читайте ниже).

Дополнительная информация

  • Чаще всего функция MATCH используется в сочетании с функцией INDEX (ИНДЕКС);
  • Подстановочные знаки могут использоваться в аргументах функции в тех случаях, когда значение поиска — текстовая строка;
  • При использовании функции ПОИСКПОЗ регистр букв не учитывается;
  • Функция возвращает #N/A ошибку, если искомое значение не найдено;
  • Аргумент match_type (тип_сопоставления) определяет каким образом, будет осуществлен поиск:
    — Если аргумент match_type (тип_сопоставления) = 0, то это критерий точного соответствия. Он возвращает первую точную позицию соответствия (или ошибку, если совпадения нет);
    — Если аргумент match_type (тип_сопоставления) = 1 (по умолчанию), то в таком случае данные должны быть отсортированы в порядке возрастания для этой опции. Функция возвращает наибольшее значение, равное или меньшее значения поиска.
    — Если аргумент match_type (тип_сопоставления) = -1, то в таком случае данные должны быть отсортированы в порядке убывания для этой опции. Функция возвращает наименьшее и наибольшее значения поиска.

Примеры использования функции ПОИСКПОЗ в Excel

Функция MATCH (ПОИСКПОЗ) в Excel

What to Know

  • The INDEX function can be used alone, but nesting the MATCH function inside it creates an advanced lookup.
  • This nested function is more flexible than VLOOKUP and can yield results faster.

This article explains how to use the INDEX and MATCH functions together in all versions of Excel, including Excel 2019 and Microsoft 365.

What Are the INDEX and MATCH Functions?

INDEX and MATCH are Excel lookup functions. While they are two entirely separate functions that can be used on their own, they can also be combined to create advanced formulas.

The INDEX function returns a value or the reference to a value from within a particular selection. For example, it could be used to find the value in the second row of a data set, or in the fifth row and third column.

While INDEX could very well be used alone, nesting MATCH in the formula makes it a bit more useful. The MATCH function searches for a specified item in a range of cells and then returns the relative position of the item in the range. For example, it could be used to determine that a specific name is the third item in a list of names.

INDEX and MATCH Syntax & Arguments

This is how both functions need to be written in order for Excel to understand them:

=INDEX(array, row_num, [column_num])

  • array is the range of cells that the formula will be using. It can be one or more rows and columns, such as A1:D5. It’s required.
  • row_num is the row in the array from which to return a value, such as 2 or 18. It’s required unless column_num is present.
  • column_num is the column in the array from which to return a value, such as 1 or 9. It’s optional.

=MATCH(lookup_value, lookup_array, [match_type])

  • lookup_value is the value you want to match in lookup_array. It can be a number, text, or logical value that’s typed manually or referred to via a cell reference. This is required.
  • lookup_array is the range of cells to look through. It can be a single row or a single column, such as A2:D2 or G1:G45. This is required.
  • match_type can be -1, 0, or 1. It specifies how lookup_value is matched with values in lookup_array (see below). 1 is the default value if this argument is omitted.
Which Match Type to Use
Match Type What It Does Rule Example
1 Finds the largest value that’s less than or equal to lookup_value The lookup_array values must be placed in ascending order (e.g., -2, -1, 0, 1, 2; or A-Z;, or FALSE, TRUE. lookup_value is 25 but it’s missing from lookup_array, so the position of the next smallest number, like 22, is returned instead.
0 Finds the first value that’s exactly equal to lookup_value The lookup_array values can be in any order. lookup_value is 25, so it returns the position of 25.
-1 Finds the smallest value that’s greater or equal to lookup_value. The lookup_array values must be placed in descending order (e.g., 2, 1, 0, -1, -2). lookup_value is 25 but it’s missing from lookup_array, so the position of the next largest number, like 34, is returned instead.

Use 1 or -1 for times when you need to run an approximate lookup along a scale, like when dealing with numbers and when approximations are okay. But remember that if you don’t specify match_type, 1 will be the default, which can skew the results if you’re really wanting an exact match.

Example INDEX and MATCH Formulas

Before we look at how to combine INDEX and MATCH into one formula, we need to understand how these functions work on their own.

INDEX Examples

=INDEX(A1:B2,2,2)
=INDEX(A1:B1,1)
=INDEX(2:2,1)
=INDEX(B1:B2,1)

In this first example, there are four INDEX formulas we can use to get different values:

  • =INDEX(A1:B2,2,2) looks through A1:B2 to find the value in the second column and second row, which is Stacy.
  • =INDEX(A1:B1,1) looks through A1:B1 to find the value in the first column, which is Jon.
  • =INDEX(2:2,1) looks through everything in the second row to locate the value in the first column, which is Tim.
  • =INDEX(B1:B2,1) looks through B1:B2 to locate the value in the first row, which is Amy.

MATCH Examples

=MATCH("Stacy",A2:D2,0)
=MATCH(14,D1:D2)
=MATCH(14,D1:D2,-1)
=MATCH(13,A1:D1,0)

Here are four easy examples of the MATCH function:

  • =MATCH(«Stacy»,A2:D2,0) is searching for Stacy in the range A2:D2 and returns 3 as the result.
  • =MATCH(14,D1:D2) is searching for 14 in the range D1:D2, but since it’s not found in the table, MATCH finds the next largest value that’s less than or equal to 14, which in this case is 13, which is in position 1 of lookup_array.
  • =MATCH(14,D1:D2,-1) is identical to the formula above it, but since the array isn’t in descending order like -1 requires, we get an error.
  • =MATCH(13,A1:D1,0) is looking for 13 in the first row of the sheet, which returns 4 since it’s the fourth item in this array.

INDEX-MATCH Examples

Here are two examples where we can combine INDEX and MATCH in one formula:

Find Cell Reference in Table

=INDEX(B2:B5,MATCH(F1,A2:A5))

This example is nesting the MATCH formula within the INDEX formula. The goal is to identify the item color using the item number.

If you look at the image, you can see in the «Separated» rows how the formulas would be written on their own, but since we’re nesting them, this is what’s happening:

  • MATCH(F1,A2:A5) is looking for the F1 value (8795) in the data set A2:A5. If we count down the column, we can see it’s 2, so that’s what the MATCH function just figured out.
  • The INDEX array is B2:B5 since we’re ultimately looking for the value in that column.
  • The INDEX function could now be rewritten like this since 2 is what MATCH found: INDEX(B2:B5, 2, [column_num]).
  • Since column_num is optional, we can remove that to be left with this: INDEX(B2:B5,2).
  • So now, this is like a normal INDEX formula where we’re finding the value of the second item in B2:B5, which is red.

Lookup By Row and Column Headings

=INDEX(B2:E13,MATCH(G1,A2:A13,0),MATCH(G2,B1:E1,0))

In this example of MATCH and INDEX, we’re doing a two-way lookup. The idea is to see how much money we made off of Green items in May. This is really similar to the example above, but an extra MATCH formula is nested in INDEX.

  • MATCH(G1,A2:A13,0) is the first item solved in this formula. It’s looking for G1 (the word «May») in A2:A13 to get a particular value. We don’t see it here, but it’s 5.
  • MATCH(G2,B1:E1,0) is the second MATCH formula, and it’s really similar to the first but is instead looking for G2 (the word «Green») in the column headings at B1:E1. This one resolves to 3.
  • We can now rewrite the INDEX formula like this to visualize what’s happening: =INDEX(B2:E13,5,3). This is looking in the whole table, B2:E13, for the fifth row and third column, which returns $180.

MATCH and INDEX Rules

There are several things to keep in mind when writing formulas with these functions:

  • MATCH isn’t case sensitive, so uppercase and lowercase letters are treated the same when matching text values.
  • MATCH returns #N/A for multiple reasons: if match_type is 0 and lookup_value isn’t found if match_type is -1 and lookup_array isn’t in descending order, if match_type is 1 and lookup_array isn’t in ascending order, and if lookup_array isn’t a single row or column.
  • You can use a wildcard character in the lookup_value argument if match_type is 0 and lookup_value is a text string. A question mark matches any single character and an asterisk matches any sequence of characters (e.g., =MATCH(«Jo*»,1:1,0)). To use MATCH to find an actual question mark or asterisk, type ~ first.
  • INDEX returns #REF! if row_num and column_num don’t point to a cell within the array.

Related Excel Functions

The MATCH function is similar to LOOKUP, but MATCH returns the position of the item instead of the item itself.

VLOOKUP is another lookup function you can use in Excel, but unlike MATCH which requires INDEX for advanced lookups, VLOOKUP formulas only need that one function.

Thanks for letting us know!

Get the Latest Tech News Delivered Every Day

Subscribe

MATCH function

Tip: Try using the new XMATCH function, an improved version of MATCH that works in any direction and returns exact matches by default, making it easier and more convenient to use than its predecessor.

The MATCH function searches for a specified item in a range of cells, and then returns the relative position of that item in the range. For example, if the range A1:A3 contains the values 5, 25, and 38, then the formula =MATCH(25,A1:A3,0) returns the number 2, because 25 is the second item in the range.

Your browser does not support video. Install Microsoft Silverlight, Adobe Flash Player, or Internet Explorer 9.

Tip: Use MATCH instead of one of the LOOKUP functions when you need the position of an item in a range instead of the item itself. For example, you might use the MATCH function to provide a value for the row_num argument of the INDEX function.

Syntax

MATCH(lookup_value, lookup_array, [match_type])

The MATCH function syntax has the following arguments:

  • lookup_value    Required. The value that you want to match in lookup_array. For example, when you look up someone’s number in a telephone book, you are using the person’s name as the lookup value, but the telephone number is the value you want.

    The lookup_value argument can be a value (number, text, or logical value) or a cell reference to a number, text, or logical value.

  • lookup_array    Required. The range of cells being searched.

  • match_type    Optional. The number -1, 0, or 1. The match_type argument specifies how Excel matches lookup_value with values in lookup_array. The default value for this argument is 1.

    The following table describes how the function finds values based on the setting of the match_type argument.

Match_type

Behavior

1 or omitted

MATCH finds the largest value that is less than or equal to lookup_value. The values in the lookup_array argument must be placed in ascending order, for example: …-2, -1, 0, 1, 2, …, A-Z, FALSE, TRUE.

0

MATCH finds the first value that is exactly equal to lookup_value. The values in the lookup_array argument can be in any order.

-1

MATCH finds the smallest value that is greater than or equal tolookup_value. The values in the lookup_array argument must be placed in descending order, for example: TRUE, FALSE, Z-A, …2, 1, 0, -1, -2, …, and so on.

  • MATCH returns the position of the matched value within lookup_array, not the value itself. For example, MATCH(«b»,{«a»,»b»,»c«},0) returns 2, which is the relative position of «b» within the array {«a»,»b»,»c»}.

  • MATCH does not distinguish between uppercase and lowercase letters when matching text values.

  • If MATCH is unsuccessful in finding a match, it returns the #N/A error value.

  • If match_type is 0 and lookup_value is a text string, you can use the wildcard characters — the question mark (?) and asterisk (*) — in the lookup_value argument. A question mark matches any single character; an asterisk matches any sequence of characters. If you want to find an actual question mark or asterisk, type a tilde (~) before the character.

Example

Copy the example data in the following table, and paste it in cell A1 of a new Excel worksheet. For formulas to show results, select them, press F2, and then press Enter. If you need to, you can adjust the column widths to see all the data.

Product

Count

Bananas

25

Oranges

38

Apples

40

Pears

41

Formula

Description

Result

=MATCH(39,B2:B5,1)

Because there is not an exact match, the position of the next lowest value (38) in the range B2:B5 is returned.

2

=MATCH(41,B2:B5,0)

The position of the value 41 in the range B2:B5.

4

=MATCH(40,B2:B5,-1)

Returns an error because the values in the range B2:B5 are not in descending order.

#N/A

Need more help?

Want more options?

Explore subscription benefits, browse training courses, learn how to secure your device, and more.

Communities help you ask and answer questions, give feedback, and hear from experts with rich knowledge.

Вчера в марафоне 30 функций Excel за 30 дней мы находили текстовые строки при помощи функции SEARCH (ПОИСК), а также использовали IFERROR (ЕСЛИОШИБКА) и ISNUMBER (ЕЧИСЛО) в ситуациях, когда функция выдаёт ошибку.

В 19-й день нашего марафона мы займёмся изучением функции MATCH (ПОИСКПОЗ). Она ищет значение в массиве и, если значение найдено, возвращает его позицию.

Итак, давайте обратимся к справочной информации по функции MATCH (ПОИСКПОЗ) и разберем несколько примеров. Если у Вас есть собственные примеры или подходы по работе с этой функцией, пожалуйста, делитесь ими в комментариях.

Содержание

  1. Функция 19: MATCH (ПОИСКПОЗ)
  2. Как можно использовать функцию MATCH (ПОИСКПОЗ)?
  3. Синтаксис MATCH (ПОИСКПОЗ)
  4. Ловушки MATCH (ПОИСКПОЗ)
  5. Пример 1: Находим элемент в несортированном списке
  6. Пример 2: Изменяем оценки учащихся c процентов на буквы
  7. Пример 3: Создаем гибкий выбор столбца для VLOOKUP (ВПР)
  8. Пример 4: Находим ближайшее значение при помощи INDEX (ИНДЕКС)

Функция 19: MATCH (ПОИСКПОЗ)

Функция MATCH (ПОИСКПОЗ) возвращает позицию значения в массиве или ошибку #N/A (#Н/Д), если оно не найдено. Массив может быть, как сортированный, так и не сортированный. Функция MATCH (ПОИСКПОЗ) не чувствительна к регистру.

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

Как можно использовать функцию MATCH (ПОИСКПОЗ)?

Функция MATCH (ПОИСКПОЗ) возвращает позицию элемента в массиве, и этот результат может быть использован другими функциями, такими как INDEX (ИНДЕКС) или VLOOKUP (ВПР). Например:

  • Найти положение элемента в несортированном списке.
  • Использовать вместе с CHOOSE (ВЫБОР), чтобы перевести успеваемость учащихся в буквенную систему оценок.
  • Использовать вместе с VLOOKUP (ВПР) для гибкого выбора столбца.
  • Использовать вместе с INDEX (ИНДЕКС), чтобы найти ближайшее значение.

Синтаксис MATCH (ПОИСКПОЗ)

Функция MATCH (ПОИСКПОЗ) имеет следующий синтаксис:

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

  • lookup_value (искомое_значение) – может быть текстом, числом или логическим значением.
  • lookup_array (просматриваемый_массив) – массив или ссылка на массив (смежные ячейки в одном столбце или в одной строке).
  • match_type (тип_сопоставления) – может принимать три значения: -1, 0 или 1. Если аргумент пропущен, это равносильно 1.

Ловушки MATCH (ПОИСКПОЗ)

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

Пример 1: Находим элемент в несортированном списке

Для несортированного списка можно использовать 0 в качестве значения аргумента match_type (тип_сопоставления), чтобы выполнить поиск точного совпадения. Если требуется найти точное совпадение текстовой строки, то в искомом значении допускается использовать символы подстановки.

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

=MATCH(D2,B3:B7,0)
=ПОИСКПОЗ(D2;B3:B7;0)

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

В качестве аргумента lookup_array (просматриваемый_массив) можно использовать массив констант. В следующем примере искомый месяц введен в ячейку D5, а названия месяцев подставлены в качестве второго аргумента функции MATCH (ПОИСКПОЗ) в виде массива констант. Если в ячейке D5 ввести более поздний месяц, например, Oct (октябрь), то результатом функции будет #N/A (#Н/Д).

=MATCH(D5,{"Jan","Feb","Mar"},0)
=ПОИСКПОЗ(D5;{"Jan";"Feb";"Mar"};0)

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

Пример 2: Изменяем оценки учащихся c процентов на буквы

Вы можете преобразовать оценки учащихся в буквенную систему, используя функцию MATCH (ПОИСКПОЗ) так же, как Вы делали это с VLOOKUP (ВПР). В этом примере функция использована в сочетании с CHOOSE (ВЫБОР), которая и возвращает нужную нам оценку. Аргумент match_type (тип_сопоставления) принимаем равным -1, поскольку баллы в таблице отсортированы в порядке убывания.

Когда аргумент match_type (тип_сопоставления) равен -1, результатом будет наименьшее значение, которое больше искомого или эквивалентное ему. В нашем примере искомое значение равно 54. Поскольку такого значения нет в списке баллов, то возвращается элемент, соответствующий значению 60. Так как 60 стоит на четвёртом месте списка, то результатом функции CHOOSE (ВЫБОР) будет значение, которое находится на 4-й позиции, т.е. ячейка C6, в которой находится оценка D.

=CHOOSE(MATCH(B9,B3:B7,-1),C3,C4,C5,C6,C7)
=ВЫБОР(ПОИСКПОЗ(B9;B3:B7;-1);C3;C4;C5;C6;C7)

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

Пример 3: Создаем гибкий выбор столбца для VLOOKUP (ВПР)

Чтобы придать больше гибкости функции VLOOKUP (ВПР), Вы можете использовать MATCH (ПОИСКПОЗ) для поиска номера столбца, а не жестко вписывать его значение в функцию. В следующем примере пользователи могут выбрать регион в ячейке H1, это искомое значение для VLOOKUP (ВПР). Далее, они могут выбрать месяц в ячейке H2, и функция MATCH (ПОИСКПОЗ) возвратит номер столбца, соответствующий этому месяцу.

=VLOOKUP(H1,$B$2:$E$5,MATCH(H2,B1:E1,0),FALSE)
=ВПР(H1;$B$2:$E$5;ПОИСКПОЗ(H2;B1:E1;0);ЛОЖЬ)

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

Пример 4: Находим ближайшее значение при помощи INDEX (ИНДЕКС)

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

  1. Функция ABS возвращает модуль разницы между каждым угаданным и правильным числами.
  2. Функция MIN (МИН) находит наименьшую из разниц.
  3. Функция MATCH (ПОИСКПОЗ) находит адрес наименьшей разницы в списке разниц. Если в списке есть несколько совпадающих значений, то возвращено будет первое.
  4. Функция INDEX (ИНДЕКС) возвращает имя, соответствующее этой позиции, из списка имен.

=INDEX(B2:B5,MATCH(MIN(ABS(C2:C5-F1)),ABS(C2:C5-F1),0))
=ИНДЕКС(B2:B5;ПОИСКПОЗ(МИН(ABS(C2:C5-F1));ABS(C2:C5-F1);0))

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

Оцените качество статьи. Нам важно ваше мнение:

Основное назначение этой функции в том, чтобы искать позицию заданного элемента в наборе значений. Чаще всего она применяется для поиска порядкового номера ячейки в диапазоне, где лежит нужное нам значение.

Синтаксис этой функции следующий:

=ПОИСКПОЗ(Что_ищем; Где_ищем; Режим_поиска)

где

  • Что_ищем — это значение, которое надо найти
  • Где_ищем — это одномерный диапазон или массив (строка или столбец), где производится поиск
  • Режим_поиска — как мы ищем: точно (0), с округлением в большую строну (-1) или в меньшую сторону (1)

Давайте рассмотрим несколько полезных вариантов ее применения на практике.

Точный поиск

Классический сценарий — поиск точного текстового совпадения для нахождения позиции нужного нам текста или числа в списке:

ПОИСКПОЗ в Excel

Поиск первой или последней текстовой ячейки

Если в качестве искомого значения задать звездочку, то функция будет искать первую ячейку с текстом и выдавать её позицию. Для поиска последней текстовой ячейки можно изменить третий аргумент Режим_поиска с нуля на минус 1:

Поиск первого или последнего текста

Числа и пустые ячейки в этом случае игнорируются.

Поиск ближайшего числа или даты

Если последний аргумент задать равным 1 или -1, то можно реализовать поиск ближайшего наименьшего или наибольшего числа. Таблица при этом обязательно должна быть отсортирована по возрастанию или убыванию соответственно. В общем и целом, это чем-то похоже на интервальный просмотр у функции ВПР (VLOOKUP), но там возможен только поиск ближайшего наименьшего, а здесь — есть выбор.

Например, нам нужно выбрать генератор из прайс-листа для расчетной мощности в 47 кВт. Если последний аргумент задать равным 1 и отсортировать таблицу по возрастанию, то мы найдем ближайшую наименьшую по мощности модель (Зверь):

ПОИСКПОЗ поиск ближайшего наименьшего числа

Если же третий аргумент равен -1 и таблица отсортирована по убыванию, то мы найдем ближайшую более мощную модель (Бомба):

ПОИСКПОЗ поиск ближайшего наибольшего

Связка функций ПОИСКПОЗ и ИНДЕКС

Очень часто функция ПОИСКПОЗ используется в связке с другой крайне полезной функцией — ИНДЕКС (INDEX), которая умеет извлекать данные из диапазона по номеру строки-столбца, реализуя, фактически, «левый ВПР».

Так, в предыдущем примере получить не номер, а название модели генератора можно очень легко:

ПОИСКПОЗ и ИНДЕКС

Ну, и поскольку Excel внутри хранит и обрабатывает даты как числа, то подобный подход на 100% работает и с датами. Например, мы можем легко определить на каком этапе сейчас находится наш проект:

ПОИСКПОЗ и даты

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

Двумерный поиск с ПОИСКПОЗ и ИНДЕКС

Ссылки по теме

  • 5 вариантов применения функции ИНДЕКС (INDEX)
  • Интервальный просмотр с помощью функции ВПР (VLOOKUP)
  • Поиск последнего значения в строке или столбце
  • Как создать авторастягивающийся диапазон с автоподстройкой размеров

Понравилась статья? Поделить с друзьями:
  • Match write a letter next to the word
  • Matlab работа с таблицами excel
  • Match the words to form word partnerships
  • Match word with definition worksheets
  • Matlab запись в excel