儲存格文數字混合公式求解
2188 |
儲存格文數字混合公式求解 |
錦子老師:
請教B欄能有公式自動加總A欄儲存格裡面的金額嗎,小弟GOOGLE了一下沒有找到跟我類似情況的解法,謝謝指導!
這個解法有二種:
使用公式
這種做法比較佔用記憶體沒做幾個EXCEL就會變得慢動作了,不建議使用。
點取B2儲存格輸入公式「=SUMPRODUCT(TEXT(LEFT(TEXT(MID(A2&"a",COLUMN ($3:$3),ROW($3:$9)),),ROW($3:$9)-1),"0%;-0%;0;!0")*ISERR(-MID(A2,COLUMN($3:$3)-1,2)))」後,再複製到B3:B7儲存格。
使用VBA
這種做法較不佔記憶體,但要對VBA程式有所了解所以比較困難。
按ALT+F11鍵開啟VBA視窗。
點取「插入 > 模組」指令,新增一張空白模組表。
輸入如下公式:
Function fn(txt As String)
Application.Volatile
With CreateObject("vbscript.regexp")
.Pattern = "\D+"
.Global = True
fn = .Replace(txt, "+")
If Right(fn, 1) = "+" Then fn = Mid(fn, 1, Len(fn) - 1)
fn = Evaluate(fn)
End With
End Function
按ALT+F4鍵關閉VBA視窗,回到活頁簿視窗。
點取C2儲存格輸入「=FN(A2)」後,再複製到C3:C7儲存格。
是否發現用公式與自訂函數算出來的結果不同,但實際上使用VBA算出來的結果正確,而用公式會有的正確有的錯誤。