Excel 2007 在另一个单元格中显示公式结果

Excel 2007 在另一个单元格中显示公式结果

我在 COL 1 中有许多行包含简单表达式(带有括号的加法、减法、乘法和除法),我需要在另一个单元格中显示结果。

我的表格的最终结果示例如下:

列 1 ___________ 列 2

5.1*3+2,5 _________ 17.8

3*(2.6/2-1) ________ 0.9

5+6*2-3/3 _________ 16

提前谢谢您,希望我说清楚了。

答案1

使用 VBA 宏可以实现这一点。我不太确定是否存在任何函数或表达式可以直接将文本评估为 Excel 中的表达式。

在 Excel 工作簿中按 ALT + F11 打开 VBA

插入宏并在其中输入以下代码

Function EvaluateExp(Ref As String)
   Application.Volatile
   EvaluateExp = Evaluate(Ref)
End Function

将工作簿保存为任何文件名 .xlsm,即启用宏的 Excel 工作表。这将创建一个自定义公式来评估文本表达式的结果。现在我们在 Excel 中使用此公式。请注意,这只适用于包含此宏的 Excel 工作簿。将公式复制到另一张工作表会导致错误,因为缺少宏。

现在您的表达式位于 A2 到 A6 中,因此在单元格 B2 中键入以下公式并将其向下拖动。

=EvaluateExp(CONCATENATE("=",(A2)))

在此处输入图片描述

在此处输入图片描述

答案2

有一个简单的方法可以做到这一点,即使用内置的 EVALUATE() 函数。这有点奇怪,因为它只能用作命名范围的一部分。

为此,请选择第一个结果单元格(此处为 B2)并为该单元格定义一个名称。在我的 Excel 版本中,您可以通过选择“插入”>“名称”>“定义...”来进入此对话框(但根据 pat2015 的图片判断,而不是他的版本。)

关键是在“引用:”框中使用 EVALUATE() 函数。

在此处输入图片描述

定义好范围后,就可以像函数一样在B2中输入名称了:

在此处输入图片描述

并向下填充计算出文本表达式中的所有答案。

在此处输入图片描述

这基本上与 pat2015 的答案相同,但您不必创建宏。这确实使用了宏,因此您需要将工作簿保存为 .xlsm。保存时您会收到有关此情况的通知。

相关内容