EXCEL数学表达式如4+(2*3)求值的2种解决方案 图文 evaluate

2016年9月23日03:01:40 评论 3,013 views
微信公众号 【EXCEL880】 QQ群【165159540】 Excel课程咨询 请加郑广学老师微信EXCEL880B

首先说明什么叫表达式,所谓表达式就是我们通常手写的算式,比如(1+2*3-3)/1,大家都知道在excel中计算这个表达式的值只需要在任意单元格输入=(1+2*3-3)/1即可,我这里要讲的问题是例如在A列中已经填写了文本(1+2*3-3)/1,现在要在B列中通过A列的算式直接得到A1的值,这个问题就归结为对表达式求值。如下图,A列是表达式,B列是结果,

计算式,算式

Excel数学表达式如4+(2*3)求值的2种解决方案

表达式求值的实现步骤:

1、选中B3单元格,按下CTRL+F3,会弹出自定义名称对话框,在对话框中名称栏和引用位置栏按下图填写,点击添加按钮 确定,返回工作表

说明: http://files.c.excelhome.net/album/201701/30/215903whmolz28bloigiym.gif

扩展****************

上述方法适用于少量使用,且计算位置相对固定的情况,若多处需要计算表达式且位置散乱,就需要用vba自定义函数

步骤:

1、工具-选项-安全性-宏安全性-低(2010版到 选项-信任中心设置-宏设置-设置宏安全性为),关闭excel重开

2、alt+F11打开vba编辑器,插入-模块,在右边空白处粘贴以下代码

Function evl(s As String)

evl = Evaluate(s)

If s = "" Then evl = 0

End Function

然后返回到工作表,例如要计算A1中表达式的值 则在任意单元格 只需要输入=evl(A1)即可

evl(rng),rng即为单元格参数,此公式即可计算引用单元格表达式的值