ИНДЕКС-МАТЧ с множественными совпадениями в Excel (6 примеров)

  • Поделись Этим
Hugh West

Excel предоставляет различные функции и способы получения совпадающих значений. В зависимости от ситуации пользователи могут выбирать свои предпочтения. В этом уроке мы покажем вам, как получить результаты, используя ИНДЕКС МАТЧА с несколькими совпадениями в Excel.

Прежде всего, давайте познакомимся с сегодняшней рабочей тетрадью.

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

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

Скачать Рабочую тетрадь для практических занятий

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

INDEX-MATCH с множественными совпадениями.xlsx

Основы ИНДЕКС-МАТЧА

Основы функции ИНДЕКС

Функция ИНДЕКС возвращает значение или ссылку на значение из таблицы или диапазона. Она может использоваться для извлечения отдельных значений или целых строк и столбцов. Рассмотрим синтаксис функции INDEX.

INDEX(array/reference, row_number, column_number, area_number)

массив или ссылка: Ячейка или диапазон ячеек для просмотра

row_number: Строка в массиве, из которой нужно вернуть значение

номер_столбца: Колонка в массиве, из которой нужно вернуть значение

номер_района: Выбирает диапазон в ссылке, из которого возвращается пересечение row_num и номер_столбца Это необязательное поле.

Во время написания формулы вы можете выбрать, следует ли предоставить номер строки или номер_столбца Если вы предоставите номер строки тогда необязательно использовать номер_столбца и наоборот.

Вы можете ознакомиться с Поддержка Microsoft сайт для более детального разбора синтаксиса.

Основы функции MATCH

Практически, одна функция, которую вы чаще всего встречаете у ИНДЕКС функция функция MATCH . МАТЧ Функция используется для определения положения указанного элемента в диапазоне ячеек. Она возвращает относительное положение конкретного элемента в диапазоне.

Синтаксис МАТЧ функция

MATCH(lookup_value, lookup_array, match_type)

lookup_value: Значение для поиска в массиве lookup_array.

lookup_array: Диапазон ячеек, по которым ведется поиск.

тип_соответствия: Это необязательное поле. Вы можете вставить 3 значения.

1 = Меньше или равно значению lookup_value

0 = Точное значение для поиска

-1 = Больше или равно значению поиска_значения

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

6 Подходящие примеры использования формулы INDEX-MATCH с множественными совпадениями

Теперь мы применим эти формулы и теории на практике в нашем наборе данных. Мы решили различные сценарии с помощью функции INDEX-MATCH с несколькими соответствиями в Excel и включил их в разные разделы для лучшего понимания. Следуйте за ним, чтобы увидеть, как мы можем применить их в различных сценариях, или, если вы предпочитаете конкретный, вы можете найти его в таблице выше.

1. ИНДЕКС-МАТЧ с несколькими критериями

Для получения значений с многочисленные критерии Например, если вы хотите получить цену рубашки маленького размера (в нашей рабочей книге), вам нужно задать название продукта - Рубашка и размер - Маленький.

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

Шаги:

  • Сначала выберите ячейку G6 .
  • Затем запишите следующую формулу.

=INDEX(D5:D15,MATCH(1,(G4=B5:B15)*(G5=C5:C15),0))

🔎 Разбивка формулы

INDEX(D5:D15,MATCH(1,(G4=B5:B15)*(G5=C5:C15),0))

👉 (G4=B5:B15) и (G5=C5:C15) оба являются условиями и возвращают либо TRUE или FALSE в зависимости от того, истинны условия или нет. Численно они равны 1 или 0. Таким образом, умножение возвращает 1, если оба условия истинны.

👉 MATCH(1,(G4=B5:B15)*(G5=C5:C15),0) возвращает позицию, в которой оба условия истинны. В данном случае это 1.

👉 INDEX(D5:D15,MATCH(1,(G4=B5:B15)*(G5=C5:C15),0)) возвращает значение в позиции, которую вернула предыдущая часть формулы.

  • Наконец, нажмите Войти .

Вот как мы можем использовать INDEX MATCH для нескольких критериев или соответствий в Excel.

Читать далее: Как сопоставить несколько критериев из разных массивов в Excel

2. INDEX-MATCH с несколькими критериями, принадлежащими строкам и столбцам

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

Мы немного изменили наш пример, теперь наша таблица устроена таким образом, что значения Size (Small, Large, M, XL) представляют отдельные столбцы.

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

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

Шаги:

  • Сначала выберите ячейку I6 .
  • Затем запишите в нем следующую формулу.

=INDEX(C5:F7,MATCH(I4,B5:B7,0),MATCH(I5,C4:F4,0))

🔎 Разбивка формулы

👉 MATCH(I4,B5:B7,0) возвращает точное совпадение значения параметра I4 в диапазоне B5:B7 .

👉 Аналогично, MATCH(I5,C4:F4,0) возвращает точное совпадение значения параметра I5 в диапазоне C4:F4 .

👉 Наконец-то, INDEX(C5:F7,MATCH(I4,B5:B7,0),MATCH(I5,C4:F4,0)) принимает выход первой функции как номер строки, а второй функции - как номер столбца и возвращает значение, находящееся в позиции из диапазона C5:F7 .

  • После этого нажмите Войти .

Таким образом, мы можем использовать INDEX-MATCH с несколькими критериями, принадлежащими строкам и столбцам.

Читать далее: Индекс Excel Сопоставление одного/многих критериев с одним/многими результатами

Похожие чтения

  • INDEX MATCH с 3 критериями в Excel (4 примера)
  • ИНДЕКСНЫЙ МАТЧ по нескольким листам в Excel (с альтернативой)
  • Суммирование с помощью функций ИНДЕКС-МАТЧ по нескольким критериям в Excel
  • Сумма нескольких строк в Excel (3 способа)
  • Формула INDEX-MATCH для поиска минимального значения в Excel (4 подходящих способа)

3. ИНДЕКС-МАТЧ из несмежных столбцов

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

Это будет набор данных для демонстрации.

Выполните следующие шаги, чтобы увидеть, как мы можем использовать INDEX-MATCH для несмежных столбцов (продукт и количество) в этом наборе данных.

Шаги:

  • Сначала выберите ячейку G6 .
  • Затем запишите в нем следующую формулу.

=IFERROR(INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)), "No Value")

🔎 Разбивка формулы

IFERROR(INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)), "Нет значения")

👉 МАТЧ(G5,B4:B7,0) находит точное совпадение значения ячейки G5 в диапазоне B4:B7 .

👉 и MATCH(F6,B4:D4,0) находит точное соответствие F6 диапазон B4:D4 .

👉 Затем INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)) принимает первое значение функции как номер строки и второе значение функции как номер столбца и возвращает значение в данной позиции в диапазоне B4:D7 .

👉 Наконец-то, IFERROR(INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)), "Нет значения") возвращает строку "Нет значения", если при выполнении формулы произошла ошибка. В противном случае возвращается обычное значение.

  • Далее нажмите Войти на клавиатуре.

В результате мы можем найти нужное соответствие с помощью ИНДЕКС-МАТЧА из несмежных столбцов для выбранных критериев, даже для нескольких, в Excel.

4. ИНДЕКС-МАТЧ из нескольких таблиц

Чтобы найти совпадения из нескольких таблиц, мы можем воспользоваться функцией INDEX-MATCH формула. Наряду с этой функцией нам понадобятся МАЛЕНЬКИЙ , ISNUMBER , ROW , COUNTIF и IFERROR также функции.

В примере листа у нас есть 2 магазина "Товары". Используя этот лист, мы увидим, как выполнить задачу.

Выполните следующие шаги, чтобы увидеть, как мы можем использовать комбинацию этих функций вместе с INDEX-MATCH с несколькими совпадениями из этого набора таблиц в Excel.

Шаги:

  • Сначала выберите ячейку C14 .
  • Теперь запишите следующую формулу.

=IFERROR(INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1))), INDEX($F$6:$F$10, SMALL(IF(ISNUMBER(MATCH($E$6:$E$10, $C$12, 0)), MATCH(ROW($E$6:$E$10), ROW($E$6:$E$10)), ""), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))))

🔎 Разбивка формулы

IFERROR(INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1))), INDEX($F$6:$F$10, SMALL(IF(ISNUMBER(MATCH($E$6:$E$10, $C$12, 0)), MATCH(ROW($E$6:$E$10), ROW($E$6:$E$10)), ""), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))))

👉 MATCH($B$6:$B$10, $C$12, 0) находит точное соответствие C12 в диапазоне B6:B10 .

👉 ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)) проверяет, является ли значение числом в функции.

👉 IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), "") ROW($B$6:$B$10)) проверяет, является ли предыдущая функция числом или нет. Если да, то она возвращает выходное значение MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)) которая является позицией, где массив номеров строк совпадает в первом и втором ROW В противном случае возвращается пустая строка.

👉 SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1))) возвращает ROWS($A$1:A1) -е наименьшее значение из массива.

👉 Наконец-то. INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10))), ""), ROWS($A$1:A1)))) возвращает значение в данной позиции в диапазоне C6:C10 .

👉 INDEX($F$6:$F$10, SMALL(IF(ISNUMBER(MATCH($E$6:$E$10, $C$12, 0)), MATCH(ROW($E$6:$E$10), ROW($E$6:$E$10)), ""), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12)))) делает то же самое, но из второй таблицы, поскольку в этой части формулы диапазоны явно отличаются.

👉 Наконец, функция принимает всю функцию целиком и возвращает INDEX-MATCH комбинации. влияние IFERROR Если при выполнении формулы возникнут ошибки, то функция не вернет никакого значения.

  • Затем нажмите Войти .

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

Вот как мы можем использовать INDEX-MATCH, используя критерии из нескольких таблиц в Excel.

Читать далее: Множественные критерии в Excel с использованием функций INDEX, MATCH и COUNTIF

5. ИНДЕКС-МАТЧ из нескольких рабочих листов

Мы можем использовать формулу INDEX-MATCH на разных листах. Здесь у нас есть две таблицы на двух разных рабочих листах.

Лист "Цех 1" для цеха 1 и лист "Цех 2" для цеха 2.

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

Шаги:

  • Сначала выберите ячейку C14 из листа "Цех 1".
  • Затем запишите следующую формулу.

=IFERROR(INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1))), INDEX('Shop 2'!$C$6:$C$10, SMALL(IF(ISNUMBER(MATCH('Shop 2'!$B$6:$B$10, $C$12, 0)), MATCH(ROW('Shop 2'!$B$6:$B$10), ROW('Shop 2'!$B$6:$B$10)), ""), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))))

🔎 Разбивка формулы

IFERROR(INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), “”), ROWS($A$1:A1))), INDEX(‘Shop 2’!$C$6:$C$10, SMALL(IF(ISNUMBER(MATCH(‘Shop 2’!$B$6:$B$10, $C$12, 0)), MATCH(ROW(‘Shop 2’!$B$6:$B$10), ROW(‘Shop 2’!$B$6:$B$10)), “”), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))))

👉 MATCH($B$6:$B$10, $C$12, 0) ищет точное совпадение значения ячейки C12 в диапазоне B6:B10 .

👉 ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)) проверяет, является ли выход предыдущей функции числом или нет. Это определяет, было ли совпадение или нет. Это просто преобразование числового значения в булево.

👉 Затем IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), "") проверяет наличие булевого значения и возвращает его MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)) если значение истинно. В противном случае возвращается пустая строка. MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)) часть - это ряд чисел, в котором ROW($B$6:$B$10) и ROW($B$6:$B$10) матчей. Это просто удобный трюк для ограничения общего количества строк в выбранном разделе.

👉 После этого, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1) ищет ROWS($A$1:A1) -е наименьшее значение из выходных данных модуля ЕСЛИ порция.

👉 Наконец-то, INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10))), ""), ROWS($A$1:A1)))) берет выход предыдущей функции в качестве номера строки и ROWS($A$1:A1) в качестве номера столбца и возвращает значение, которое находится в этой позиции в диапазоне C6:C10 .

👉 Аналогично, INDEX('Магазин 2'!$C$6:$C$10, SMALL(IF(ISNUMBER(MATCH('Магазин 2'!$B$6:$B$10, $C$12, 0)), MATCH(ROW('Магазин 2'!$B$6:$B$10), ROW('Магазин 2'!$B$6:$B$10)), "")) делает то же самое, но со второго листа. Поскольку имя листа - "Цех 2", мы добавили его перед выбором диапазонов/ячеек. Вам не нужно добавлять их на лист, на котором вы выполняете вычисления. Поэтому мы не сделали этого для "Цеха 1" в предыдущей части формулы.

👉 Наконец, мы добавили всю функцию в файл IFERROR Причина в том, чтобы вернуть пустое место в случае возникновения ошибок при выполнении формулы.

  • Наконец, нажмите Войти .

  • Теперь снова выделите ячейку. Затем нажмите и перетащите значок ручки заливки для некоторых ячеек вниз (больше, чем предполагаемый объем выводимой ячейки, не должно быть).

Следовательно, мы найдем все совпадения с помощью INDEX-MATCH из нескольких рабочих листов в Excel.

6. INDEX-MATCH для нескольких критериев без массива

Мы также можем использовать INDEX-MATCH для нескольких совпадений или критериев без массива. Например, возьмем следующий набор данных.

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

Шаги:

  • Сначала выберите ячейку F5 и запишите следующую формулу.

=CONCATENATE(C5,",",D5,",",E5)

  • Затем нажмите Войти .

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

  • Далее мы найдем INDEX-MATCH для всех 100 в исходном наборе данных. Для этого выделите ячейку для хранения значения ( H5 в данном случае).
  • Затем вставьте следующую формулу.

=INDEX(B5:B19,MATCH("100,100,100",F5:F19,0))

🔎 Разбивка формулы

👉 MATCH(“100,100,100”,F5:F19,0) ищет точное соответствие 100,100,100 в диапазоне F5:F19 .

👉 Тогда INDEX(B5:B19,MATCH(“100,100,100”,F5:F19,0)) возвращает значение в позиции, в которой значение совпадает.

  • Наконец, нажмите Войти .

Таким образом, мы можем использовать INDEX-MATCH для нескольких критериев или соответствий в Excel без какого-либо массива.

Как вернуть несколько значений по вертикали с помощью формулы INDEX-MATCH в Excel

Если вы хотите вернуть несколько значений по вертикали с помощью INDEX-MATCH, рассмотрим следующий пример.

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

Шаги:

  • Сначала выберите ячейку F5 .
  • Во-вторых, запишите следующую формулу.

=IFERROR(INDEX($C$5:$C$14,SMALL(IF($E$5=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1),ROW(1:1))),"")

🔎 Разбивка формулы

👉 ROW($B$5:$B$14) возвращает массив, содержащий номера строк диапазона B5:B14 .

👉 РЯД($B$5:$B$14)-РЯД($B$5)+1 возвращает разность между массивом и номером строки ячейки B5 который в данном случае является просто массивом от 1 до 10.

👉 IF($E$5=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1) проверяет, где значение ячейки E5 равна в диапазоне B5:B14 и возвращает номер в массиве, в котором оно истинно, из предыдущего массива.

👉 SMALL(IF($E$5=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1),ROW(1:1)) возвращает наименьшее число из массива.

👉 INDEX($C$5:$C$14,SMALL(IF($E$5=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1),ROW(1:1))) затем возвращает значение в этой позиции в диапазоне C5:C14 .

👉 Наконец-то, IFERROR(INDEX($C$5:$C$14,SMALL(IF($E$5=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1),ROW(1:1))),"") гарантирует, что если значение приводит к ошибке в формуле, то возвращается пустая строка.

  • В-третьих, нажмите Войти .

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

Таким образом, мы можем вернуть несколько значений по вертикали с помощью функции INDEX-MATCH в Excel.

Читать далее: INDEX MATCH с несколькими критериями на разных листах (2 способа)

Заключение

На сегодня это все. мы попытались показать вам несколько способов ИНДЕКСОВОГО МАТЧА с несколькими совпадениями. надеемся, что вы найдете это полезным. не стесняйтесь комментировать, если что-то покажется вам трудным для понимания. мы будем рады сообщить вам о любых других методах решения этой задачи.

Для получения других руководств, подобных этому, посетите Exceldemy.com .

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.