• 注册
  • 你转发,我送钱!

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

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

      计算式,算式

      表达式求值的实现步骤:

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

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

      上述方法适用于少量使用,且计算位置相对固定的情况,若多处需要计算表达式且位置散乱,就需要用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即为单元格参数,此公式即可计算引用单元格表达式的值

    • 0
    • 0
    • 0
    • 8
    • 单栏布局 侧栏位置: