2188儲存格文數字混合公式求解

儲存格文數字混合公式求解

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算出來的結果正確,而用公式會有的正確有的錯誤。