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

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

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

假定在单元格C1中具有文本“SUM(A1:B1)”,并且您想在D1中获得此结果

  1. 转到公式定义名称
  2. select一个名字(例如答案)
  3. 在“引用”框中,键入= EVALUATE(C1)
  4. 点击OK
  5. 在单元格D1中键入=答案

结果

就像这样,定义一个内部评估的函数。 从工作表调用它=MetaFunction("sum(E4:E6)") 。 这对我有效。 我用1,2,3填充单元格E4:E6并获得6。

或者把"=MetaFunction(G3)" ,然后在G3中的公式是="Sum(E4:E6)" (这是更符合您的使用情况)。 仍然为我工作,6。

非常好奇为什么你需要这个,一个额外的“元”层必须使这个工作表慢。

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