如果我手动引用另一个电子表格中的单元格(在目标单元格中键入=
,然后单击源电子表格),excel会创建如下公式:='H:\excel\data\[source_file.xls]Sheet1'!$C$5
我想从单元格和路径创建该公式,该公式存储在目标电子表格(以及一些字符串)的单元格中。
所以我在目标电子表格中有3个单元格B1:B3
这些字符串:
H:\excel\data\
source_file.xls
Sheet1!$c$5
然后,到目前为止,我已将此公式放在我希望源电子表格中的数据的单元格中:
=B1&"["&B2&"]"&B3
评估为:
H:\excel\data\[source_file.xls]Sheet1!$c$5
非常接近我需要的东西。但正如你可以看到一些单引号丢失。如果我试着把它们放进去,excel似乎认为我给它定义了一个名字。
在引用它之前我是否应该使用某种逃避字符来使其起作用?
我搜索了这个网站并且excel帮助文件无济于事。
这是问题的结束,但我预计有人会问我为什么要这样做。好吧,我想从一个充满电子表格的目录(它们都具有相同的格式)中自动从每个单元格的值中提取值。
我曾尝试使用此处的建议来做到这一点: http://www.ashishmathur.com/extract-data-from-multiple-cells-of-closed-excel-files/
不幸的是,我只能完成第一步(在源目录中创建文件的文件名列表)。其余步骤是不可能的,因为我的雇主出于安全原因不允许下载加载项(这是一家医院)。
所以我认为上面的方法概述可能有效,但我不能完全实现它!
由于
Mike A
答案 0 :(得分:0)
使用INDIRECT()
=INDIRECT("'" & B1 & "[" & B2 & "]" & B3)
如评论中所述,'
需要添加到B3,因此输入为Sheet1'!$C$5
。
您可能希望从单元格地址中拆分工作表名称,然后执行以下操作:
=INDIRECT("'" & B1 & "[" & B2 & "]" & B3 & "'!" & B4)
其中B3仅为工作表名称,B4为单元格地址。