ИНДЕКС и ПОИСКПОЗ по нескольким столбцам
Для поиска значения путем сопоставления по нескольким столбцам, формула массива, основанная на функциях ИНДЕКС и ПОИСКПОЗ, которая включает МУМНОЖ, ТРАНСП, и СТОЛБЕЦ, окажет вам услугу.
Как найти значение путем сопоставления по нескольким столбцам?
Чтобы заполнить соответствующий класс каждого студента, как показано в таблице выше, где информация перечислена по нескольким столбцам, вы можете сначала использовать комбинацию функций МУМНОЖ, ТРАНСП и СТОЛБЕЦ для создания матричного массива. Затем функция ПОИСКПОЗ даст вам позицию вашего искомого значения, которое будет передано в ИНДЕКС для получения нужного значения из массива.
Общий синтаксис
=ИНДЕКС(диапазон_возврата;(ПОИСКПОЗ(1;МУМНОЖ(--(массив_поиска=искомое_значение);ТРАНСП(СТОЛБЕЦ(массив_поиска)^0));0)))
√ Примечание: Это формула массива, для которой требуется ввод с помощью Ctrl + Shift + Enter.
- диапазон_возврата: Диапазон, из которого формула должна вернуть информацию о классе. Здесь ссылается на диапазон классов.
- искомое_значение: Значение, которое формула использует для поиска соответствующей информации о классе. Здесь ссылается на указанное имя.
- массив_поиска: Диапазон ячеек, где указано искомое_значение; Диапазон со значениями для сравнения с искомое_значение. Здесь ссылается на диапазон имен.
- тип_сопоставления 0: Заставляет ПОИСКПОЗ найти первое значение, точно равное искомому_значению.
Чтобы найти класс Джимми, скопируйте или введите формулу ниже в ячейку H5 и нажмите Ctrl + Shift + Enter, чтобы получить результат:
=ИНДЕКС($B$5:$B$7;($C$5:$E$7=G5);ТРАНСП(СТОЛБЕЦ($C$5:$E$7)^0));0)))
√ Примечание: Знаки доллара ($) выше указывают на абсолютные ссылки, что означает, что диапазоны имен и классов в формуле не изменятся, когда вы переместите или скопируете формулу в другие ячейки. Обратите внимание, что вы не должны добавлять знаки доллара к ссылке на ячейку, представляющую искомое значение, поскольку вы хотите, чтобы она была относительной при копировании в другие ячейки. После ввода формулы перетащите маркер заполнения вниз, чтобы применить формулу к нижним ячейкам.
Объяснение формулы
=ИНДЕКС($B$5:$B$7;(ПОИСКПОЗ(1;МУМНОЖ(--($C$5:$E$7=G5);ТРАНСП(СТОЛБЕЦ($C$5:$E$7)^0));0)))
- --($C$5:$E$7=G5): Этот сегмент проверяет каждое значение в диапазоне $C$5:$E$7 если они равны значению в ячейке G5 и генерирует массив ИСТИНА и ЛОЖЬ следующего вида:
{TRUE,FALSE,FALSE;FALSE,FALSE,FALSE;FALSE,FALSE,FALSE}.
Двойной минус затем преобразует ИСТИНЫ и ЛОЖИ в 1 и 0, чтобы получить массив следующего вида:
{1,0,0;0,0,0;0,0,0}. - СТОЛБЕЦ($C$5:$E$7): Функция СТОЛБЕЦ возвращает номера столбцов для диапазона $C$5:$E$7 в виде массива следующего вида: {3,4,5}.
- ТРАНСП(СТОЛБЕЦ($C$5:$E$7)^0) = ТРАНСП({3,4,5}^0): После возведения в степень 0 все числа в массиве {3,4,5} будут преобразованы в 1: {1,1,1}. Функция ТРАНСП затем преобразует массив столбцов в массив строк следующего вида: {1;1;1}.
- МУМНОЖ(--($C$5:$E$7=G5),ТРАНСП(СТОЛБЕЦ($C$5:$E$7)^0)) = МУМНОЖ({1,0,0;0,0,0;0,0,0},{1;1;1}): Функция МУМНОЖ возвращает матричное произведение двух массивов следующего вида: {1;0;0}.
- ПОИСКПОЗ(1,МУМНОЖ(--($C$5:$E$7=G5),ТРАНСП(СТОЛБЕЦ($C$5:$E$7)^0)),0) = ПОИСКПОЗ(1,{1;0;0},0): Тип_сопоставления 0 заставляет функцию ПОИСКПОЗ вернуть позицию первого совпадения 1 в массиве {1;0;0}, что равно 1.
- ИНДЕКС($B$5:$B$7$B$5:$B$7,,,(ПОИСКПОЗ(1,МУМНОЖ(--($C$5:$E$7=G5),,,ТРАНСП(СТОЛБЕЦ($C$5:$E$7)^0)),0))) = ИНДЕКС($B$5:$B$7$B$5:$B$7,,,1): Функция ИНДЕКС возвращает 1-е значение в диапазоне классов $B$5:$B$7, что является A.
Чтобы легко найти значение путем сопоставления по нескольким столбцам, вы также можете использовать наш профессиональный надстройку Excel Kutools для Excel. Смотрите инструкции здесь для выполнения задачи.
Связанные функции
Функция ИНДЕКС в Excel возвращает отображаемое значение на основе заданной позиции из диапазона или массива.
Функция ПОИСКПОЗ в Excel ищет определенное значение в диапазоне ячеек и возвращает относительную позицию этого значения.
Функция МУМНОЖ в Excel возвращает матричное произведение двух массивов. Результат массива имеет такое же количество строк, как у массива1, и такое же количество столбцов, как у массива2.
Функция ТРАНСП в Excel меняет ориентацию диапазона или массива. Например, она может преобразовать таблицу, расположенную горизонтально в строках, в вертикальные столбцы или наоборот.
Функция СТОЛБЕЦ возвращает номер столбца, в котором находится формула, или возвращает номер столбца для заданной ссылки. Например, формула =СТОЛБЕЦ(BD) возвращает 56.
Связанные формулы
Поиск с множественными критериями с использованием ИНДЕКС и ПОИСКПОЗ
При работе с большой базой данных в электронной таблице Excel с несколькими столбцами и заголовками строк всегда сложно найти что-то, что соответствует нескольким критериям. В этом случае можно использовать формулу массива с функциями ИНДЕКС и ПОИСКПОЗ.
Двухсторонний поиск с ИНДЕКС и ПОИСКПОЗ
Для поиска чего-либо по строкам и столбцам в Excel, или, другими словами, для поиска значения на пересечении конкретной строки и столбца, мы можем использовать помощь функций ИНДЕКС и ПОИСКПОЗ.
Поиск ближайшего совпадающего значения с несколькими критериями
В некоторых случаях вам может потребоваться найти ближайшее или приблизительное совпадающее значение на основе нескольких критериев. С помощью комбинации функций ИНДЕКС, ПОИСКПОЗ и ЕСЛИ вы можете быстро это сделать в Excel.
Лучшие инструменты для повышения производительности Office
Kutools для Excel - Помогает вам выделиться из толпы
Kutools для Excel имеет более 300 функций, гарантируя, что то, что вам нужно, находится всего в одном клике...
Office Tab - Включите работу с вкладками в Microsoft Office (включая Excel)
- Одна секунда для переключения между десятками открытых документов!
- Уменьшите сотни кликов мышью каждый день, попрощайтесь с болью в руке от использования мышки.
- Увеличивает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
- Привносит эффективные вкладки в Office (включая Excel), как в Chrome, Edge и Firefox.