Chr*_*ris 10 excel excel-formula
我想用另一个公式(不是VBA!)来引用另一个已关闭的工作簿中的单元格值.工作表名称存储为变量(在以下示例中,C13是"Sheet2").
如果另一个文件是打开的,那么以下工作:
=INDIRECT("[myExcelFile.xlsm]" & C13 & "!$A$1")
Run Code Online (Sandbox Code Playgroud)
如果文件已关闭,则上述公式不起作用,因为没有给出绝对路径.但我得到了以下工作(注意'而不是':
='C:\data\[myExcelFile.xlsm]Sheet2'!$A$1
Run Code Online (Sandbox Code Playgroud)
现在我想用动态引用值替换硬编码的"Sheet2",意思是C13(如第一个代码片段所示).
有没有人知道不使用VBA或其他库的解决方案?
Ben*_* I. 10
使用标准公式绝对没有办法做到这一点.但是,这里可以找到一种疯狂的答案.它仍然避免使用VBA,它将允许您动态获取结果.
首先,制作将生成您的公式的公式,但不要=
在开头添加!
让我们假设您已在单元格B2
中创建了此公式Sheet1
,并且您希望在列中评估公式c
.
现在,转到"公式"选项卡,然后选择"定义名称".给它起名字myResult
(或你选择的任何东西),然后在参考下,写=evaluate(Sheet1!$B2)
(注意$
)
最后,去C2
,写=myResult
.向下拖,然后...... 瞧!
小智 5
我也在寻找在封闭的工作簿中引用单元格的答案。这是下面解决方案(正确公式)的链接。我已经在当前的项目中尝试过它(引用单个单元格和单元格数组),并且它运行良好,没有错误。我希望它对你有帮助。
https://www.extendoffice.com/documents/excel/4226-excel-reference-unopened-file.html
公式中,E:\Excel file\
是未打开的工作簿的完整文件路径,test.xlsx
是工作簿的名称,Sheet2
是包含需要引用的单元格值的工作表名称,A:A,2,1
表示该单元格A2
将在关闭的工作簿中引用。您可以根据您的需要更改它们。
如果您想手动选择工作表进行参考,请使用此公式
=INDEX('E:\Excel file\[test.xlsx]sheetname'!A:A,2,1)
应用此公式后,您将看到一个“选择工作表”对话框,请选择一个工作表,然后单击“确定”按钮。然后将立即引用该工作表的某个单元格值。