Note: The other languages of the website are Google-translated. Back to English

Comment transposer / convertir des colonnes et des lignes en une seule colonne?

Lorsque vous utilisez une feuille de calcul Excel, vous rencontrez parfois ce problème : comment pourriez-vous convertir ou transposer une plage de données en une seule colonne ? (Voir les captures d'écran suivantes :) Maintenant, je vous présente trois astuces rapides pour résoudre ce problème.

Transposer/Convertir des colonnes et des lignes en une seule colonne avec une formule

Transposer / Convertir les colonnes et les lignes en une seule colonne avec le code VBA

Transposer/Convertir des colonnes et des lignes en une seule colonne avec Kutools for Excelbonne idée3


Transposer/Convertir des colonnes et des lignes en une seule colonne avec une formule

La longue formule suivante peut vous aider à transposer rapidement une plage de données dans une colonne, procédez comme suit :

1. Tout d'abord, définissez un nom de plage pour votre plage de données, sélectionnez les données de plage que vous souhaitez convertir, faites un clic droit et choisissez Définir le nom forment le menu contextuel. Dans le Nouveau nom boîte de dialogue, entrez le nom de plage souhaité. Puis clique OK. Voir la capture d'écran:

2. Après avoir spécifié le nom de la plage, cliquez sur une cellule vide, dans cet exemple, je clique sur la cellule E1, puis je saisis cette formule: =INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1).

Notes: Mes données est le nom de plage des données sélectionnées, vous pouvez le modifier selon vos besoins.

3. Faites ensuite glisser la formule vers la cellule jusqu'à ce que les informations d'erreur s'affichent. Toutes les données de la plage ont été transposées dans une seule colonne. Voir la capture d'écran:


Transposer rapidement la plage dans une colonne / ligne / ou vice versa dans Excel

Dans certains cas, vous devrez peut-être transposer une plage de cellules en une colonne ou une ligne, ou vice versa, convertir une colonne ou une ligne en plusieurs lignes et colonnes dans une feuille Excel. Avez-vous un moyen rapide de le résoudre? Ici le Transposer la gamme fonctionner dans Kutools pour Excel peut gérer facilement tous les travaux ci-dessus.Cliquez pour un essai gratuit complet en 30 jours!
doc1
 
Kutools for Excel: avec plus de 300 compléments Excel pratiques, essayez gratuitement sans limitation en 30 jours.

Transposer / Convertir les colonnes et les lignes en une seule colonne avec le code VBA

Avec le code VBA suivant, vous pouvez également joindre les multiples colonnes et lignes en une seule colonne.

1. Maintenez le ALT + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2. Cliquez insérer > Moduleet collez le code suivant dans le Module fenêtre.

Sub ConvertRangeToColumn()
'Updateby20131126
Dim Range1 As Range, Range2 As Range, Rng As Range
Dim rowIndex As Integer
xTitleId = "KutoolsforExcel"
Set Range1 = Application.Selection
Set Range1 = Application.InputBox("Source Ranges:", xTitleId, Range1.Address, Type:=8)
Set Range2 = Application.InputBox("Convert to (single cell):", xTitleId, Type:=8)
rowIndex = 0
Application.ScreenUpdating = False
For Each Rng In Range1.Rows
    Rng.Copy
    Range2.Offset(rowIndex, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
    rowIndex = rowIndex + Rng.Columns.Count
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

3. presse F5 pour exécuter le code, et une boîte de dialogue s'affiche pour vous permettre de sélectionner une plage à convertir. Voir capture d'écran :

4. Puis clique Ok, et une autre boîte de dialogue s'affiche pour sélectionner une cellule unique pour afficher le résultat, voir capture d'écran:

5. Et cliquez sur Ok, puis le contenu de la cellule de la plage est converti en une liste d'une colonne, voir capture d'écran:

doc-convertir-plage-en-colonne11


Transposer/Convertir des colonnes et des lignes en une seule colonne avec Kutools for Excel

Peut-être que la formule est trop longue à retenir et que le code VBA a des limites pour vous, dans cette situation, ne vous inquiétez pas, ici je vais vous présenter un outil plus simple et plus multifonctionnel-Kutools pour Excel, Avec son Transform Range utilitaire, et vous pouvez résoudre ce problème rapidement et facilement.

Kutools pour Excel, avec plus de 300 fonctions pratiques, rend vos travaux plus faciles. 

Après installation gratuite Kutools for Excel, procédez comme suit:

1. Sélectionnez la plage à transposer.

2. Cliquez Kutools > Transform Range, voir capture d'écran:

doc convertir la plage en colonne 12

3. dans le Transform Range boîte de dialogue, sélectionnez Range to single column option, voir capture d'écran:

doc convertir la plage en colonne 13

4. Puis clique OK, et spécifiez une cellule pour mettre le résultat de la boîte de pop-out.

doc convertir la plage en colonne 14

5. Cliquez OKet les données de plusieurs colonnes et lignes ont été transposées en une seule colonne.
doc convertir la plage en colonne 15

Si vous souhaitez convertir une colonne en une plage avec des lignes fixes, vous pouvez également utiliser le Transform Range fonction pour le gérer rapidement.
doc convertir la plage en colonne 16


Transposer le tableau croisé en tableau de liste avec Kutools for Excel

Si vous avez un tableau croisé devant être converti en un tableau de liste comme ci-dessous la capture d'écran, sauf en retapant les données une par une, vous pouvez également utiliser Kutools pour Excel's Transpose Table Dimensions utilitaire pour convertir rapidement entre tableau croisé et liste dans Excel.
doc convertir la plage en colonne 19

Après installation gratuite Kutools for Excel, procédez comme suit:

1. Sélectionnez le tableau croisé que vous souhaitez convertir en liste, cliquez sur Kutools > Range > Transpose Table Dimensions.
doc convertir la plage en colonne 18

2. dans Transpose Table Dimension boîte de dialogue, vérifier Cross table to list option sur Transpose type section, sélectionnez une cellule pour placer le nouveau tableau de format.
doc convertir la plage en colonne 18

3. Cliquez Ok, maintenant le tableau croisé a été converti en liste.


Articles connexes:

Comment changer de ligne en colonne dans Excel?

Comment transposer / convertir une seule colonne en plusieurs colonnes dans Excel?

Comment transposer / convertir des colonnes et des lignes en une seule ligne?


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtréeplus
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammesplus
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellulesplus
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDFplus
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
bas de cabine
Commentaires (58)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
Cela aurait été bien de voir l'équation complète dans #2.
Ce commentaire a été minimisé par le modérateur sur le site
JOLI! Merci beaucoup! M'a sauvé des tonnes de temps!
Ce commentaire a été minimisé par le modérateur sur le site
Existe-t-il un moyen de le faire, mais lorsqu'il saisit la plage, il commence à partir de A1 et fait toute la colonne A vers le bas, puis saisit la colonne B, etc.?
Ce commentaire a été minimisé par le modérateur sur le site
La formule complète est =INDEX(Range,1+INT((ROW(A1)-1)/COLUMNS(Range)),MOD(ROW(A1)-1+COLUMNS(Range),COLUMNS(Range))+1)
Ce commentaire a été minimisé par le modérateur sur le site
comment avez-vous "fait glisser la formule vers la cellule" ? Je ne peux pas le faire glisser depuis la barre de formule.
Ce commentaire a été minimisé par le modérateur sur le site
J'utilise la formule .xls pour convertir une plage de données en une seule colonne. J'ai entré la formule comme spécifié avec le nom de ma plage, mais je ne suis pas clair sur "faites glisser la formule vers la cellule jusqu'à ce que le message d'erreur apparaisse". Je ne peux pas faire glisser la formule n'importe où depuis la barre de formule. Je suis sûr que c'est une erreur de l'utilisateur, mais pouvez-vous m'aider s'il vous plaît? Merci
Ce commentaire a été minimisé par le modérateur sur le site
Merci beaucoup.
Ce commentaire a été minimisé par le modérateur sur le site
Votre formule d'indexation était exactement ce dont j'avais besoin. La seule remarque est que lors de la copie, il y a un "." à la fin et Excel n'aime pas ça. Problème mineur.
Ce commentaire a été minimisé par le modérateur sur le site
merci :) mais comment mettre moins de valeur 0 ou null sur le tableau ou sur le nom d'une plage ?
Ce commentaire a été minimisé par le modérateur sur le site
Maintenant, je me sens bien........ Vous économisez mes 30 heures de travail..... Excellent travail.
Ce commentaire a été minimisé par le modérateur sur le site
L'ordre affiché est transversal puis décroissant (A1, B1, C1, A2, B2, C2 ...) . J'ai besoin de bas en travers (A1, A2, A3, B1, B2, B3, ...). Y-a-t-il un moyen de faire ça?
Ce commentaire a été minimisé par le modérateur sur le site
ÉTONNANTE! Merci de poster pour que le monde bénéficie de vos connaissances !
Ce commentaire a été minimisé par le modérateur sur le site
Très utile! Merci!
Ce commentaire a été minimisé par le modérateur sur le site
Ce fut une aide ÉNORME !! Merci beaucoup d'avoir posté !!
Ce commentaire a été minimisé par le modérateur sur le site
Salut les gars, j'avais aussi besoin de voir vers le bas puis vers le bas (a1, a2, a3, b1, b2, b3, etc.) au lieu de vers le bas, mais cela peut être fait facilement en changeant la formule en : =INDEX(Range ,MOD(ROW(B5)-1+COLUMNS(Range),COLUMNS(Range))+1,1+INT((ROW(B5)-1)/COLUMNS(Range))) Notez comment la formule originale était : = INDEX(Range,1+INT((ROW(A1)-1)/COLUMNS(Range)),MOD(ROW(A1)-1+COLUMNS(Range),COLUMNS(Range))+1) question de changer les parties avant et après la virgule. Merci pour ce topic, ça m'a beaucoup aidé !
Ce commentaire a été minimisé par le modérateur sur le site
Merci beaucoup! Ça m'a fait gagner du temps et c'est efficace !!!!!!
Ce commentaire a été minimisé par le modérateur sur le site
merci. C'était très bien.
Ce commentaire a été minimisé par le modérateur sur le site
Cette formule fonctionne mieux lorsque les données sont au format carré, =INDEX(Range,MOD(ROW(B5)-1+COLUMNS(Range),COLUMNS(Range))+1,1+INT((ROW(B5)-1) /COLUMNS(Range))) mais le défi est de savoir comment utiliser cette formule lorsque les données sont impaires et paires Lignes et colonnes ainsi que les données de plage dynamique (Lignes ou Colonnes). Par exemple : A1 : A5, B1 : B4, C1 : C6 plage de données
Ce commentaire a été minimisé par le modérateur sur le site
ouais je suis d'accord, est-ce possible si le non. de rangées dans chaque colonne est inégale ?
Ce commentaire a été minimisé par le modérateur sur le site
Merci ça m'a été très utile.....
Ce commentaire a été minimisé par le modérateur sur le site
oufwww !!!!! après des heures de recherche sur la façon de faire ce GRAND TRAVAIL et merci beaucoup Cordialement Nathan
Ce commentaire a été minimisé par le modérateur sur le site
pradeep.kumar@rsrit.com rash@svktechinc.com Akshit kumar7hAkshit kumarSalut à akshith@smtworks.com K. Sandeep Babu {KSB}7hK. Sandeep Babu {KSB} à sandeep.babu@stiorg.com Anup Kumar7hAnup Kumar est basé sur anup@r3tek.com radha@infogensoftware.com Raja sekhar Reddy6hRaja sekhar Reddy à raj@prospectinfosys.com Ce sont mes données et j'ai besoin de séparer les identifiants de messagerie. S'il vous plaît aider comment le faire.
Il n'y a pas encore de commentaires postés ici
TÉLÉCHARGER PLUS
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0   Personnages
Emplacements suggérés