我使用一个指数匹配函数,从气象站数据中提取200个野外站点的季节性降雨量,并将其放入一个概要文件中。
每个气象站位于不同的excel文件中。
不同的野外站点需要来自离它们最近的气象站的数据。
我可以使用以下公式一次成功地建立一个气象站:
=INDEX('PATH\BB.xlsx'!rain,(MATCH($I$4&$I$5,PATH\BB.xlsx'!year&'PATH\BB.xlsx'!season,0)))
哪里
·PATH =文件位置(我可以键入它,因为它总是相同的)
·BB.xlsx = Filename.xlsx
·降雨、年份和季节在气象站工作簿中被命名为范围
·$I$4 =包含年度查找值的单元格
·$I$5 =包含季节查找值的单元
但是,这意味着手动更改每个字段站点的公式中的文件名。
因此,我正在尝试编写一个公式,该公式将自动转到正确的气象站文件,以找到正确的降雨值。。
我发现了this帖子中的MOREFUNC外接程序,然后我将公式建立在this帖子上。
这是我的公式:
=INDEX(INDIRECT.EXT("'PATH["&$F8&"]seasonaldata'!"&$K$3),MATCH(1,(INDIRECT.EXT("'PATH["&$F8&"]seasonaldata'!"&$K$5)=I5)*(INDIRECT.EXT("'PATH["&$F8&"]seasonaldata'!"&$K$4)=I4),0))
哪里
·PATH =文件位置(我可以键入它,因为它总是相同的)
·$F8 = Filename.xlsx (这是我想要访问的工作簿的名称)
·季节性数据=表名
·$K$3 =查找范围(实际上,K3是一个包含单词“K3”的单元格,它是气象站文件中查找范围的名称)
·$K$5 =
·$K$4 =
·I5 =包含一个查找值的单元格,它是一个名称(一个季节,即冬季)
·I4 =包含其他查找值的单元格,即一个数字(一年,即2013年)
这个公式一直用到最后一部分,
'PATH["&$F8&"]seasonaldata'!"&$K$4)=I4
它查找年份并正确标识我在单元格I4中指定的年份,然后返回所有的假值,即它与我在单元格I4中指定的值与在“年份”范围内找到的值不匹配。
我做错了什么?
谢谢。
发布于 2017-02-08 13:37:24
这是我自己想出来的--这是一个答案,以防它对未来的任何人有任何帮助:
=INDEX(INDIRECT.EXT("'PATH ["&$F8&"]seasonaldata'!"&$K$3),(MATCH($I$4&$I$5,(INDIRECT.EXT("'PATH["&$F8&"]seasonaldata'!"&$K$4))&(INDIRECT.EXT("'PATH["&$F8&"]seasonaldata'!"&$K$5)),0)))
https://stackoverflow.com/questions/42094627
复制相似问题