这个Excel公式有什么问题?

我有这个公式=IF(G6="", "", CONCATENATE("[",INDIRECT(G6),"]","Sheet1","!$A1"))

它从列G6读取excel file name ,然后从Sheet1读取Column A

这给无效的Cell Reference Error 。 这有什么问题吗?

这是你需要的:

 =IF(G6="", "", INDIRECT(CONCATENATE("'[",G6,"]Sheet1'!$A1"))) 

如果G6保存文本zipcodes-phoenixTEST.xlsx ,则公式相当于

 ='[zipcodes-phoenixTEST.xlsx]Sheet1'!$A1 

这将产生文件zipcodes-phoenixTEST.xlsx Sheet1的单元格A1的值…

 =IF(G6="", "", CONCATENATE("[",INDIRECT("G6"),"]",Sheet1!$A1)) 

你错过了G6的双引号

这个为我工作:

 =IF(G6=""; ""; CONCATENATE("[";INDIRECT("G6");"]";Sheet1!$A1)) 

我的Excel告诉我,我应该在函数中使用分号(;)(我没有英文版本)。 此外,您不应该将Sheet1和地址分开 – 它们只能在一起使用时使用:Sheet1!$ A1。 这也不应该被包裹在“”中。

我以前做过这个,

首先你需要有你正在阅读/search的excel文件,打开。 那么你必须在CONCATENATE之后使用INDIRECT

 INDIRECT(CONCATENATE("[", G6, "]", "Sheet1","'!$A1")) 

注意

你以前忘了!"!$A1"应该是"'!$A1"