如何编译单元格中的文本? (EXCEL)

时间:2017-08-11 11:39:01

标签: excel excel-formula

在单元格中有这样的文字:Sum(d5:d10),请注意没有“=”。我想在另一个带有“=”的单元格中使用此文本,并且计算范围d5:d10之和的结果,我想要的返回值不是文本。

我的目的不是计算总和,但我想在另一个单元格中使用“=”开头的单元格文本,并得到计算结果。即:如何在excel中编译文本。

2 个答案:

答案 0 :(得分:3)

假设你有文字" SUM(A1:B1)"在单元格C1中,您希望在D1

中得到结果
  1. 转到公式定义名称
  2. 选择一个名称(例如答案)
  3. 在“引用”框中,键入= EVALUATE(C1)
  4. 点击确定
  5. 在单元格D1中,键入= Answer
  6. Result

答案 1 :(得分:2)

像这样的东西,定义一个内部评估的函数。使用类似=MetaFunction("sum(E4:E6)")的内容从工作表中调用它。这对我有用。我用1,2,3填充了单元格E4:E6,得到了6。

或者选择"=MetaFunction(G3)",然后在G3中,公式为="Sum(E4:E6)"(这与您的用例更相符)。仍然为我工作,6。

非常好奇为什么你需要这个,一个额外的" meta"必须使这个工作表变慢。

Option Explicit

Public Function MetaFunction(ByVal sFormula As String)
    Application.Volatile
    MetaFunction = Application.Evaluate(sFormula)
End Function