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

2016年9月23日03:01:40 评论 2,582 views
表格 定制  数据 合并 处理 分析 VBA 编程 开发 网页
表格 定制  数据 合并 处理 分析 VBA 编程 开发 网页

首先说明什么叫表达式,所谓表达式就是我们通常手写的算式,比如(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即为单元格参数,此公式即可计算引用单元格表达式的值

  • 郑广学老师微信号
  • EXCEL880B
  • weinxin
  • 我的微信公众号
  • EXCEL880
  • weinxin
表格 定制  数据 合并 处理 分析 VBA 编程 开发 网页
表格 定制  数据 合并 处理 分析 VBA 编程 开发 网页