Поиск по нескольким критериям с помощью INDEX и MATCH
Когда вы работаете с большой базой данных в Excel с несколькими столбцами и строками-заголовками, найти запись, соответствующую нескольким условиям, бывает непросто. В таких случаях можно использовать формулу массива с функциями INDEX и MATCH.
Как выполнить поиск по нескольким критериям?
Чтобы найти продукт, который является белым, среднего размера и стоит $18, как показано на изображении выше, вы можете воспользоваться булевой логикой для создания массива из1 и0, чтобы определить строки, соответствующие условиям. Затем функция MATCH определит позицию первой строки, удовлетворяющей всем критериям. После этого INDEX вернет соответствующий идентификатор продукта из этой строки.
Общий синтаксис
=INDEX(return_range,MATCH(1,(criteria_value1=criteria_range1*criteria_value2=criteria_range2*(…),0))
√ Примечание: Это формула массива, которую необходимо ввести с помощью Ctrl + Shift + Enter.
- return_range: Диапазон, из которого формула должна вернуть идентификатор продукта. В данном случае это диапазон идентификаторов продукта.
- criteria_value: Критерий, используемый для поиска позиции идентификатора продукта. Здесь это значения в ячейках h3, H5 и H6.
- criteria_range: Соответствующие диапазоны, в которых указаны значения критериев. В данном случае это диапазоны цвета, размера и цены.
- match_type0: Заставляет функцию MATCH искать первое значение, которое точно совпадает с lookup_value.
Чтобы найти продукт, который белый, среднего размера и стоит $18, скопируйте или введите формулу ниже в ячейку H8 и нажмите Ctrl + Shift + Enter для получения результата:
=INDEX(B5:B10,MATCH(1,("White"=C5:C10)*("Medium"=D5:D10)*(18=E5:E10),0))
Или используйте ссылку на ячейку, чтобы сделать формулу динамической:
=INDEX(B5:B10,MATCH(1,(h3=C5:C10)*(H5=D5:D10)*(H6=E5:E10),0))
Пояснение к формуле
=INDEX(B5:B10,MATCH(1,(h3=C5:C10)*(H5=D5:D10)*(H6=E5:E10),0))
- (h3=C5:C10)*(H5=D5:D10)*(H6=E5:E10): Формула сравнивает цвет в ячейке h3 со всеми цветами в диапазоне C5:C10; сравнивает размер в H5 со всеми размерами в D5:D10; сравнивает цену в H6 со всеми ценами в E5:E10. Начальный результат выглядит так:
{TRUE;FALSE;TRUE;FALSE;TRUE;FALSE}*{FALSE;FALSE;TRUE;TRUE;TRUE;FALSE}*{FALSE;FALSE;FALSE;TRUE;TRUE;FALSE}.
Умножение преобразует значения TRUE и FALSE в1 и0:
{1;0;1;0;1;0}*{0;0;1;1;1;0}*{0;0;0;1;1;0}.
После умножения получится единый массив такого вида:
{0;0;0;0;1;0}. - MATCH(1,MATCH(1,(h3=C5:C10)*(H5=D5:D10)*(H6=E5:E10),0),0) = MATCH(1,MATCH(1,{0;0;0;0;1;0},0),0): параметр match_type0 указывает функции MATCH искать точное совпадение. Функция вернет позицию1 в массиве {0;0;0;0;1;0}, то есть 5.
- INDEX(B5:B10B5:B10,MATCH(1,(h3=C5:C10)*(H5=D5:D10)*(H6=E5:E10),0)) = INDEX(B5:B10B5:B10,5): функция INDEX возвращает5-е значение из диапазона идентификаторов продукта B5:B10, то есть30005.
Связанные функции
Функция Excel INDEX возвращает отображаемое значение на основе заданной позиции из диапазона или массива.
Функция Excel MATCH ищет определенное значение в диапазоне ячеек и возвращает относительную позицию этого значения.
Связанные формулы
Поиск ближайшего совпадения по нескольким критериям
В некоторых случаях может понадобиться найти ближайшее или приблизительное совпадение по нескольким критериям. С помощью комбинации функций INDEX, MATCH и IF вы можете быстро выполнить эту задачу в Excel.
Приблизительное совпадение с помощью INDEX и MATCH
Иногда требуется найти приблизительные совпадения в Excel, например, для оценки эффективности сотрудников, выставления оценок студентам, расчета стоимости доставки по весу и т.д. В этом руководстве мы рассмотрим, как использовать функции INDEX и MATCH для получения нужных результатов.
Поиск значений на другом листе или в другой книге
Если вы умеете использовать функцию VLOOKUP для поиска значений на листе, то поиск значений на другом листе или в другой книге не составит труда. В этом руководстве показано, как выполнять поиск значений на другом листе в Excel.
Лучшие инструменты для повышения производительности Office
Kutools для Excel - Помогает вам выделиться из толпы
Kutools для Excel имеет более 300 функций, гарантируя, что нужный вам инструмент находится всего в одном клике...
Office Tab - Включите работу с вкладками в Microsoft Office (включая Excel)
- Один щелчок мыши, чтобы переключаться между десятками открытых документов!
- Сократите сотни кликов мышью ежедневно, попрощайтесь с болью в руке.
- Увеличивает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
- Добавляет эффективные вкладки в Office (включая Excel), как в Chrome, Edge и Firefox.