如何使单元格等于另一个单元格中表达式的值(Excel 2010)?

时间:2012-12-24 00:41:46

标签: excel

我正在制作电子表格,我正在尝试这样做:

Price Returned      Net Profit

22                  22
45                  45
7                   7
25+25               50

数据作为表达式放入,表示特定项目的返回值。我无法弄清楚的是如何使下一个单元格等于第一个单元格的表达值,所以基本上好像单元格是“= 22”和“= 25 + 25”。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

对于类似这样的简单事情,你可以创建一个UDF:

Function Evalu8(ByVal S As String) As String
    Evalu8 = Evaluate(S)
End Function

被叫,如=Evalu8(A4)

不幸的是,没有内置的工作表功能会为你做,但VBA Evaluate function可以节省一天。

答案 1 :(得分:2)

你的问题引发了我对这个SO question和@ iDevlop的回答的记忆,导致this post(反过来又与Stephen Bullen的网页有一个死链接)。

基本上,您可以使用Evaluate函数,它实际上是一个未记录的Microsoft XLM宏。您必须在定义的名称中使用它,否则您将收到“函数无效”错误消息。由于它实际上是一个宏,因此需要将其保存为.xlm的工作簿,并且必须启用宏才能使其工作。如果所有这些对您有用,请按照以下方式进行操作(如果没有,请查看上面提到的SO问题的答案,或者@Daniel Cook的答案,当我正在处理这个答案时,它会弹出):

  1. 使用计算在工作表中选择B1(Sheet1在此中 例如)
  2. 单击Ctrl-F3打开Excel的名称管理器
  3. 创建一个新名称并将其命名为EvaluateCellToLeft
  4. 将范围设置为Sheet1
  5. 在引用框中,输入=evaluate(Sheet1!A1)
  6. 这就是它在Excel 2010中的外观:

    enter image description here

    现在在B栏中输入=EvaluateCellToLeft。请记住,这是一个命名范围,而不是公式,所以最后没有括号。

    enter image description here