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 (....)

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é

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


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")

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.