Tenho uma tabela enorme do Excel que preciso transformar em parágrafos para um relatório do Word e não consigo encontrar uma maneira eficiente de fazer isso
A fonte é assim:
E eu precisaria de algo assim, ou seja, por meio de uma tabela dinâmica. Observe que o "Item C", que não possui nenhum valor de descrição, é ignorado:
Agora, para chegar lá acredito que preciso transformar meu código-fonte para este formato intermediário, que possui uma descrição por linha:
Como faço para passar do formato fonte para o intermediário de maneira eficiente? Ou talvez exista uma maneira mais fácil de produzir o formato de destino que eu não conheço? Qualquer ajuda é bem-vinda!
Responder1
Maneira simples, mas provavelmente bastante eficaz, se o número de colunas não for muito grande.
- Crie uma nova planilha vazia com dois cabeçalhos,ItemeDescrição
- Para cada coluna Descrição
- Copie tudo da planilha original para uma nova planilha temporária
- Exclua todas as colunas de descrição, exceto uma (a planilha agora contém apenas duas colunas,ItemeDescriçãoX)
- Classifique/filtre a coluna de descrição restante para evitar todas as células vazias
- Copie/cole todas as linhas restantes na planilha criada na primeira etapa
Responder2
Essa funcionalidade está integrada no Excel.
Tudo o que você precisa fazer é destacar as células que deseja dinamizar, copiar e colar em outro local usando a função "Colar transposição". Para fazer isso, clique na seta para baixo abaixo do botão Colar na faixa de opções e abaixo doColartítulo, você verá um botão que se parece com uma coluna girando em uma linha. Clique em "Colar transposição" e suas linhas se tornarão colunas e vice-versa na versão colada
Este vídeo mostra o processo junto com alguns outros truques relacionados: http://www.youtube.com/watch?v=KbfeIYV359I
Responder3
Se você estiver pronto para usar scripts (como Spreadsheet::ParesExcel
em Perl, por exemplo), poderá usareste exemplo de Stackoverflowpara formar sua solução personalizada.
Há também um exemplo de script do PowerShell e mais alguns truques em outras respostas.