Формула Excel: поиск и перенос по нескольким критериям -

Содержание

Общая формула

(=INDEX(rng1,MATCH(1,($A1=rng2)*(B$1=rng3),0)))

Резюме

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

(=INDEX(amount,MATCH(1,($F5=location)*(G$4=date),0)))

Обратите внимание, что эта формула представляет собой формулу массива и должна вводиться с помощью Ctrl + Shift + Enter.

В этой формуле также используются три именованных диапазона: местоположение = B5: B13, сумма = D5: D13, дата = C5: C13.

Объяснение

Ядром этой формулы является ИНДЕКС, который извлекает значение из именованного диапазона «количество» (B5: B13):

=INDEX(amount,row_num)

где row_num определяется функцией ПОИСКПОЗ и некоторой логической логикой:

MATCH(1,($F5=location)*(G$4=date),0)

В этом фрагменте местоположение в F5 сравнивается со всеми местоположениями, а дата в G4 сравнивается со всеми датами. Результатом в каждом случае является массив значений ИСТИНА и ЛОЖЬ. Когда эти массивы умножаются вместе, математическая операция приводит значения TRUE и FALSE к единице и нулям, так что поисковый массив, переходящий в MATCH, выглядит следующим образом:

(1;0;0;0;0;0;0;0;0)

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

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

Транспонировать с помощью специальной пасты

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

Интересные статьи...