Compartilhar via

Fórmula subtotal com cont.se???

Anônima
2015-02-19T02:26:38+00:00

Preciso de uma fórmula que retorne no campo TOTAL o subtotal conforme o filtro de data e que esse subtotal seja referente somente a forma de pagamento À VISTA. Pensei nas fórmulas subtotal com cont.se. É possível? Segue abaixo o print da planilha.

Ficaria muito grato se alguém pudesse me ajudar.

Microsoft 365 e Office | Excel | Para uso doméstico | Windows

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários

Resposta aceita pelo autor da pergunta

Anônima
2015-02-19T11:58:24+00:00

Em G251, entre a fórmula:

=SOMARPRODUTO(G2:G250;--(H2:H250="À VISTA");SUBTOTAL(103;DESLOC(H2:H250;LIN(H2:H250)-LIN(H2);0;1)))

Esta resposta foi útil?

10+ pessoas acharam esta resposta útil.
0 comentários Sem comentários

5 respostas adicionais

Classificar por: Mais útil
  1. Anônima
    2015-09-24T13:56:00+00:00

    Júnior,

    Por que não cria uma tabela dinâmica? Ela é perfeita para situações como a sua.

    Esta resposta foi útil?

    2 pessoas acharam esta resposta útil.
    0 comentários Sem comentários
  2. Anônima
    2015-02-19T11:20:08+00:00

    Olá DR2015!

    Desconheço uma maneira de atender sua necessidade utilizando as funções nativas do Excel. A função que chega mais próxima é a SUBTOTAL utilizando o número de função 109, que corresponde a soma desconsiderando os valores ocultos, que atenderia a sua necessidade desde que a coluna H de forma de pagamento também estivesse filtrada pelo tipo "À Vista".

    A fórmula baseado na sua imagem ficaria =SUBTOTAL(109;G2:G250)

    Agora, se você realmente precisa deixar sem filtro a coluna H de pagamento, só enxergo a possibilidade de criar uma função personalizada para realizar o cálculo descrito. Para isso insira o código abaixo em um novo módulo do VBA:

    Option Explicit

    Option Compare Text

    Function SOMARESPECIAL(rngSoma As Excel.Range, _

    rngA As Excel.Range, _

    filter As Variant) As Variant

    Dim cell As Excel.Range

    Dim i As Integer

    Dim lSoma As Variant

    i = 1

    lSoma = 0

    For Each cell In rngA

    If Rows(cell.Row & ":" & cell.Row).Hidden = False Then

    If cell.Value = filter Then

    lSoma = WorksheetFunction.Index(rngSoma, i) + lSoma

    End If

    End If

    i = i + 1

    Next cell

    SOMARESPECIAL = lSoma

    End Function

    Então, na planilha você poderá aplicar a função personalizada:

    =SOMARESPECIAL(G2:G250;H2:H250;"À VISTA")

    Essa função ficou com esta sintaxe: SOMARESPECIAL(intervalo_soma;intervalo_critério;Critério)

    A função vai somar somente as linhas que estiverem visíveis.

    Espero que tenha ajudado.

    Abraços!

    Esta resposta foi útil?

    1 pessoa achou esta resposta útil.
    0 comentários Sem comentários
  3. Anônima
    2015-02-20T00:51:57+00:00

    Valeu fera, você é bom mesmo!!!

    Esta resposta foi útil?

    0 comentários Sem comentários
  4. Anônima
    2015-02-19T13:10:31+00:00

    Excelente Felipe!

    Vivendo e aprendendo a cada dia!

    Esta resposta foi útil?

    0 comentários Sem comentários