excel怎么自动计算出表格中的计算公式这应该是现在很多的办公的人都是需要面对的,那么你一般都是用什么样子的方法去解决的了?现在就可以试试下面的这些方法吧!
方法一二都是在office2003里面的,简单的说就是使用宏。有些情况下,比如工程结算单,通常在左边一个单元格写上表达式,比如:5*6-3,方便别人核对计算过程,右边一个单元格放置计算结果,比如:27。
如果发现左边单元格中的计算表达式不对,进行了修改,比如修改为:5*5-6,那么右边单元格必须立刻根据左边单元格的表达式,自动更新结果19。
如果要实现这样的功能,表面上看起来很难,实际上只要用好Evaluate功能就很简单。
(特别说明:因EVALUATE为4.0宏函数,在工作表中不能直接使用,只能在定义单元格名称、宏(VBA代码)中使用)
方法一:
难度系数:很难
比如A1单元格中放置表达式,A2单元格放置计算结果,那么,
1、先选中B1单元格,依次点击:菜单->插入->名称->定义:x=EVALUATE(A1),点确定。
2、在B1单元格输入公式:=x这时候,如果A1单元格中是表达式:5*5-6,这时候A2的值就会为19:
(补充说明:如果A1没有内容,或者根本不是可以进行运算的表达式,那么B1单元格的公式可以设置为=IF(NOT(ISERR(x)),x,0),这样可以过滤掉错误结果。)
如果要同样的方法计算B2,b3...,只要进行拖动复制就可以了。
方法二:自定义函数
难度系数:较难
第一步:添加自定义函数
在当前文档的Visual Basic工程中添加一个模块,并输入下面的函数:
Function JS(表达式 As String)
JS = Application.Evaluate(表达式)
End Function
特别提示:
搞工程的朋友可能经常用到表达式的长度超过255个字符,上面这个JS函数就不能用了,要用SuperJS函数:
Function SuperJS(表达式 As String)
With CreateObject("MSScriptControl.ScriptControl")
.Language = "vbscript"
SuperJS = .eval_r(表达式)
End With
End Function
第二步:使用JS函数 SuperJS函数
添加完函数后,回到工作表,这时就可以和其他函数一样使用js函数了。
比如在单元格输入 =js(A1),若A1单元格内是个表达式 5*6-3,则返回这个表达式的运算结果27。
方法三:使用软件
难度系数:容易
软件很强大,需要你自己去网上下载!