Como posso “agrupar por” e somar uma coluna no excel?

130

Estou tentando descobrir como "agrupar por" valores em uma planilha do Excel.

Dado o seguinte exemplo (esta é uma folha de inventário que uso no meu restaurante:)

Na extremidade direita da planilha, há uma coluna chamada Custo das mercadorias vendidas.

Eu gostaria de obter um valor total de COGS para cada categoria.

Isso é possível no excel? Além disso, gostaria de fazer isso em uma planilha separada para que a primeira planilha (o que está na foto) não seja afetada.

Alguma idéia?

Obrigado!

    
por Ian P 28.03.2012 / 02:52

9 respostas

82

O recurso que você deseja usar é Tabelas Dinâmicas . É muito fácil fazer exatamente o que você deseja com apenas alguns cliques quando você aprender a usar esse recurso.

    
por 28.03.2012 / 03:15
52

Você também pode fazer isso com o recurso Subtotal.

  1. Clique na guia Dados na barra de ferramentas da faixa de opções do Excel
  2. Clique no botão Classificar e classifique por sua categoria coluna
  3. Clique no botão Subtotal e preencha a caixa de diálogo conforme apropriado e clique em OK

Por exemplo ...

At each change in: Category

Use function: Sum

Add subtotal to: Cost of Goods Sold

    
por 28.03.2012 / 04:38
13

Estou assumindo que você está procurando o CPV total de uma conta, como uma mercearia, por exemplo, para a semana 1.

sumif é a maneira mais fácil de obter esses dados. exemplo tirado da sua foto:

=sumif(d2:d?,"grocery",j2:j?)

Coloquei os pontos de interrogação, pois não consigo ver a folha inteira. Você selecionaria toda a coluna D, onde você tem dados da conta. D2 a D ?, Igual à coluna de uso semanal J2 a J?.

A fórmula irá aparecer na coluna D para a mercearia de texto, se estiver presente, ela adicionará as células na coluna J que correspondem às colunas D que têm a palavra mercearia nela. (ou qualquer outro texto que você colocar na fórmula para procurar)

    
por 17.07.2013 / 08:20
5

A abordagem mais trivial pode ser uma operação de classificação do Excel seguida por uma operação de subtotal do Excel.

Ele produz o que você procura sem alterar todo o layout de seus dados como a operação Pivot.

Classificando

  • Clique na guia Dados (ou pressione Alt-A no teclado)
  • Clique em Classificar (ou pressione S no teclado)
  • Clique na seta suspensa ao lado de "Classificar por" na área principal da janela pop-up.
  • Selecione "Categoria", pois é isso que você deseja agrupar.
  • Clique em OK!

Subtotal

  • Clique na guia Dados (ou pressione Alt-A no teclado)
  • Clique no ícone Subtotal (ou pressione B no teclado)
  • Agora que seus dados estão classificados, leia e preencha o pop-up Subtotal como se estivesse lendo inglês natural :
           At each change in
              Category (Click dropdown arrow and select this)
           Use function
              Sum (Click dropdown arrow and select this)
           Add subtotal to
              Cost of Good Sold (Select the columns you wanted to total for individual categories)
    
    
       Click OK!
    

        
  • por 20.07.2013 / 00:03
    4

    No Excel 2013, haverá uma opção "agrupamento".

    1. Selecione sua tabela.
    2. Ir para a guia Dados.
    3. Clique em Estrutura > Agrupamento.

    Veja a captura de tela abaixo, infelizmente, é em alemão, mas os ícones ajudarão você a encontrá-la.

        
    por 24.01.2013 / 07:46
    1

    Eu faço isso o tempo todo com vba. Tenho certeza que usei o mesmo método desde o escritório 95 ', com pequenas alterações feitas para o posicionamento da coluna. Isso pode ser feito com menos linhas se você não definir as variáveis. Isso pode ser feito mais rápido se você tiver muitas linhas para passar ou mais coisas com as quais precisa definir seu grupo.

    Eu encontrei situações em que um 'grupo' é baseado em 2-5 células. Este exemplo examina apenas uma coluna, mas ela pode ser expandida facilmente se alguém gastar algum tempo para jogar com ela.

    Isto assume 3 colunas, e você tem que classificar pela coluna group_values. Antes de executar a macro, selecione a primeira célula que você deseja comparar na coluna group_values.

    'group_values, some_number, empty_columnToHoldSubtotals
    '(stuff goes here)
    'cookie  1   empty
    'cookie  3   empty
    'cake    4   empty
    'hat     0   empty
    'hat     3   empty
    '...
    'stop
    
    Sub subtotal()
      ' define two strings and a subtotal counter thingy
      Dim thisOne, thatOne As String
      Dim subCount As Double
    
      ' seed the values
      thisOne = ActiveCell.Value
      thatOne = ActiveCell.Offset(1, 0)
      subCount = 0
    
      ' setup a loop that will go until it reaches a stop value
      While (ActiveCell.Value &lt&gt "stop")
    
        ' compares a cell value to the cell beneath it.
        If (thisOne = thatOne) Then
          ' if the cells are equal, the line count is added to the subcount
          subCount = subCount + ActiveCell.Offset(0, 1).Value
    
        Else
          ' if the cells are not equal, the subcount is written, and subtotal reset.
          ActiveCell.Offset(0, 2).Value = ActiveCell.Offset(0, 1).Value + subCount
          subCount = 0
    
        End If
    
        ' select the next cell down
        ActiveCell.Offset(1, 0).Select
    
        ' assign the values of the active cell and the one below it to the variables
        thisOne = ActiveCell.Value
        thatOne = ActiveCell.Offset(1, 0)
      Wend
    
    End Sub
    
        
    por 19.06.2013 / 06:28
    0

    Para fazer isso com uma tabela dinâmica :

    1) Selecione todos os dados (incluindo os rótulos das colunas)
    2) Inserir > Tabela Dinâmica 3) Arraste a dimensão para agrupar na área de colunas ou linhas. 4) Arraste métrica para somar na área de valores

        
    por 27.04.2017 / 23:31
    -2

    1) Selecione o intervalo de dados.
    2) Copie o intervalo para a área de transferência.
    3) Abrir novo acesso ao banco de dados.
    4) Crie uma nova tabela ou cole a escala. 5) Criar visão, visão SQL.
    6) Criar consulta "célula SELECT, soma (dados) como total FROM célula GROUP BY tabela".

        
    por 17.05.2014 / 19:16
    -3

    No Excel 2013:

    -Clique dados

    -Clique Subtotal

        
    por 08.10.2013 / 12:28