#工程计算#【计算式中含文字注释,Excel能计算吗?能!】#Excel技巧#

前段时间和监理一起收方,要求每一项的方量必须有计算式,这个要求对Excel来说是小菜一碟。实现方法也不复杂,定义一个名称就搞定了。详见:今日头条

昨天有同事说他的甲方要求在计算式中加入注释,如“30*3[大面]-1.5*1.8[扣窗洞]+(1.5+1.8)*2*0.1[翻边]”。

其实这个要求也挺合理,加入注释能使计算步骤一目了然。再说了,如果是纯计算式,过一段时间可能连编制人都忘了每一步是什么意思。

我按前面的方法,录入带注释的数据后,Excel直接懵逼,严格来说是我懵逼了,凡是带注释的项目统统不能计算,只有不带注释的项目能正确计算。【见图1】

字符本来也是不参与运算的,也不能怪Excel。但这个问题必须要解决,手动计算是非常痛苦的。

经过研究,完美解决了。

第一步:定义名称,

具体方法:今日头条 (今日头条)

名称就随便输入一个,比如“jsss"

引用位置=EVALUATE(SUBSTITUTE(SUBSTITUTE(表1_3[@计算式],"[","*ISTEXT(""["),"]","]"")"))

见图2

说明一下,公式中的”表1_3[@计算式]“为计算式所在的单元格位置,因为我的清单采用的超级列表,所以输入的方式为”表名称[@列名称]"。如果没有使用超级列表,这里就直接输入位置就可以了。

比如你的第一个计算式在B2单元格,显示结果在C2,则光标定位在C2后开始定义名称的操作

引用位置=EVALUATE(SUBSTITUTE(SUBSTITUTE($B2,"[","*ISTEXT(""["),"]","]"")"))

当然,我强烈建议用超级列表,以便于后期做透视表来汇总数据。超级列表详见:头条专栏

特别要说明的是,我习惯用英文格式输入数据,所以中括号在公式表示为:[ ],如果你习惯在中文状态下输入数据,则中括号必须改为:【 】

引用位置=EVALUATE(SUBSTITUTE(SUBSTITUTE($B2,"【","*ISTEXT(""【"),"】","】"")"))

这个一定要注意,否则无法正确计算。

第二步:输入公式

在C2单元格输入:=jsss“这个就是刚才创建的名称”

如果清单为超级列表,则自动整列覆盖公式;

如果清单不是超级列表,在C2输入公式后向下拖动就可以了。

好了,完美解决问题,不管计算式中有没有注释,均能正确计算。见图3

后期用透视表汇总也是小菜一碟,如果想了解透视表的综合应用,请移步到我的专栏:头条专栏