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

Как найти значение в нескольких массивах?
Чтобы узнать лидеров различных групп из разных отделов, сначала используйте функцию ВЫБОР, чтобы указать таблицу, из которой нужно получить имя лидера. Затем функция ПОИСКПОЗ определит позицию этого лидера в соответствующей таблице. Наконец, функция ИНДЕКС извлечёт имя лидера на основе найденной позиции и указанного столбца, в котором перечислены имена лидеров.
Общий синтаксис
=INDEX(CHOOSE(array_num,array1,array2,…),MATCH(lookup_value,lookup_array,0),column_num)
- array_num: Номер, по которому функция CHOOSE определяет, из какого массива в списке array1, array2, … следует вернуть результат.
- array1, array2, …: Массивы, из которых нужно вернуть результат. Речь идет о трёх таблицах.
- lookup_value: Значение, по которому комбинированная формула определяет позицию соответствующего лидера. Здесь имеется в виду заданная группа.
- lookup_array: Диапазон ячеек, в котором содержится значение lookup_value. Здесь имеется в виду диапазон групп.Примечание: можно использовать диапазон групп из любого отдела, поскольку они идентичны — нам нужно лишь определить номер позиции.
- column_num: Столбец, из которого нужно извлечь данные.
Чтобы узнать лидера группы D из отдела A, скопируйте или введите приведенную ниже формулу в ячейку G5 и нажмите Enter, чтобы получить результат:
=ИНДЕКС(ВЫБОР())1,$B$5:$C$8 ,$B$11:$C$14 ,$B$17:$C$20),ПОИСКПОЗ(F5,$B$5:$B$8,0),2)
√ Примечание: знаки доллара ($) выше обозначают абсолютные ссылки, то есть диапазоны имен и классов в формуле не изменятся при перемещении или копировании формулы в другие ячейки. После ввода формулы перетащите маркер заполнения вниз, чтобы применить ее к нижестоящим ячейкам, и затем измените значение параметра array_numсоответственно.

Пояснение формулы
=INDEX(CHOOSE(1,$B$5:$C$8,$B$11:$C$14,$B$17:$C$20),MATCH(F5,$B$5:$B$8,0),2)
- CHOOSE(1,$B$5:$C$8,$B$11:$C$14,$B$17:$C$20): Функция CHOOSE возвращает 1-й массив из трёх, перечисленных в формуле. Таким образом, она вернёт $B$5:$C$8, то есть диапазон данных отдела A.
- MATCH(F5,$B$5:$B$8,0): Параметр match_type 0 заставляет функцию MATCH вернуть позицию первого совпадения значения Group D, находящегося в ячейке F5, в массиве $B$5:$B$8, который представляет собой 4.
- INDEX()CHOOSE(1,$B$5:$C$8,$B$11:$C$14,$B$17:$C$20),MATCH(F5,$B$5:$B$8,0),2) = INDEX($B$5:$C$8,4,2Функция INDEX извлекает значение на пересечении 4-й строки и 2-го столбца диапазона $B$5:$C$8, то есть Emily.
Чтобы избежать необходимости каждый раз изменять значение параметра array_numПри копировании формулы используйте вспомогательный столбец — столбец D. Формула будет выглядеть следующим образом:
=ИНДЕКС(ВЫБОР())D5,$B$5:$C$8 ,$B$11:$C$14 ,$B$17:$C$20),ПОИСКПОЗ(F5,$B$5:$B$8,0),2)
√ Примечание: числа 1,2,3во вспомогательном столбце обозначают массивы array1,array2,array3, указанные внутри функции ВЫБОР.
Связанные функции
Функция ИНДЕКС в Excel возвращает отображаемое значение по указанной позиции в диапазоне или массиве.
Функция ПОИСКПОЗ в Excel ищет заданное значение в диапазоне ячеек и возвращает его относительную позицию.
Функция ВЫБОР возвращает значение из списка аргументов по указанному порядковому номеру. Например, ВЫБОР(3;«Apple»;«Peach»;«Orange») вернёт «Апельсин»: порядковый номер — 3, а «Апельсин» — третье значение в списке аргументов функции.
Связанные формулы
Диапазон значений поиска с другого листа или из другой книги
Если вы уже умеете использовать функцию ВПР для поиска значений на листе, то поиск с её помощью данных на другом листе или в другой книге не составит для вас труда.
ВПР с динамическим именем листа
Во многих случаях вам может понадобиться собрать данные с нескольких листов для сводки. Объединив функции ВПР и ДВССЫЛ, вы сможете создать формулу, которая динамически ищет нужные значения на разных листах — даже если их имена меняются.
Поиск по нескольким критериям с помощью ИНДЕКС и ПОИСКПОЗ
При работе с крупной базой данных в таблице Excel, содержащей множество строк и столбцов с заголовками, бывает непросто найти записи, соответствующие сразу нескольким критериям. В таких случаях на помощь приходит формула массива с функциями ИНДЕКС и ПОИСКПОЗ.
Лучшие инструменты для повышения продуктивности в Office
Kutools для Excel — Помогает Вам выделяться из толпы
Kutools для Excel предлагает более 300 функций,гарантируя, что всё необходимое всегда под рукой…
Office Tab — Включает вкладочное чтение и редактирование в Microsoft Office (включая Excel)
- Переключайтесь между десятками открытых документов всего за секунду!
- Сокращает сотни кликов мышью каждый день — забудьте о «мышечной руке» раз и навсегда!
- Повышает продуктивность на 50 % при одновременном просмотре и редактировании нескольких документов.
- Добавляет эффективность вкладок в Office (включая Excel) — как в Chrome, Edge и Firefox.