我想要 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) 非常容易安装和使用:
- ALT-F11 打开 VBE 窗口
- ALT-I ALT-M 打开新模块
- 粘贴内容并关闭 VBE 窗口
如果您保存工作簿,UDF 将随之保存。如果您使用的是 2003 之后的 Excel 版本,则必须将文件保存为 .xlsm 而不是 .xlsx
要删除 UDF:
- 调出如上所示的 VBE 窗口
- 清除代码
- 关闭 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 位数字)时才有效,但根据您拥有的数据行数,这可能适合您的需要!