我有这个公式=IF(G6="", "", CONCATENATE("[",INDIRECT(G6),"]","Sheet1","!$A1"))
。
从列file name
读取excel G6
,然后从Column A
读取Sheet1
。
这会导致Cell Reference Error
无效。这有什么问题吗?
答案 0 :(得分:3)
这就是你需要的:
=IF(G6="", "", INDIRECT(CONCATENATE("'[",G6,"]Sheet1'!$A1")))
如果G6
包含文字zipcodes-phoenixTEST.xlsx
,则公式等同于
='[zipcodes-phoenixTEST.xlsx]Sheet1'!$A1
将产生文件A1
Sheet1
的单元格zipcodes-phoenixTEST.xlsx
的值...
答案 1 :(得分:0)
=IF(G6="", "", CONCATENATE("[",INDIRECT("G6"),"]",Sheet1!$A1))
你错过了围绕G6的双引号
答案 2 :(得分:0)
我过去做过这个,
首先,你需要拥有正在阅读/搜索的excel文件,打开。然后,您必须在INDIRECT
之后使用CONCATENATE
:
INDIRECT(CONCATENATE("[", G6, "]", "Sheet1","'!$A1"))
注意强>
'
!
"!$A1"
之前"'!$A1"
忘记了{{1}}
答案 3 :(得分:0)
这个对我有用:
=IF(G6=""; ""; CONCATENATE("[";INDIRECT("G6");"]";Sheet1!$A1))
我的Excel告诉我应该在函数中使用分号(;)(althogh我没有英文版)。另外,你不应该将Sheet1和地址分开 - 它们只能在一起使用时起作用:Sheet1!$ A1。这也不应包含在“”中。