Transpondo um conjunto de registros

0

Eu preciso transpor os registros de uma tabela, mas por grupos como mostrado no exemplo abaixo. Eu preciso fazer isso para muitos registros identificados por um número de linha no início da tabela.

Necessidade de transpor De:

1   LastModified$Time   2011-05-10 12:57:03.0
1   Count1  0
1   Count2  58
1   LastModified$UserName   mbeardsell
2   LastModified$Time   2010-03-31 21:45:53.0
2   Count1  0
2   Count2  0
2   LastModified$UserName   MBeardsell
3   LastModified$Time   2006-12-13 12:55:47.0
3   Count1  1
3   Count2  0
3   LastModified$UserName   markhall

para:

    LastModified$Time   Count1  Count2  LastModified$UserName
1   2011-05-10 12:57:03.0   0   58  mbeardsell
2   2010-03-31 21:45:53.0   0   0   MBeardsell
3   2006-12-13 12:55:47.0   1   0   markhall

P.S. Eu não estou entendendo as respostas que estou recebendo. Eu vou reformular minha pergunta para ser mais clara. Eu quero ser capaz de fazer isso:

Se eu tiver os valores:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Eu quero transpô-los por conjuntos de cinco da seguinte forma:

1   2   3   4   5
6   7   8   9   10
11  12  13  14  15

Eu tenho que fazer isso para muitos registros, e eu realmente não posso parar e passar por cada cinco células e digitar = Transpose (....)

    
por Flethuseo 29.10.2012 / 20:31

3 respostas

0

O mais fácil será:

  • Executar o filtro automático no LastModified $ Time
  • na segunda coluna dos resultados, faça referência à célula Count 1 e copie
  • na terceira coluna dos resultados, faça referência à célula Count 2 e copie
  • na quarta coluna dos resultados, faça referência à célula UserName e copie
  • limpe o filtro, copie e cole valores
  • substitua LastModified $ Time por Nothing (como em Nothing)
  • substitua LastModified $ UserName por Nothing (como em Nothing)
  • substitua Count1 por Nothing (como em Nothing)
  • substitua Count2 por Nothing (como em Nothing)
  • Excluir linhas em branco (com um filtro automático)
  • adicione seus títulos
  • Você terminou
por 30.10.2012 / 00:54
0

Semelhante à resposta do @schch, mas (possivelmente) com menor risco de erro (sem fórmulas envolvidas) e no caso de os seus dados começarem como apenas duas colunas seria:

  • Em Dados, Texto para Colunas (delimitado por espaço) [se necessário para analisar uma coluna].
  • Copie ColumnA: D para ColumnE e para I e para, M.
  • Excluir (deslocar para cima) E1: P1, então I1: P1, depois M1: P1.
  • Adicione a Linha 1 e arraste o texto da coluna B para os rótulos de coluna para se adequarem.
  • Filtre tudo, com ColumnB desmarcando LastModified $ Time.
  • Excluir a linha 3 para o final.
  • Exceto para ColumnA e ColumnC, exclua colunas sem marcadores.
  • Remova o filtro, formate para caber na largura da coluna.

Acima (aproximadamente) descrito visualmente, mas considerando o elemento revisado da pergunta:

    
por 30.10.2012 / 05:22
0

Achei esta solução mais fácil:

https://www.extendoffice.com/documents/excel/3360-excel-transpose-every-5-rows.html

Certifique-se de que sua coluna de dados única esteja na coluna A, começando em A1

  1. Insira esta fórmula em uma nova célula próxima:

=INDEX($A:$A,ROW(A1)*5-5+COLUMN(A1))

  1. Altere as ocorrências do número "5" para corresponder ao tamanho do seu grupo. (Neste caso - a apresentação revisada - é 5)

  2. Arraste a fórmula para a direita para também corresponder ao tamanho do seu grupo. (Neste caso, arraste 5 colunas)

  3. Arraste a fórmula para baixo até que seus dados parem de ser apresentados (você receberá "0")

por 31.03.2017 / 10:18