excel怎么自動計算出表格中的計算公式這應該是現在很多的辦公的人都是需要面對的,那么你一般都是用什么樣子的方法去解決的了?現在就可以試試下面的這些方法吧!
方法一二都是在office2003里面的,簡單的說就是使用宏。有些情況下,比如工程結算單,通常在左邊一個單元格寫上表達式,比如:5*6-3,方便別人核對計算過程,右邊一個單元格放置計算結果,比如:27。
如果發(fā)現左邊單元格中的計算表達式不對,進行了修改,比如修改為: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。
方法三:使用軟件
難度系數:容易
軟件很強大,需要你自己去網上下載!