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

如何编译单元格中的文本?(excel),excel,excel-formula,Excel,Excel Formula,在一个单元格中有这样一个文本:Sum(d5:d10),请注意没有“=”。我想在另一个单元格中用“=”这个文本,并计算范围d5:d10之和的结果,我想要的返回值不是文本 我的目的不是计算总和,而是希望使用另一个单元格中以“=”开头的单元格文本,并获得计算结果。ie:如何在excel中编译文本 类似这样,定义一个内部求值的函数。从工作表中调用它,类似于=MetaFunction(“sum(E4:E6)”)。这对我有用。我用1,2,3填充单元格E4:E6,得到6 或者将“=MetaFunction(G

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


我的目的不是计算总和,而是希望使用另一个单元格中以“=”开头的单元格文本,并获得计算结果。ie:如何在excel中编译文本

类似这样,定义一个内部求值的函数。从工作表中调用它,类似于
=MetaFunction(“sum(E4:E6)”)
。这对我有用。我用1,2,3填充单元格
E4:E6
,得到6

或者将
“=MetaFunction(G3)”
放在G3中,然后在G3中,公式是
=“Sum(E4:E6)”
(这更符合您的用例)。仍然为我工作,6

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

Option Explicit

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

类似这样,定义一个内部求值的函数。从工作表中调用它,类似于
=MetaFunction(“sum(E4:E6)”)
。这对我有用。我用1,2,3填充单元格
E4:E6
,得到6

或者将
“=MetaFunction(G3)”
放在G3中,然后在G3中,公式是
=“Sum(E4:E6)”
(这更符合您的用例)。仍然为我工作,6

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

Option Explicit

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

假设您在单元格C1中有文本“SUM(A1:B1)”,并且您希望在D1中得到此结果

  • 转到公式定义名称
  • 选择一个名字(如答案)
  • 在“引用”框中,类型=评估(C1)
  • 单击“确定”
  • 在单元格D1中,类型=应答

  • 假设您在单元格C1中有文本“SUM(A1:B1)”,并且您希望在D1中得到结果

  • 转到公式定义名称
  • 选择一个名字(如答案)
  • 在“引用”框中,类型=评估(C1)
  • 单击“确定”
  • 在单元格D1中,类型=应答

  • @Doomenik Merci@多谢!!我找不到将Evaluate作为工作表函数。必须是Excel 4宏语言的回溯。它';s&39;老魔术';它可以工作,但没有记录。这不是一个工作表函数,这就是为什么你必须用这种奇怪的方式来做。这种知识应该被保留下来。它有一个#名字?对我来说,有什么帮助吗?你使用的是什么版本的Excel?我找不到作为工作表函数的Evaluate。必须是Excel 4宏语言的回溯。它';s&39;老魔术';它可以工作,但没有记录。这不是一个工作表函数,这就是为什么你必须用这种奇怪的方式来做。这种知识应该被保留下来。它有一个#名字?对我来说,有什么帮助吗?你用的是什么版本的Excel?