控制Excel中的輸入總和

控制Excel中的輸入總和

如果儲存格a1=25+30+40+10。所以b1=30+40。

答案1

嘗試使用 Excel 2013 或更高版本中提供的 Formulatext 和 Filterxml 功能

在 中A1,輸入:=25+30+40+10

B1輸入公式:

=SUMPRODUCT(FILTERXML("<a><b>"&SUBSTITUTE(MID(FORMULATEXT(A1),2,99),"+","</b><b>")&"</b></a>","//b[.>25]"))

在此輸入影像描述

答案2

這是一個 VBA UDF(又名使用者定義函數)。複製程式碼並將其貼上到 VBA 標準模組程式碼表中。

Option Explicit

Function AddendsIf(rng As Range, c As String)

    Dim i As Long, a As Variant, f As String, s As Double

    f = Mid(rng.Cells(1).Formula, 2)

    a = Split(f, "+")

    For i = LBound(a) To UBound(a)

        If Application.Evaluate(a(i) & c) Then

            s = s + Val(a(i))

        End If

    Next i

    AddendsIf = s

End Function

您可以像任何其他本機工作表函數一樣在工作表中使用它。

在此輸入影像描述

在此輸入影像描述

如果您的 Excel 版本支持公式文字函數那麼你應該能夠將其與FILTERXML 函數來實現類似的目標。


一個加數是構成總和的每個單獨值。

相關內容