从下拉列表中选择电子表格以在公式中查询

时间:2017-02-02 04:59:45

标签: excel excel-formula excel-2010

我有一个非常广泛的电子表格,可以存储多年的数据,为了帮助达到最终数据,我必须制作多个摘要页面来计算每年的数据。我想制作一张能够汇总数据的工作表,用户可以从下拉菜单中选择想要查看的年份,所有公式都会自动计算新数据。从我所知道的,这可以通过使用“间接”功能来完成,但是我不能让它工作,并且我开始认为由于公式的工作方式,该功能将不起作用。有没有人有一种可以产生预期效果的工作方法。

手动公式

=SUMPRODUCT((MONTH('W.A.R. 2016'!$A4:$A369)>=1)*(MONTH('W.A.R. 2016'!$A4:$A369)<=3)*('W.A.R. 2016'!$A4:$A369<=TODAY())*(ISNUMBER(FIND("Work",'W.A.R. 2016'!B4:B369))+(ISNUMBER(FIND("Wrk/Lve",'W.A.R. 2016'!B4:B369))/2)))

正在进行的公式。

=SUMPRODUCT((MONTH(INDIRECT("'("&O2&")'!$A4:$A369"))>=1)*(MONTH(INDIRECT("'("&O2&")'!$A4:$A369"))<=3)*(INDIRECT("'("&O2&")'!$A4:$A369")<=TODAY())*(ISNUMBER(FIND("Work",INDIRECT("'("&O2&")'!$A4:$A369")))+(ISNUMBER(FIND("Wrk/Lve",INDIRECT("'("&O2&")'!$A4:$A369")))/2)))

理论上我不明白为什么它不起作用,但我认为它是间接拉动数据的方式。

1 个答案:

答案 0 :(得分:0)

我可以发现一些问题。

  1. 这在工作表名称周围有不必要的括号:

    INDIRECT( “ '( ”&安培; O2&安培;“)' $ A4:!$ A369”)

  2. 它会产生一个字符串,如:'(W.A.R。2016)'!$ A4:$ A369

    您只想使用:

    INDIRECT("'" & O2 & "'!$A4:$A369")
    
    1. 您的公式存在一些不一致
    2. 第一个公式在B4:B369中搜索“工作”,在B4:B369中搜索“Wrk / Lve”,而第二个公式在范围内搜索范围。

      我试图找出公式出错的最佳建议是使用评估公式工具。

      选择具有公式的单元格,转到功能区上的“数据”选项卡,然后单击“评估公式”。它将弹出一个对话框,允许您在计算时逐步执行公式的每个部分。从那里你应该能够看到出了什么问题。