打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
evaluate计算工程量的表达式

小伙伴们好,今天和大家分享点特别的——表达式的计算。有些小伙伴可能是做工程方面的工作,要用excel来记录工程量的表达式,并计算其结果。那么今天就来说下工程量表达式的计算方法。

A列是源数据,都是一些表达式,但是其中会有文字说明的部分。要计算其结果就会增加一些难度。其中B,C两列是计算的结果。

我们用到的函数是evaluate,它是一个宏表函数,要在定义名称里使用。它可以计算数字表达式的结果。下面做一个简单的例子,计算下面表达式的结果。

首先选中B7单元格,点【公式】-【定义名称】-弹出【新建名称】对话框。在名称中输入一个名称,这里输入jg;引用位置输入公式=evaluate(a7),点确定。

这样名称就定义好了,然后在B7单元格输入公式=jg,回车确定,就得到表达式的结果。

数字表达式的计算方法了解了,就要看最开始的工程量表达式的计算问题了。有些小伙伴可能会想,既然evaluate可以计算数字的表达式,那么只需将工程量表达式中的文本替换掉就可以用evaluate来计算了。也就是将1*2[一层]+2*3[二层]替换为1*2+2*3。没错,这种思路是可以的,不过要替换多次,如果有多个中括号包含的文字,那就麻烦了。

其实evaluate除了可以计算数字的表达式,也可以计算包含函数的表达式。所以我们要将1*2[一层]+2*3[二层]替换为1*2*istext("[一层]")+2*3*istext("[二层]"),这样就替换为包含函数的表达式,然后再用evaluate求值。

关键的部分就是怎么将1*2[一层]+2*3[二层]替换为1*2*istext("[一层]")+2*3*istext("[二层]")?用的函数为substitute。公式为=SUBSTITUTE(SUBSTITUTE(A2,"[","*istext(""["),"]","]"")")

替换的公式用了2个substitute,第1个是将左中括号[替换为*istext("[,第2个是将右中括号]替换为]")。但是要注意公式中的双引号,双引号本身作为字符,在公式中要双倍双引号。之前有一篇文章详细说过这个问题。

替换完成后,只需将包含函数的表达式放在evaluate中就可以了。继续定义名称,创建一个结果1的名称,引用位置输入公式=EVALUATE(SUBSTITUTE(SUBSTITUTE(A2,"[","*istext(""["),"]","]"")")),点确定。

然后在B2单元格输入公式=结果1,回车确定就算出工程量表达式的计算结果了。

还有其他的公式可以完成,如=EVALUATE(SUBSTITUTE(SUBSTITUTE(A2,"[","+n("""),"]",""")")),当然也要定义为名称。

最后要把excel文件保存为启用宏的工作簿,也就是(.xlsm)格式的文件,否则公式会丢失。感兴趣的小伙伴就试一下吧。

链接:

https://pan.baidu.com/s/1JXSoiCXXFCXZcqPM7FKZ7A

提取码:bevi

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
表达式的计算练习讲解
excel/WPS工程量计算式两种标注方式的公式
Excel Substitute函数用法的8个实例,含工程量计算、嵌套一次替换多个字符、带单位求和与Replace的区别
Excel技巧应用篇:将包含文本的复杂表达式转换成值
使用EVALUATE函数计算文本算式
注意啦!如果在Excel中遇到这种情况,你要这么操作
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服