Este fórum foi descontinuado. LEIA AQUI e participe da Comunidade BABOO :)

A área de Remoção de Malwares está aberta na Comunidade BABOO. LEIA AQUI

Ir para conteúdo
EduardoG

Soma de Colunas Baseadas em critérios

Mensagem Recomendada

Primeiro post! E, preciso muito de um help.... antes que eu me jogue da primeira janela que eu encontrar ou jogue o sem noção do cara que me pediu isso!! :)

A PLANILHA:

Aba Itens: Nessa aba tenho 2 colunas. Na Coluna A, estão as CATEGORIAS. Na B, os ITENS. Cada item pertence a uma única categoria. Uma categoria pode ter um monte de itens. Na planilha real, há 18 categorias e 115 itens. Anexei um exemplo.

Exemplos de categorias: Salário, Extras e Despesas.

Exemplo de Itens que compõem uma Categoria:

- SALÁRIO:  Salário Base, 13o Salário, Bônus.

- EXTRAS: Hora extra normal, Hora extra noturna, Hora extra Fim de semana, Gratificação. 

- DESPESAS: Combustível, Manutenção, Taxi, Onibus.

Abas Dets: Nas abas DETmmm (detalhe do mês mmm), cada funcionário tem seus ganhos e suas despesas. Uma planilha Det por mês (por isso DETmmm). Isso dos últimos 24 meses. E todo mês vai acrescentando uma nova.

Aba Teste: Há uma terceira aba, onde eu tentei usar SOMA com ÍNDICE, SOMARPRODUTO, Soma com Corresp... deu em nada.

O QUE EU PRECISO (a tabela em azul):

Para cada período, preciso da soma dos itens (nas colunas) que compõem cada Categoria (EX. SALÁRIO). No mês de Janeiro, preciso de somar os itens que compõem a categorias Salário (em cinza: Salário Base, 13o Salário, Bônus), Despesas e Extras. Além dessa maldita soma (que eu não consegui fazer nem com reza), o aloprado pode alterar o que compõe cada categoria, do jeito que der na telha dele. Ou seja, eu preciso somar as colunas dos itens para cada categoria. Não dá para "fixar" a soma pois, não quero ficar mudando fórmula a cada vez que o insano quiser alterar a categoria.

Antes que eu fique (mais) louco, pf, me ajudem.

Abraços e obrigado!

Eduardo

Baboo.xlsx

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você quiser testar uma solução via UDF então instale uma cópia da função abaixo em um módulo comum, assim:

          1. copie o código daqui
          2. a partir da planilha Itens tecle 'Alt+F11' para acessar o editor de VBA
          3. no menu do editor / Inserir / Módulo
          4. cole o código na janela em branco que vai se abrir
          5. feito! 'Alt+Q' para retornar para a planilha

          6. por último insira em G5 ~~~> =cat() e em seguida arraste para a direita e para baixo

Function cat()
 Dim c As Range, D As Range, po As String
  Application.Volatile
  With Sheets("Itens")
   For Each c In .Range("B3:B" & .Cells(Rows.Count, 2).End(3).Row)
    If c.Value = .Cells(4, Application.Caller.Column) Then
     po = "Det " & .Cells(Application.Caller.Row, 6)
     On Error GoTo spla
     Set D = Sheets(po).Rows(1).Find(c.Offset(, 1).Value)
     If Not D Is Nothing Then
      cat = cat + Application.Sum(Sheets(po).Columns(D.Column))
     End If
    End If
   Next c
  End With
 Exit Function
spla: cat = 0
End Function

 

Osvaldo

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×
×
  • Criar Novo...