2016-04-09 4 views
0

Я ищу возвращающие несколько значений столбцов, используя несколько критериев соответствия. Прилагается скриншот образца листа, который имеет мои критерии на ячейке B1 & C1. Итак, при сопоставлении двух критериев (пример «Team1» & «низкий»), он должен возвращать заголовок столбцов (пример Name10 & name14) из заголовка Ranger C3: N3.Возврат значений столбцов нескольких столбцов с использованием нескольких критериев соответствия

Я попробовал несколько формул, и как далеко я ушел: =INDEX($C$2:$AL$2,SMALL(IF(($A$3:$A$21=$B$1)*($B$3:$B$21=$C$1),ROW($A$3:$A$21)-ROW($A$3)+1),ROW(1:1)))

Я не уверен, что не хватает?

enter image description here

enter image description here

Заранее спасибо Fox

+0

Не можете понять, чего вы ожидаете получить и где. Когда два критерия, указанные вами в ячейках B1 и C1, совпадают (оба или только один из них?) В cloumns A и B, какие имена строки 2 вы ожидаете получить? Те, у которых соответствующее ненулевое значение в диапазоне C3: AC21? Любая разница, если соответствующее число равно 1, 2 3 или другое? И ... где вы собираетесь вводить формулу? Где вы хотите выход? – EttoreP

+0

Оба критерия в B1 & C1 должны быть сопоставлены. Я ожидаю получить только столбец заголовка (который является списком имен для ex header1 или заголовка 7) в результате соответствия, а не значения строки (C3: AC21). Как для того, чтобы иметь форумла, он может быть в A23 и отведен для A30. Спасибо – foxx

+0

Хорошо, но какие имена вы ожидаете получить из столбца заголовка, когда есть совпадение в столбцах A и B? Связаны ли имена с числом> 0? Не могли бы вы привести несколько примеров ожидаемого результата? Например, с «team2» и «low» или «team3» и «mid»? – EttoreP

ответ

0

Прежде всего, в вашем примере вы отмечаете строки 3 и 4, но только один из указанных критериев, которые подбираются в этой строке: низкий, потому что Team4 указан в критериях, которые не соответствуют, поэтому я буду считать, что вы ищете один OR оба указанных критерия.
Единственный способ, которым я могу себе представить, для этого с формулой, чтобы использовать формулу, как этот

=SE(C3<>0;$C$2&", ";"")&SE(D3<>0;$D$2&", ";"")&SE(E3<>0;$E$2&", ";"")&SE(F3<>0;$F$2&", ";"")&SE(G3<>0;$G$2&", ";"")&SE(H3<>0;$H$2&", ";"")&SE(I3<>0;$I$2&", ";"")&SE(J3<>0;$J$2&", ";"") 'and so on... 

где SE() это функция IF() на моем языке, с этой формулой в правой колонке таблицы (например, Col O) у вас будет список названий этой строки, где соответствующее число отличается от 0 ... расширить формулу вниз для всех строк, а затем, с формулой, как этот

=SE(O(A1=A3;B1=B3);O3;"")&SE(O(A1=A4;B1=B4);O4;"")&SE(O(A1=A5;B1=B5);O5;"")&SE(O(A1=A6;B1=B6);O6;"")&SE(O(A1=A7;B1=B7);O7;"") 'and so on... 

с функцией O(), соответствующей OR() вы соедините строки (имена) строк, которые соответствуют одному из ИЛИ оба критерия. Если вы хотите совместить оба критерия, вы должны использовать AND() вместо OR().
Проблема такого подхода заключается в том, что формула становится очень длинной, если у вас много имен и много строк, и если вы добавляете строки, вам нужно изменить формулу. Другая проблема заключается в том, что если вы будете сопоставлять одно и то же имя больше раз, оно будет повторяться в списке, который выводится формулой ... и список имен заканчивается запятой.

На самом деле я не могу сказать, что это хороший способ получить то, что вам нужно, но это единственное, что я могу представить только с помощью формул.

Если вы должны использовать макрос, проблема будет решена лучше и более гибким способом, если вы?

Смежные вопросы