Transposer un ensemble d'enregistrements

0

J'ai besoin de transposer des enregistrements d'une table, mais par groupes, comme indiqué dans l'exemple ci-dessous. Je dois le faire pour de nombreux enregistrements identifiés par un numéro de ligne au début de la table.

Besoin de transposer 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

à:

    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. Je ne comprends pas les réponses que je reçois. Je vais reformuler ma question pour être plus clair. Je veux pouvoir faire ceci:

Si j'ai les valeurs:

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

Je veux les transposer par séries de cinq comme suit:

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

Je dois le faire pour de nombreux enregistrements, et je ne peux pas vraiment m'arrêter et parcourir toutes les cinq cellules et taper = Transpose (....)

Flethuseo
la source

Réponses:

0

Le plus facile sera de:

  • Exécuter le filtre automatique à la dernière modification $ Time
  • dans la deuxième colonne des résultats, référencez la cellule Compter 1 et copiez-la
  • dans la troisième colonne des résultats, référencez la cellule Compter 2 et recopiez-la
  • dans la quatrième colonne des résultats, référencez la cellule UserName et copiez-la
  • effacer le filtre, copier / coller les valeurs
  • remplace LastModified $ Time par Nothing (comme dans Nothing)
  • remplace LastModified $ UserName par Nothing (comme dans Nothing)
  • remplacer Count1 par Nothing (comme dans Nothing)
  • remplacer Count2 par Nothing (comme dans Nothing)
  • Supprimer les lignes vides (avec un filtre automatique)
  • ajoutez vos titres
  • Vous avez terminé
nutsch
la source
0

Semblable à la réponse de @ nutsch, mais avec (éventuellement) moins de risques d’erreur (aucune formule en cause) et si vos données commencent sous la forme de deux colonnes, procédez comme suit:

  • Dans Données, texte en colonnes (délimité par un espace) [si nécessaire pour analyser une colonne].
  • Copier la colonne: A vers la colonne et vers I et vers, M.
  • Supprimer (déplacer vers le haut) E1: P1 puis I1: P1 puis M1: P1.
  • Ajoutez la ligne 1 et faites glisser le texte de la colonne vers les étiquettes de colonne en fonction de vos besoins.
  • Filtrer tout, la colonne B désélectionnant la dernière modification $ Heure.
  • Supprimer Row3 pour terminer.
  • Sauf pour ColumnS et ColumnS, supprimez les colonnes sans étiquettes.
  • Supprimer le filtre, formater pour adapter la largeur de la colonne

Ci-dessus (décrit grossièrement) visuellement, mais en considérant l'élément de question révisé:

SU495953 example

pnuts
la source
0

J'ai trouvé cette solution la plus simple:

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

Assurez-vous que votre colonne de données unique est dans la colonne A, en commençant par A1

  1. Insérer cette formule dans une nouvelle cellule à proximité:

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

  1. Il suffit de changer les deux occurrences du nombre "5" pour correspondre à la taille de votre groupe. (Dans ce cas - la présentation révisée - c'est 5)

  2. Faites glisser la formule vers la droite pour qu'elle corresponde également à la taille de votre groupe. (Dans ce cas, faites glisser sur 5 colonnes)

  3. Faites glisser la formule vers le bas jusqu'à ce que vos données ne soient plus présentées (vous obtiendrez les "0")

Helen
la source