数组公式

时间:2019-02-25 17:06:35

标签: arrays excel excel-formula wildcard

我已经在互联网上搜索了几个小时!我一直在研究数组索引公式,以搜索多个条件并根据下拉菜单中的条件返回多个匹配项。因此,我在单元格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 :(得分: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)
  ),"")