我有一个公式,我用它来动态创建公式,以引用单独的电子表格中的数据 .
例如,我在单元格中有一个返回 =<path>\[<file>]<reference>
的公式 . 因此单元格 R496
的返回值将是字符串 ='D:\Documents\[Filename.xls]sheet1'!$A$3
.
根据Apple Pie's answer Using the value in a cell as a cell reference in a formula,我可以使用 =INDIRECT(reference)
从公式中的另一个单元格中引用值 . 不幸的是,当从另一个单元格中解释完整的公式时,这似乎不起作用 .
在Microsoft Excel 2013 and above中,我可以使用 =FORMULATEXT()
,但不幸的是,Excel 2010中没有该选项 .
How can I use the value from a cell as a formula in Microsoft Excel 2010?
2 回答
试试这个:
您想要一种更通用的方法来评估公式 . 您将需要使用此UDF:
一开始仍然没有必要
=
,但也不会受伤 .要返回单元格的公式而不是其值,请使用
FORMULATEXT()
. 所以如果 A1 包含:然后选择一些单元格并输入:
EDIT#1:
如果您有Excel 2010,则可以使用以下UDF():
EDIT#2:
用户定义函数(UDF)非常易于安装和使用:
ALT-F11调出VBE窗口
ALT-I ALT-M打开一个新模块
粘贴内容并关闭VBE窗口
如果保存工作簿,UDF将随之保存 . 如果您在2003年之后使用的是Excel版本,则必须将文件另存为.xlsm而不是.xlsx
要删除UDF:
如上所述调出VBE窗口
清除代码
关闭VBE窗口
要从Excel使用UDF:
= myfunction的(A1)
要了解有关宏的更多信息,请参阅:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
和
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
有关UDF的详细信息,请参阅:
http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx
Macros must be enabled for this to work!