我正在处理电子表格,并且正在尝试执行以下操作:
Price Returned Net Profit
22 22
45 45
7 7
25+25 50
数据作为表达式输入,以表示特定项目的返回值。我想不通的是如何使下一个单元格等于第一个单元格的表达式值,所以基本上就像单元格是“=22”和“=25+25”。任何帮助将不胜感激。
我正在处理电子表格,并且正在尝试执行以下操作:
Price Returned Net Profit
22 22
45 45
7 7
25+25 50
数据作为表达式输入,以表示特定项目的返回值。我想不通的是如何使下一个单元格等于第一个单元格的表达式值,所以基本上就像单元格是“=22”和“=25+25”。任何帮助将不胜感激。
对于这样简单的事情,您可以制作一个 UDF:
Function Evalu8(ByVal S As String) As String
Evalu8 = Evaluate(S)
End Function
叫,喜欢=Evalu8(A4)
不幸的是,没有内置的工作表函数可以为您完成,但 VBA Evaluate 函数可以节省一天的时间。
你的问题引发了我对这个SO 问题和@iDevlop 的回答的记忆,这导致了这篇文章(这反过来又与斯蒂芬布伦的网页有一个死链接)。
基本上,您可以使用 Evaluate 函数,它实际上是一个未记录的 Microsoft XLM 宏。您必须以定义的名称使用它,否则您将收到“函数无效”错误消息。由于它确实是一个宏,因此它所在的工作簿需要保存为 .xlm 并且必须启用宏才能使其工作。如果所有这些都对您有用,那么您就是这样做的(如果没有,请查看上述 SO 问题的已接受答案,或@Daniel Cook 的答案,在我处理此答案时弹出):
EvaluateCellToLeft
=evaluate(Sheet1!A1)
这是它在 Excel 2010 中的外观:
现在在 B 列中输入=EvaluateCellToLeft
。请记住,这是一个命名范围,而不是公式,所以最后没有括号。