Controlar soma de entrada no Excel

Controlar soma de entrada no Excel

se a célula a1 = 25 + 30 + 40 + 10. existe uma fórmula para fazer com que a célula b1 seja igual a a1, exceto para todos os números menores que 25? então será b1=30+40.

Responder1

Tente usar as funções Formulatext e Filterxml disponíveis no Excel 2013 ou superior

Em A1, digite:=25+30+40+10

Em B1insira a fórmula:

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

insira a descrição da imagem aqui

Responder2

Este é um UDF VBA (também conhecido comoFunção definida pelo usuário). Copie o código e cole-o em uma folha de código do módulo padrão 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

Você pode usá-lo na planilha como qualquer outra função nativa da planilha.

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Se a sua versão do Excel suportar oFunção FORMULATEXTOentão você deve ser capaz de combinar isso com oFunção FILTERXMLpara conseguir algo semelhante.


Umadendoé cada valor individual que constitui uma soma.

informação relacionada