Подстановочный знак в выпадающем меню, используемом в формуле массива - PullRequest
0 голосов
/ 25 февраля 2019

Я искал в Интернете часами!Я работал над формулой индекса массива для поиска нескольких критериев и возврата нескольких совпадений на основе критериев в раскрывающихся меню.Итак, у меня есть следующая формула в ячейке E9, которая ищет ячейки E2, F2, G2, H2, I2 и J2 в таблице «Сводка» по соответствующим столбцам в таблице «Основные».

=IFERROR(INDEX(Main!$E$3:$E$200,SMALL(IF(1=((--($E$2=Main!$A$2:$A$200))*(--($F$2<=Main!$C$2:$C$200))*(--($G$2>=Main!$D$2:$D$200))*(--($H$2=Main!$B$2:$B$200))*(--($I$2=Main!$H$2:$H$200))*(--($J$2=Main!$I$2:$I$200))),ROW(Main!$E$3:$E$200)-3,""),ROW()-8)),"")

Другие формулы, которые у меня есть для SUMIF & COUNTIF, позволяют выбрать «*» в любом из раскрывающихся списков, чтобы обойти этот список, или «выбрать все».Можно ли что-то добавить в формулу массива, чтобы обойти этот критерий, если я хочу «выбрать все»?

Например, на изображениях, которые я добавил, в Примере 1 отображается вкладка «Сводка», а в Примере 2 -Главная вкладка.Итак, для критериев, которые я выбрал, я хочу видеть список в E9 вниз всех путешествий, в которых находился «Боб».

Буду признателен за любой совет.

Большое спасибо.

Example 1

Example 2

1 Ответ

0 голосов
/ 25 февраля 2019

Вам нужно будет поместить IF внутри каждого критерия:

If($E$2 = "Select All",1,$E$2=Main!$A$2:$A$200)

так:

=IFERROR(INDEX(Main!$E$2:$E$200,
  SMALL(
    IF(If($E$2 = "Select All",1,$E$2=Main!$A$2:$A$200)*
       If($F$2 = "Select All",1,$F$2<=Main!$C$2:$C$200)*
       If($G$2 = "Select All",1,$G$2>=Main!$D$2:$D$200)*
       If($H$2 = "Select All",1,$H$2=Main!$B$2:$B$200)*
       If($I$2 = "Select All",1,$I$2=Main!$H$2:$H$200)*
       If($J$2 = "Select All",1,$J$2=Main!$I$2:$I$200)
       ,ROW(Main!$E$2:$E$200)-1,"")
    ,ROW()-8)
  ),"")
...