Como posso obter uma tabela de linhas um-para-muitos mesclando células duplicadas em uma tabela normalizada grande?

4

Como sou novato em relação ao Excel (e todo o pacote do Microsoft Office, para ser honesto), passei muito tempo procurando uma solução para esse problema - como obter linhas de um para muitos mesa fora de uma tabela normalizada - e desde que eu estou postando isso, é óbvio que eu não encontrei uma resposta adequada.

Para ser mais claro, a tabela normalizada inicial é a apresentada abaixo:

Eatabelaresultantedeveficarassim:

Agora, para uma tabela com algumas linhas, a resposta é óbvia e um pouco ineficiente:

  1. Classifique a coluna que contém as células com o mesmo valor;
  2. Selecione manualmente os grupos de células com o mesmo valor e clique com o botão direito do mouse em "Mesclar e amp; Botão Center '(veja a imagem abaixo).
  3. Repita a Etapa 2 para todos os grupos identificados de células duplicadas nessa coluna.

O desafio é obter o mesmo resultado para uma tabela com grande quantidade de dados (~ 6k linhas), usando o Excel 2010. Obviamente, a solução apresentada acima está longe de ser eficiente.

Alguma opinião sobre isso? Eu realmente aprecio sua ajuda.

    
por Der Hochstapler 11.09.2012 / 13:13

3 respostas

6

Você já deu uma olhada nas tabelas dinâmicas? Isso parece fazer exatamente como você deseja.

A primeira coisa a fazer é garantir que você tenha uma linha de cabeçalho na sua tabela de dados.

Em seguida, selecione qualquer célula no seu intervalo de dados, vá para a guia Inserir e escolha Tabela dinâmica.

Aceite os padrões e clique em OK. Isso abrirá uma nova tabela dinâmica e você desejará colocar Field1 e Field2 na seção "rows" (campo 1 primeiro).

Você só precisa alterar algumas opções de formatação:

Na guia Ferramentas da Tabela Dinâmica (que agora aparece como se estivesse na tabela dinâmica), clique na guia Design e, no grupo Layout, escolha Layout do Relatório / Mostrar no Formulário Tabular

Novamente nas mesmas Ferramentas da Tabela Dinâmica / Design / Layout , escolha Subtotais / Não Mostrar Subtotais

Novamente nas mesmas Ferramentas da Tabela Dinâmica / Design / Layout , escolha Grand Total / Off para linhas e colunas

Por fim, clique com o botão direito em qualquer lugar da tabela de dados e escolha Opções da tabela dinâmica e, na primeira guia (Layout e Formato), marque a caixa que diz Mesclar e centralizar células com marcadores

Você pode reutilizar essa tabela dinâmica para apontar para um novo conjunto de dados quando ele estiver disponível ( Ferramentas de tabela dinâmica / Opções / Alterar fonte de dados )

EDIT: Só para mostrar como é a saída final. Isso me levou menos de vinte cliques:

    
por 11.09.2012 / 13:27
1

Você pode usar a opção SubTotal, localizada na guia Dados da faixa de opções. Eu recreiei sua planilha como mostrado abaixo:

Seeudestacarosdados,cliquenobotãoSubtotaledefinaasopçõesabaixo:

Eu recebo a seguinte saída, não é exatamente o que você procura, mas pode ajudá-lo:

    
por 11.09.2012 / 13:44
0

Jon propôs uma boa tentativa para isso, mas como você afirmou, que você é "novo" para o MS Office, vou propor algumas abordagens diferentes.

Você deve questionar a si mesmo ou ao requestand dessa tarefa, se o Excel for a ferramenta certa para ele, porque é mais uma tarefa do Access / SQL.

Se tiver como o Excel, você também pode usar a função Subsum no banco de dados. Isso não é tão poderoso quanto uma Tabela Dinâmica, mas basicamente uma funcionalidade muito semelhante.

    
por 11.09.2012 / 13:37