如何将未求值的数学公式保存在 Excel 的一个单元格中,并在另一个单元格中对其进行求值?

如何将未求值的数学公式保存在 Excel 的一个单元格中,并在另一个单元格中对其进行求值?

我想要 Excel 中有两个单元格:

在第一个方程(fx A1)中我想要得到一个像2 + 2
在第二个方程(fx A2)中我想要得到解 = 4。

我该怎么做?

答案1

首先在标准模块中输入以下UDF:

Public Function eval(strng As String) As Variant
    eval = Evaluate(strng)
End Function

然后在 A2 中输入:

=评估(A1)

用户定义函数 (UDF) 非常容易安装和使用:

  1. ALT-F11 打开 VBE 窗口
  2. ALT-I ALT-M 打开新模块
  3. 粘贴内容并关闭 VBE 窗口

如果您保存工作簿,UDF 将随之保存。如果您使用的是 2003 之后的 Excel 版本,则必须将文件保存为 .xlsm 而不是 .xlsx

要删除 UDF:

  1. 调出如上所示的 VBE 窗口
  2. 清除代码
  3. 关闭 VBE 窗口

要从 Excel 使用 UDF:

=我的函数(A1)

要了解有关宏的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

有关 UDF 的详细信息

必须启用宏才能使此功能起作用

答案2

您可能无法使用工作表函数完全完成您想要的操作,这是在这里回答这是设计使然。

您可以使用 VBa 实现这一点(并且您的帖子没有说明是否使用 VBa,因此我认为没有),或者您可以could寻找旧的 XLM GET.FORMULA(),但是 VBa 更好(并且我对 XLM 一无所知)

你可以做类似的事情

=FORMULATEXT(formulaCell)      

FORMULATEXT requires the morefunc.xll add-in. 

来源


但是,作为一种解决方法,并基于您问题中的确切示例,您可以执行以下操作(有效)

=SUM(LEFT(A1,1),RIGHT(A1,1))

这仅在公式为 N+N(其中 N 为 1 位数字)时才有效,但根据您拥有的数据行数,这可能适合您的需要!

在此处输入图片描述

相关内容