Como agrupar dados por mês no Planilhas Google

38

Eu tenho uma planilha do Google que contém várias métricas para cada dia. Cada dia tem sua própria linha:

day        | cost | impressions | clicks | conversions
2014-02-01 | $45  | 3,540       | 80     | 5
2014-02-02 | $49  | 3,700       | 88     | 7
2014-02-03 | $42  | 3,440       | 79     | 7
2014-02-04 | $51  | 3,940       | 91     | 10

Eu quero rodar a mesa e resumir o cost, impressions, clickse conversioncolunas por mês (não por dia) como este:

Month        | Sum of cost | Sum of impressions | Sum of clicks | Sum of conversions
February     | $187        | 14620              | 338           | 29

No Excel, usei a Group byfunção, mas vejo que ela não está disponível no Planilhas Google.

Bogdan
fonte
2
A resposta correta a partir de 2018 é esta: webapps.stackexchange.com/a/120852
Kos

Respostas:

18

Usando as Data->Pivot table report...ofertas exatamente o que você está pedindo. Pode ser possível que você tenha que usar as " Novas Planilhas Google ".
Eu uso isso como uma configuração padrão e foi fácil conseguir o que você queria, semelhante ao Excel.

Aqui na minha resposta, explico como habilitar as novas planilhas.


Parece que não entendi completamente o problema.

Primeiro precisamos ter o mês. Para isso, adicione uma nova coluna para extrair a data usando =MONTH(DATE_COLUMN).

insira a descrição da imagem aqui

Em seguida, crie um relatório dinâmico:

insira a descrição da imagem aqui

StampedeXV
fonte
tentei as 'novas folhas do Google' e não há opção para agrupar datas por mês nos relatórios da tabela dinâmica, talvez você possa esclarecer alguma coisa?
22914 Bogdan
Desculpe, pensei que o principal problema era que você não conseguia encontrar nenhum agrupamento. Por que não adicionar uma coluna que forneça apenas o mês e agrupe por ela?
StampedeXV
Infelizmente eu não posso adicionar em outra coluna, ou alterar a formatação da folha fonte como ele está sendo usado para alimentar um painel em Cyfe, mas obrigado por suas respostas ...
Bogdan
Você pode adicionar a coluna e ocultá-la para que fique invisível. Ainda assim, você pode usá-lo no relatório Pivot.
StampedeXV
Excelente ideia. Eu tentei, no entanto, Cyfe não parece ser capaz de ignorar as colunas ocultas. Eu só vou ter que manter a 2 folhas duplicadas com os dados de origem para contornar este ....
Bogdan
30

O Planilhas Google agora suporta isso como "Criar grupo de datas dinâmicas"

Depois de adicionar sua coluna de data / hora como uma linha:

  1. Clique com o botão direito do mouse em um dos valores na tabela Dinâmica,
  2. Escolha 'Criar grupo de datas dinâmicas'
  3. Escolha o agrupamento desejado (por exemplo, 'Mês' ou 'Ano-Mês')

Antes + Exemplo Visual:

Tabela dinâmica antes do agrupamento

Depois de:

insira a descrição da imagem aqui

Mais informações

MotohawkSF
fonte
esta deve ser a resposta certa, provavelmente
senseiwu
Esta é a melhor resposta de longe em 2018
Calvin
Posso usar minhas próprias fórmulas com tabelas dinâmicas de alguma forma? Quero obter quantis
Hubert Grzeskowiak
3
Não vejo essa opção na minha coluna de data
Ian Hyzy 03/09
5

Sem uma coluna auxiliar:

=query(A:E,"select sum(B), sum(C), sum(D), sum (E) group by month(A) offset 1")  

assumindo que dayestá em A1.

Documentação que faz um trabalho muito melhor ao descrever como funciona o acima descrito do que nunca.

nozes
fonte
1
Isso parece realmente útil. Você poderia explicar como isso funciona? Eu nunca usei a função Consulta.
Shawn V. Wilson
É possível agrupar por mês e ano?
Hubert Grzeskowiak
@HubertGrzeskowiak Sim, é
Lee Taylor
4

Portanto, para aqueles que fizeram perguntas semelhantes às minhas, aparentemente ainda não existe uma função de campo Grupo para o Pivot no Google Sheet (como existe no Excel). Portanto, a maneira mais simples é adicionar outra coluna, transformando suas datas nos grupos de que você precisa, por exemplo, semanas, meses, anos ... Espero que a funcionalidade também esteja brevemente na planilha do Google.

F Samie
fonte
2

Uma maneira mais fácil que encontrei foi converter a célula de data em texto em uma nova coluna.

=Text(A1, "mmm-yy")

Você pode girar e ele será agrupado por mês.

Pedropagina
fonte
1

Nenhuma das respostas anteriores funcionou para mim, porque eu uso um formulário como entrada. Você não pode adicionar fórmulas na folha de formulário.

Aqui está minha solução alternativa.

Lendo o exposto acima, a tabela Dinâmica precisa de uma coluna com o mês para selecionar. Você pode usar um critério diferente, como semana ou sexta-feira. Ou John, Doe, Foo ou bar. O que você quiser 'agrupar'.

No meu caso: data é em B, =month(B2)dá o mês. Então, eu precisava de uma coluna extra com =month(B2).

A folha de formulário não permite fórmulas. E em uma planilha com um formulário, você não pode adicionar uma coluna com fórmulas (exatamente: você pode, mas uma nova entrada de formulário exclui a fórmula na linha correspondente).

Segundas folhas

Uma segunda planilha simples com =page1!A1etc e a adição do mês da coluna tem o mesmo problema. Uma nova entrada no formulário => adiciona uma linha.

Solução

Então eu fiz o seguinte.

  • Adicionada uma folha extra
  • Usado =importrange("longkeynumber";"sheet form!A1:E1000")na A1
  • (importante é importar um documento diferente, mas ei ... funciona)
  • Em F, usado =if(B3>0;(MONTH(B3));"")
  • Ao adicionar dados extras na planilha A, as fórmulas na planilha B com a diferença importante permanecem.
  • Agora você pode adicionar uma tabela dinâmica, com (nesse caso) F como uma linha ou coluna.
user165410
fonte
Na resposta do usuário165410 , ele afirma: - Em F, usado =if(B3>0;(MONTH(B3));"")Esta é uma boa solução, mas pode ser ainda mais fácil: - em F3, o =arrayformula(if(b3:b>0;(month(b3:b));""))que isso faz é automaticamente colocar o mês para cada célula não vazia no intervalo B3: B. Inserir ou excluir uma linha ou mover uma linha NÃO estragará as fórmulas!
Stefan van Aalst
Quando uma nova resposta é adicionada a uma planilha, uma nova linha é inserida. Em vez disso, podem ser usadas fórmulas de matriz (resultado de vários valores) ou fórmulas escalares (resultados de valores únicos). Por outro lado, quando os dados de origem vem do mesmo arquivo que você pode usar fórmulas de matriz para retornar o mesmo resultado que IMPORTRANGE e eles atualizado imediatamente
Rubén
Eu amo essa solução! em F3, = arrayformula (se (b3: b> 0; (mês (b3: b)); "")) O único problema é quando os dados são por mais de um ano e cada mês é combinado com o mesmo mês no ano anterior.
Vic M
1

Se você já está adicionando uma nova coluna, também pode usar eomonth("reference cell",0). Isso sempre agarra o último dia do mês. Ou eomonth("reference cell",-1)+1para obter o começo do mês.

A beleza dessa abordagem, em vez de converter em texto, é quando você gira os dados. Classificará automaticamente ascendente da esquerda para a direita.

Skho
fonte
1

Eu encontrei uma maneira que eu gosto mais. Eu simplesmente criei uma coluna oculta com as seguintes etapas:


  • Arredonde todos os dias do mês até o primeiro dia do mês.

= A2 - dia (A2) + 1 em que A2 é a data padrão

  • Defina a formatação como personalizada e escolha mês / ano. Isso exigirá que você exclua a configuração do dia. Portanto, ele exibirá mês / ano em que o valor real será o primeiro dia do mês, mês e ano.
  • A tabela dinâmica agora agrupa todos os itens semelhantes e exibe a formatação da coluna com mês / ano.

Dessa forma, você obterá valores únicos com o passar dos anos. Decidi ocultar a coluna em questão porque tenho um documento conectado a esta planilha que puxa as duas primeiras linhas à medida que as adiciono.

Fórmula para data e formatação

Formato de data personalizado

Resultados da Tabela Dinâmica

Nick Mean
fonte