2015-09-11 2 views
-1

У меня есть таблица с тремя столбцами. Таким образом, заголовки столбцов: Клиент, Событие и Владелец. Я хочу ввести значение «Клиент» и «Событие» в ссылочных ячейках, а формула возвращает список всех значений «Владелец», соответствующих критериям «Клиент» и «Событие».Возвращение нескольких значений с использованием нескольких критериев соответствия

У меня есть формула, которая фильтрует по одному критерию, и возвращает список всех матчей (F1 моя ссылка на ячейку):

=IF(ISERROR(INDEX($C$1:$C$6,SMALL(IF($A$1:$A$6=$F$1,ROW($A$1:$A$6)),ROW(1:1)),1)),"",INDEX($C$1:$C$6,SMALL(IF($A$2:$A$6=$F$1,ROW($A$2:$A$6)),ROW(1:1)) 

У меня есть формула, которая фильтрует по двум критериям, но только возвращает первый матч (J1 и J2 мои ссылки на ячейки):

=INDEX(C2:C6,MATCH(1,(A2:A6=J1)*(B2:B6=J2),0),1) 

мне нужна помощь, сочетающий в себе две формулы, так что я могу как фильтр по двум критериям и вернуть все матчи в списке. Я попробовал добавить второй критерий для оператора IF, вложенного в функцию SMALL первой формулы, но он, похоже, не работает.

+1

Не могли бы вы использовать встроенный фильтр данных Excel? – xidgel

+0

Я сомневаюсь, что ваша первая формула ничего не возвращает. – pnuts

+0

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

ответ

0

Трудно знать, что вам нужно, не видя данных, но, пожалуйста, дайте это.

Это формула массива и должна быть подтверждена с Ctrl + Сдвиг + Введите.

=IFERROR(INDEX(C$1:C$11,SMALL(IF((A$2:A$11=J$1)*(B$2:B$11=J$2),ROW(A$2:A$11)),ROW(1:1))),"") 

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

+0

Когда я вхожу в формулу, она возвращает значение для ячейки ниже ожидаемой. Итак, если ожидаемый результат в ячейке C2, формула вернет значение для C3. –

+0

В какой строке представлены ваши данные? –

+0

Строка 2. Строка 1 содержит заголовки столбцов. Я просто увеличил диапазон для индекса, и теперь он вытягивает правильное значение ячейки. –