我有一个公式,我用它来动态创建公式,以便在不同的电子表格中引用数据。
例如,我在单元格中有一个返回=<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中不可用。
如何在Microsoft Excel 2010中将单元格中的值用作公式?
答案 0 :(得分:1)
要返回单元格的公式而不是其值,请使用FORMULATEXT()
。因此,如果 A1 包含:
=A2 + A4
然后选择一些单元格并输入:
=FORMULATEXT(A1)
修改#1:强>
如果您使用的是Excel 2010,则可以使用以下 UDF():
Public Function MyFormula(r As Range) As String
MyFormula = r(1).Formula
End Function
修改#2:强>
用户定义函数(UDF)非常易于安装和使用:
如果保存工作簿,UDF将随之保存。 如果您在2003年之后使用的是Excel版本,则必须保存 该文件为.xlsm而不是.xlsx
删除UDF:
从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
必须启用宏才能使其生效!
答案 1 :(得分:1)