数组公式中使用的下拉菜单中的通配符

问题描述 投票:0回答:1

我一直在网上搜索几个小时!我一直在研究一个数组索引公式来搜索多个条件,并根据下拉菜单中的条件返回多个匹配项。因此,我在单元格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的其他公式允许在任何下拉列表中选择“*”来绕过该列表,或“select-all”。如果我想“全选”,是否可以在数组公式中添加一些内容以绕过该标准?

例如,在我添加的图像中,示例1显示了摘要选项卡,示例2显示了主选项卡。因此,根据我选择的标准,我想要的是在E9中查看“Bob”所有旅程中的列表。

我很感激任何建议。

非常感谢。

arrays excel excel-formula wildcard
1个回答
0
投票

您需要在每个条件中放入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)
  ),"")
© www.soinside.com 2019 - 2024. All rights reserved.