Trasposizione di una serie di record


0

Devo trasporre i record da una tabella, ma per gruppi come mostrato nell'esempio seguente. Devo farlo per molti record identificati da un numero di riga all'inizio della tabella.

È necessario trasporre da:

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

a:

    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

PS Non capisco le risposte che sto ricevendo. Ho intenzione di riformulare la mia domanda per essere più chiari. Voglio essere in grado di fare questo:

Se ho i valori:

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

Voglio trasporli di serie di cinque come segue:

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

Devo farlo per molti molti record e non riesco davvero a fermarmi e passare attraverso ogni cinque celle e digitare = Transpose (....)

Risposte:


0

Il più semplice sarà:

  • Esegui il filtro automatico su LastModified $ Time
  • nella seconda colonna dei risultati, fai riferimento alla cella Count 1 e copia verso il basso
  • nella terza colonna dei risultati, fai riferimento alla cella Count 2 e copia verso il basso
  • nella quarta colonna dei risultati, fai riferimento alla cella UserName e copia verso il basso
  • cancella il filtro, copia i valori di incolla
  • sostituire LastModified $ Time con Nothing (come in Nothing)
  • sostituisci LastModified $ UserName con Nothing (come in Nothing)
  • sostituisci Count1 con Nothing (come in Nothing)
  • sostituire Count2 con Nothing (come in Nothing)
  • Elimina righe vuote (con un filtro automatico)
  • aggiungi i tuoi titoli
  • Hai finito

0

Simile alla risposta di @ Nutsch, ma (possibilmente) con meno rischio di errore (nessuna formula coinvolta) e nel caso in cui i tuoi dati inizino come solo due colonne sarebbe:

  • In Dati, Testo in colonne (delimitato da spazio) [se necessario per analizzare una colonna].
  • Copia ColumnA: D in ColumnE e in I e in, M.
  • Elimina (sposta su) E1: P1 quindi I1: P1 quindi M1: P1.
  • Aggiungi Row1 e trascina il testo da ColumnB alle etichette delle colonne per adattarle.
  • Filtra tutto, con ColumnB deselezionando LastModified $ Time.
  • Elimina Row3 per terminare.
  • Ad eccezione di ColumnA e ColumnC, eliminare le colonne senza etichette.
  • Rimuovi filtro, formatta per adattarlo alla larghezza della colonna.

Sopra (approssimativamente) descritto visivamente, ma considerando l'elemento rivisto della domanda:

Esempio SU495953


0

Ho trovato questa soluzione la più semplice:

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

Assicurati che la tua singola colonna di dati sia nella colonna A, a partire da A1

  1. Inserisci questa formula in una nuova cella nelle vicinanze:

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

  1. Basta modificare entrambe le occorrenze del numero "5" in modo che corrispondano alla dimensione del gruppo. (In questo caso - la presentazione rivista - è 5)

  2. Trascina la formula verso destra per far corrispondere anche la dimensione del tuo gruppo. (In questo caso, trascina su 5 colonne)

  3. Trascina la formula verso il basso fino a quando i tuoi dati smettono di presentarsi (otterrai "0")

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.