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 함수비슷한 것을 달성하기 위해.


가수합계를 구성하는 각 개별 값입니다.

관련 정보