A1=5 A2=+ A3=5 B1=23 B2=/ B3=3 ... ...
在第 4 列中,我需要自动执行 5 + 5、23 / 3 等。不过操作数会发生变化。我有大约 50K 个数学问题需要评估。那么我如何使用第 2 列中的符号来实际执行给定的问题。
答案1
@Tom Collins 的解决方案很棒,但如果您只想使用 Excel 而不使用 VBA,您可以在 Excel 中使用 EVALUATE 函数,但方式与您预期的不同。它不是常规的工作表函数。
您需要两个辅助列,一个用于包含连接公式,另一个用于显示最终结果。
在 D1 中,你将拥有
=A1&B1&C1
这会将单独的公式部分压缩到一个单元格中。然后您需要一个范围名称来将其转换为求值格式。
在 Excel 2007 / 2010 中,转到“公式”选项卡并定义名称。在名称中,您可以使用答案,在引用中输入公式
=EVALUATE(Sheet1!$D1)
然后在 E1 中你可以输入
=Answer
并向下拖动。
答案2
Excel 在 VBA 中有一个 Evaluate 函数。您可以使用类似下面的函数将单元格值传递给它。
Function Eval(R As Range)
Dim S As String
Dim C As Range
For Each C In R.Cells
S = S & C.Value
Next
Eval = Evaluate(S)
End Function
因此,在 A4 中你将拥有=Eval(A1:A3)