Note: The other languages of the website are Google-translated. Back to English
Mon Compte  \/ 
x
or
x
S’enregistrer  \/ 
x

or

Comment concaténer des lignes dans une cellule basée sur un groupe dans Excel?

Voici une plage de deux colonnes, l'une est la liste des cours et l'autre la liste des noms des élèves. Comme vous le voyez, certains étudiants sont dans la même classe, d'autres non. Maintenant, je veux concaténer les étudiants de la même classe dans une cellule comme illustré ci-dessous, comment puis-je le gérer rapidement dans Excel?
doc concaténer par groupe 1

Regrouper et concaténer avec des formules et une fonction de filtrage

Regrouper et concaténer avec le code VBA

Regrouper et concaténer avec des lignes de combinaison avancéesbonne idée3


Regrouper et concaténer avec des formules et une fonction de filtrage

Dans Excel, vous pouvez appliquer des formules à des lignes concaténées basées sur une colonne, puis utiliser la fonction Filtre pour afficher uniquement le résultat.

importante: Vous devez trier vos données par classe avant de suivre les étapes.

1. Dans une cellule vide à côté de la plage de données, par exemple C13, saisissez cette formule =IF(A13=A12,C12&", "&B13,B13), presse Enter touchez et remplissez la formule dans les cellules en faisant glisser la poignée de remplissage.
doc concaténer par groupe 2

Dans la formule, A13 est la première donnée de la colonne «Classe», B13 est la première donnée de la colonne «Nom», «,» est le séparateur pour délimiter le contenu de la concaténation.

2. Ensuite, dans la colonne suivante, D13, saisissez cette formule =IF(A13<>A14,"Last","") et faites glisser la poignée de recopie vers le bas pour appliquer la formule aux cellules dont vous avez besoin.
doc concaténer par groupe 3

3. Sélectionnez maintenant toute la plage de données, y compris les formules, puis cliquez sur Data > Filter à ajouter Filter icons aux données.
doc concaténer par groupe 4

4. Cliquez sur l' Filter icon dans le dernier en-tête de formule, vérifiez Last case à cocher uniquement dans la liste déroulante, puis cliquez sur OK.
doc concaténer par groupe 5

Maintenant, le résultat est affiché comme ci-dessous, vous pouvez supprimer la dernière colonne d'aide si vous n'en avez jamais besoin.
doc concaténer par groupe 6


Regrouper et concaténer avec le code VBA

Voici un code VBA qui peut également gérer ce travail.

1. presse Alt + F11 touches pour activer Microsoft Visual Basic for Applications fenêtre.

2. Puis dans la fenêtre, cliquez sur Tools > References autoriser References boîte de dialogue et vérifiez Microsoft Scripting Runtime. Voir la capture d'écran:
doc concaténer par groupe 7
doc concaténer par groupe 8

3. Cliquez OKEt cliquez Insert > Module dans la fenêtre VBA, et copiez et collez ci-dessous le code VBA dans le Module scénario. Voir la capture d'écran:

VBA: concaténer les lignes dans une cellule en fonction du groupe

  Sub ConcatenateCellsIfSameValues()
'UpdatebyExtendoffice20180201
    Dim I As Long
    Dim J As Long
    Dim xRg As Range
    Dim xRgKey As Range
    Dim xRgVal As Range
    Dim xStr As String
    Dim xDic As New Dictionary
    On Error Resume Next
    Set xRg = Application.InputBox("Select data range", "KuTools for Excel", Selection.Address, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Set xRgKey = Application.InputBox("Select key column", "KuTools for Excel", xRg.Columns(1).Address, , , , , 8)
    If xRgKey Is Nothing Then
        MsgBox "Key column cannot be empty", vbInformation, "KuTools for Excel"
    End If
    Set xRgVal = xRg(1).Offset(, 1).Resize(xRg.Rows.Count, xRg.Columns.Count - 1)
    For I = 1 To xRgKey.Count
        If I > xRgKey.Count Then Exit For
        xStr = ""
        For J = 1 To xRgVal.Columns.Count
            xStr = xStr & " " & xRgVal(I, J)
        Next
        If xDic.Exists(xRgKey(I).Text) Then
            xDic(xRgKey(I).Text) = xDic(xRgKey(I).Text) & xStr
            xRgKey(I).EntireRow.Delete
            I = I - 1
       Else
            xDic.Add xRgKey(I).Text, xStr
        End If
    Next
    For I = 1 To xRgVal.Count
        xRgVal(I).Value = xDic(xRgKey(I).Text)
    Next
End Sub

doc concaténer par groupe 9

4. presse F5 et sélectionnez la plage de données que vous utilisez dans la boîte de dialogue contextuelle.
doc concaténer par groupe 10

5. Cliquez OK pour sélectionner la colonne clé sur laquelle vous souhaitez regrouper.
doc concaténer par groupe 11

6. Cliquez OK, maintenant le résultat est affiché comme ci-dessous:
doc concaténer par groupe 12


Regrouper et concaténer avec des lignes de combinaison avancées

Voici un utilitaire dans Kutools pour Excel, Advanced Combine rangées, qui peut combiner des lignes ou effectuer des calculs basés sur une colonne clé dans Excel.

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

Après l'installation de Kutools for Excel, procédez comme suit:(Téléchargez gratuitement Kutools pour Excel maintenant!)

1. Sélectionnez la plage de données que vous utilisez et cliquez sur Kutools > Fusionner et fractionner > Lignes de combinaison avancées.
doc concaténer par groupe 13

2. dans le Advanced Combine Rows fenêtre, choisissez la colonne sur laquelle vous souhaitez combiner les lignes, puis cliquez sur Primary Key pour le définir comme colonne clé.
doc concaténer par groupe 14

3. Sélectionnez la colonne à combiner, cliquez sur Combineet choisissez un séparateur que vous utilisez pour séparer le contenu combiné.

doc concaténer par groupe 15 doc flèche droite doc concaténer par groupe 16

4. Cliquez Ok. Le résultat est affiché comme suit:
doc concaténer par groupe 17

importante: Avant d'appliquer l'utilitaire, il vaut mieux avoir une copie des données d'origine.


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ée...
  • 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 gammes...
  • 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 cellules...
  • 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 PDF...
  • 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.
kte tab 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
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.

Be the first to comment.