Как перевернуть vlookup в excel с помощью index-match?

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

Подумайте об этом так: функция ПОИСКПОЗ — это агент под прикрытием, который находит преступника, а функция ИНДЕКС — это полицейский, который впоследствии арестовывает этого преступника.

индексное совпадение-получить значение

Но давайте подробно узнаем, как мы можем объединить эти две функции. Ниже приведен синтаксис INDEX, как вы знаете.

ИНДЕКС(массив, номер_строки, [номер_столбца])

В функции ИНДЕКС аргумент номер_строки сообщает, из какой строки следует вернуть значение. Допустим, если вы введете 4, оно вернет значение четвертой строки.

Чтобы создать формулу обратного поиска, нам нужно заменить ПОИСКПОЗ на аргумент_строки ИНДЕКС.

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

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

пример формулы соответствия индекса введите

Здесь нам нужно найти имя сотрудника, который работает в Мумбаи. Теперь, если вы посмотрите на данные, в столбце, где указаны города, это наш столбец поиска, а в столбце, где указаны имена сотрудников, это ваш столбец значений. И формула будет такая:

 =INDEX(B2:B11,MATCH(E3,A2:A11,0),0)
пример формулы соответствия индекса введите

Давайте разобьем эту формулу на две части, чтобы понять ее.

Часть 1. В первой части мы использовали функцию сопоставления для поиска значения «Мумбаи», и она вернула цифру «5», которая соответствует положению ячейки, в которой находится значение «Мумбаи», в столбце городов.

индексное совпадение, как работает сопоставление

Часть 2. Во второй части мы использовали ИНДЕКС и обращались к столбцу имени сотрудника для поиска значения. Здесь индексная функция знает, что вам нужно значение 5-й ячейки столбца. Итак, в результате вернулось «Сия».

индекс - это то, как работает индекс

Дополнительные примеры INDEX и сопоставления

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

1. Базовый поиск с помощью ИНДЕКС – ПОИСКПОЗ.

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

обычный поиск с таблицей данных соответствия индекса

Допустим, вы хотите найти имя EMP-132. Для этого формула будет такой:

 =INDEX(name_column,MATCH(emp-id,emp-id_column,0))

обычный поиск с совпадением индекса, введите формулу

вот как работает эта формула

Во-первых , ПОИСКПОЗ сопоставляет идентификатор emp в столбце emp id и возвращает номер ячейки с идентификатором, который вы ищете. Здесь номер строки — 6.

обычный поиск с совпадением индекса дает номер строки

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

обычный поиск с индексом соответствия индексу возвращает имя

2. Посмотрите налево

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

левый поиск с таблицей данных соответствия индекса

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

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

 =INDEX(G2:G14,MATCH(L6,J2:J14,0),0)

поиск слева с совпадением индекса введите формулу

…вот как работает эта формула

  • Прежде всего , вы упомянули столбец суммы в индексной функции. Это столбец, из которого нам нужно получить значение.
  • Во-вторых , в аргументе row_number индексной функции вы использовали функцию сопоставления и указали номер счета-фактуры, сослались на столбец счета-фактуры и использовали ноль для точного соответствия.
  • В-третьих , функция match возвращает номер ячейки счета-фактуры из диапазона.
поиск слева с совпадением индекса возвращает номер строки

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

левый поиск с совпадением индекса возвращает сумму

3. Нечеткий поиск

Как и в случае с VLOOKUP, вы также можете использовать INDEX/MATCH для грубого поиска.

Нечеткий поиск может быть полезен, когда искомое значение отсутствует в списке и вы хотите получить наиболее близкое совпадение. В таблице ниже у вас есть список оценок, основанный на оценках.

Таблица данных соответствия минимального нечеткого индекса

И если вы хотите получить оценку 79, вы можете использовать формулу ниже.

 =INDEX(B2:B6,MATCH(D3,A2:A6,1))

приблизительное совпадение индекса поиска введите формулу мин.

…вот как работает эта формула

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

совпадение индекса нечеткого поиска возвращает оценку

Для 79 первое наименьшее значение — 75, а для 75 — оценка B. Вот почему в результате вы получаете B.

4. Горизонтальный ПОИСК

Как вы знаете, HLOOKUP предназначен для горизонтального поиска, но для этого вы также можете использовать INDEX и MATCH. Здесь, в таблице данных ниже, у вас есть горизонтальная таблица ежемесячных продаж, и вы хотите получить значение продаж за «май».

строка данных соответствия индекса горизонтального поиска

И формула будет такая:

 =INDEX(amount,0,MATCH(lookup_month,months,0))

совпадение индекса горизонтального поиска введите формулу

…вот как работает эта формула

В приведенной выше формуле вместо использования ПОИСКПОЗ в аргументе row_num индекса мы использовали его в столбце_number. И match возвращает номер столбца за май.

совпадение индекса горизонтального поиска возвращает номер столбца

А затем ИНДЕКС возвращает значение столбца результата на основе номера позиции.

Сумма возврата совпадения индекса горизонтального поиска

5. Двусторонний поиск

При двустороннем поиске нам нужно получить значение из таблицы. Просто посмотрите на таблицу ниже, где указаны объемы продаж по регионам и по продуктам.

индекс двустороннего поиска соответствует данным о продажах

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

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

 =INDEX(A1:F5,MATCH(H3,A1:F1,0),MATCH(H2,A1:A5,0))

совпадение индексов двустороннего поиска введите формулу

…вот как работает эта формула

В приведенной выше формуле, чтобы получить сумму продаж из таблицы, вы использовали функцию индекса, а затем функцию сопоставления для ее аргументов номер_строки и номер_столбца. Функция сопоставления, которая является аргументом columns_num, возвращает 5 в качестве значения Product-D в 5-й строке диапазона, на который вы ссылаетесь.

совпадение индекса двустороннего поиска возвращает номер строки

И функция сопоставления, найденная в аргументе row_num, возвращает 2, поскольку значение северной зоны находится во втором столбце диапазона, на который вы ссылаетесь.

совпадение индекса двустороннего поиска возвращает номер столбца

Теперь, имея эти значения, индексная функция вернула значение, находящееся во втором столбце и пятой строке: 1456.

двустороннее совпадение индекса поиска возвращает объем продаж

6. С учетом регистра

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

индекс поиска с учетом регистра соответствует данным об учащихся

И вначале идут одинаковые существительные, но в разных падежах. Например, Джон Паркер и ДЖОН Мэтью. Допустим, вы хотите найти бренды «ДЖОН», а не «Джон», вы можете создать поиск с точным соответствием с помощью ИНДЕКС и ПОИСКПОЗ. И формула будет такая:

 =INDEX(B2:B21,MATCH(TRUE,EXACT(E5,A2:A21),0))

совпадение индекса поиска с учетом регистра введите формулу

…вот как работает эта формула

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

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

 =INDEX(Sheet1!$B$2:$B$21,MATCH(TRUE,{FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE},0))

Индекс поиска с учетом регистра соответствует точному возвращаемому массиву

Отсюда вам нужно использовать функцию сопоставления, чтобы получить позицию TRUE из массива.

Сопоставление индекса поиска с учетом регистра возвращает номер строки

На этом этапе у вас есть номер ячейки (номер строки) значения, которое вам нужно найти. И вы можете использовать INDEX для значения этого столбца.

Сопоставление индексов поиска с учетом регистра возвращает баллы учащихся

Важный момент: если вы получите более одного TRUE с помощью EXACT, совпадение просто вернет число для первого TRUE.

7. С подстановочными знаками с INDEX MATCH

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

Просто взгляните на список имен ниже, где указаны имена и фамилии сотрудников, а также их возраст.

поиск данных соответствия индекса подстановочных знаков

Из этого списка нужно получить возраст конкретного сотрудника (Сондра). Но дело в том, что вы знаете только имя.

А если вы используете звездочку, вы можете найти возраст Сондры по имени. Для этого формула будет такой:

 =INDEX(B2:B11,MATCH("Sondra*",A2:A11,0),0)

поиск соответствия индекса подстановочных знаков введите данные

…вот как работает эта формула

Звездочка — это подстановочный знак, который может заменить n символов. Поэтому, когда вы использовали его после имени, оно заменяло фамилию.

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

8. Самая низкая стоимость

Допустим, у вас есть список студентов с их оценками, как показано ниже. И теперь из этого списка нужно найти имя ученика, у которого самый низкий балл.

найти данные соответствия индекса с наименьшим значением

Для этого вы можете использовать функцию МИН с индексом и совпадением, и формула будет такой:

 =INDEX(A2:A21,MATCH(MIN(B2:B21),B2:B21,0))

найти совпадение индекса с наименьшим значением, ввести формулу

В столбце А указаны имена учащихся, а в столбце Б — их баллы.

Поэтому, когда вы вставите эту формулу в ячейку и нажмете Enter, она вернет имя ученика с наименьшим баллом, то есть Весы Бастиан.

Объяснение

В этой формуле у нас есть три разные части.

В первой части функция МИН возвращает наименьший балл.

найти совпадение индекса с наименьшим значением, возвращает значение

После этого во второй части функция сопоставления возвращает ячейку с наименьшим баллом.

найти совпадение индекса с наименьшим значением возвращает номер строки

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

поиск возвращает имя совпадения индекса с наименьшим значением

Совет: таким же способом вы можете узнать имя ученика, набравшего наивысший балл.

9. Лучший n-й результат

Теперь подумайте так: у вас есть список студентов с их экзаменационными баллами, и из этого списка вы хотите получить имя студента, получившего второй по величине балл.

данные сопоставления индекса верхнего n-го балла

Дело в том, что вы не знаете, какой у вас второй по величине балл.

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

Итак, для этого вы можете объединить большую функцию с индексом и сопоставить ее. Большая функция поможет вам определить второе по величине значение в диапазоне.

И формула будет такая:

 =INDEX(student_names,MATCH(LARGE(score,2),score,0))

совпадение с индексом верхнего n-го балла, введите формулу

…вот как работает эта формула

В этой формуле вы использовали большую функцию внутри функции сопоставления для аргумента искомое_значение. И в большой функции вы упомянули диапазон оценок и 2, чтобы получить второе по величине значение.

верхний n-й индекс совпадения с большим доходом, второе по величине значение

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

номер возвращаемой строки совпадения индекса верхнего n-го результата

И в конце индексная функция использует этот номер ячейки и возвращает имя студента.

Соответствие индекса верхнего n-го результата возвращает имя

10. Несколько критериев

Обычно комбинация индекса и совпадения предназначена для поиска одного значения. И именно поэтому вы используете только один диапазон в функции сопоставления.

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

Рассмотрим пример ниже. Здесь у вас есть список продуктов с несколькими деталями, такими как название продукта, категория и размер.

И из этих данных вы хотите получить цену конкретного товара по всем критериям.

данные сопоставления многокритериального индекса

Таким образом, формула будет такой:

 =INDEX(D2:D11,MATCH(1,(A14=A2:A11)*(B14=B2:B11)*(C14=C2:C11),0))

совпадение индекса с несколькими критериями, введите формулу

Примечание. Это формула массива, поэтому вводить ее нужно с помощью ctrl+shift+enter.

…вот как работает эта формула

В этой формуле у вас есть три разных массива для соответствия трем разным значениям, и эти массивы возвращают ИСТИНА и ЛОЖЬ, если значения совпадают.

После этого, когда вы умножаете их друг на друга, вы получаете массив или что-то в этом роде.

 =INDEX(D2:D11,MATCH(1,{0;0;0;0;0;0;1;0;0;0},0))

А функция match возвращает позицию 1 для массива.

совпадение индекса с несколькими критериями, номер строки возврата

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

индекс соответствия нескольким критериям, цена за единицу доходности

Совет: Если вы не хотите использовать формулу массива, вы можете использовать условие СУММПРОИЗВ .

11. Первое числовое значение диапазона

Допустим, у вас есть список, в котором есть как текстовые, так и числовые значения, и теперь из этого списка вы хотите получить первое числовое значение.

данные соответствия индекса первого числового значения

Для этого вы можете объединить функцию ISNUMBER с индексом/соответствием. ISNUMBER может помочь вам определить, какое значение является числом, а какое — текстом.

Формула будет:

 =INDEX(list,MATCH(TRUE,ISNUMBER(list),0))

совпадение индекса первого числового значения, введите формулу

Эту формулу необходимо ввести в виде таблицы (с помощью Ctrl+Shift+Enter).

…вот как работает эта формула

В этой формуле ISNUMBER возвращает массив, равный длине списка, и в этом массиве у вас есть TRUE для значений, которые являются числами, и FALSE для остальных значений.

массив номеров совпадений индекса первого числового значения

После этого вы использовали TRUE в функции сопоставления в качестве значения поиска. Таким образом, он возвращает номер позиции первого TRUE в массиве.

первое совпадение индекса числового значения возвращает номер строки

В конечном итоге использование этого индекса номера позиции возвращает первое числовое значение.

48-первое-числовое-значение-индекс-матч-возврат-первое-число-мин

12. Получить первое непустое значение

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

данные о первом непустом совпадении индекса

И вы можете использовать эту формулу, чтобы получить это первое непустое значение.

 =INDEX(A2:A11,MATCH(FALSE,ISBLANK(A2:A11),0))

первое непустое совпадение индекса, введите формулу

…вот как работает эта формула

Нам нужно разделить эту формулу на три разные части, чтобы понять ее мудро.

Во-первых , вы использовали функцию ЕСПУС в функции сопоставления, чтобы получить массив, в котором у вас есть ИСТИНА для пустых ячеек и ЛОЖЬ для непустых ячеек.

первое непустое совпадение индекса — пустой массив

Во-вторых , ПОИСКПОЗ возвращает номер позиции первого значения ИСТИНА в массиве, возвращенном функцией ПУСТОЕ.

Итак, на данный момент у вас есть номер ячейки первого непустого значения.

первое непустое совпадение индекса возвращает номер строки

В-третьих , функция index просто возвращает первое непустое значение в списке.

первое непустое совпадение индекса возвращает значение первой непустой ячейки

13. Самый частый текст

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

В списке ниже у вас есть имена.

Но есть имена, которые встречаются более одного раза.

данные о наиболее частых совпадениях текстового индекса

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

 =INDEX(A2:A13,MODE(MATCH(A2:A13,A2:A13,0)))

наиболее частое совпадение текстового индекса введите формулу

Когда вы вставите эту формулу, она вернет «Тамеша», которое является наиболее распространенным именем.

…вот как работает эта формула

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

Давайте возьмем в качестве примера имя «Тамеша», которое является нашим самым распространенным именем в списке. Теперь , если вы посмотрите на список, это произошло сначала на 8-й ячейке, а затем на 12-й ячейке.

Но, если вы посмотрите на таблицу, для всех позиций, где у нас есть «Тамеша», она вернула 8, что является ее первой позицией.

таблица поиска наиболее часто используемого текстового индекса

После этого из массива, возвращаемого функцией ПОИСКПОЗ, функция режима вернет наиболее частое число, которое является номером ячейки первого появления « Тамеша ».

режим наиболее частого совпадения текстового индекса возвращает номер ячейки

И в конце ИНДЕКС вернет текст, используя этот номер ячейки.

наиболее частое совпадение текстового индекса, возвращаемое имя

14. Создайте гиперссылку

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

Например, в таблице ниже нужно получить возраст человека. А если вы создадите гиперссылку для этого значения, вы сможете легко перейти к ячейке, в которой находится это значение.

создать данные соответствия индекса гиперссылок

И для этого мы должны использовать ГИПЕРССЫЛКУ + Ячейку с ИНДЕКСом и ПОИСКПОЗ, и формула будет такой:

Вот как работает эта формула

Давайте разделим эту формулу на несколько частей, чтобы лучше ее понять.

  • Прежде всего, вы использовали индекс и совпадение в функции ячейки. И когда вы используете обе функции в функции ячейки, вы получаете ссылку на ячейку соответствующего значения вместо соответствующего значения.
  • Во-вторых , вы объединили «#» со ссылкой на ячейку.
  • В-третьих , вы снова использовали index и match, чтобы получить соответствующее значение для использования в качестве текста ссылки. Таким образом, у вас будет соответствующее значение, а также ссылка на ячейку, в которой находится это значение.