使用INDIRECT引用封闭的Excel工作簿中的值?

我想用公式(而不是VBA!)引用另一个封闭的工作簿中的单元格值。工作表名称存储为变量(在以下示例中,C13为“ Sheet2”)。


如果另一个文件已打开,则可以执行以下操作:


=INDIRECT("[myExcelFile.xlsm]" & C13 & "!$A$1")

如果文件关闭,则上面的公式将不起作用,因为没有给出绝对路径。但是我通过以下操作使它起作用(请注意'而不是':


='C:\data\[myExcelFile.xlsm]Sheet2'!$A$1

现在,我想用动态引用值替换硬编码的“ Sheet2” ,即用C13替换(如第一个代码段所示)。


没有人知道不使用VBA或其他库的解决方案吗?


excel excel公式


慕斯王
浏览 1183回答 3
3回答

哆啦的时光机

绝对没有办法使用标准公式执行此操作。但是,可以在这里找到疯狂的答案。它仍然避免使用VBA,它将允许您动态获得结果。首先,制作将生成您的公式的公式,但不要=在开始时添加!让我们假设您在的单元格B2中创建了此公式Sheet1,并且希望在column中对公式进行求值c。现在,转到“公式”选项卡,然后选择“定义名称”。给它起个名字myResult(或您选择的名字),然后在“引用到”下写下=evaluate(Sheet1!$B2) (注意$)最后,转到C2并编写=myResult。向下拖动,然后... 瞧!

翻翻过去那场雪

检查索引功能:=INDEX('C:\path\[file.xlsm]Sheet1'!A10:B20;1;1)
打开App,查看更多内容
随时随地看视频慕课网APP