我们在计算工程量时,经常要处理带文本内容的计算式,例如下面这段:
5【长】*5【宽】*1【高】
但是我们使用EVALUATE 函数来计算的时候就会发生错误,是因为这个函数不管在wps里还是在EXCEL里都没办法处理文本和“【】”特殊符号。
这时候就需要我们使用SUBSTITUTE 函数来替换文本和特殊符号。
我们可以使用字符替换函数公式SUBSTITUTE(a1,"【","")将一个特殊符号替换为空字符,5【长】*5【宽】*1【高】将被替换为5长】*5宽】*1高】。
也可以使用SUBSTITUTE(a1,"【","*istext("""),把5【长】*5【宽】*1【高】替换为5*istext("长】*5*istext("宽】*2*istext("高】。
我们还可以使用两个SUBSTITUTE函数,将5【长】*5【宽】*1【高】替换为5*istext("长")*5*istext("宽")*2*istext("高")。
SUBSTITUTE(SUBSTITUTE(A6,"】",""")"),"【","*istext(""")
替换结果中的istext(""),也是表格中的内置函数,表示如果括号中的字符为空,则返回0表示false,如果括号中的字符不为空,则返回1表示true。因为我们在函数中增加了双引号,所以istext()函数永远返回1。我们用1乘以任意数,都等于数本身。最终,我们实现了,将计算式中任意文本转换为乘以1的效果。
所以,我们只要再套上EVALUATE 函数,就可以实现计算式中带文本的处理办法。最终的公式如下:
=EVALUATE(SUBSTITUTE(SUBSTITUTE(A1,"】",""")"),"【","*istext("""))
将式子中的A1改为要应用的单元格即可。