Excel での制御入力の合計

Excel での制御入力の合計

セル a1=25+30+40+10 の場合、25 未満のすべての数字を除いてセル b1 を a1 に等しくする数式はありますか? そうすると、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のバージョンがFORMULATEXT関数それをFILTERXML関数同様のことを達成する。


アン加数合計を構成する個々の値です。

関連情報