Passer au contenu principal
 

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

Auteur : Soleil Dernière modification: 2020-08-18

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.

Notes: 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 Sauvegarde de > 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 for Excel, Advanced Combine rangées, qui peut combiner des lignes ou effectuer des calculs basés sur une colonne clé dans Excel.

Kutools for Excel, équipé d'IA 🤖, propose plus de 300 fonctionnalités pratiques pour simplifier vos tâches.

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

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

Meilleurs outils de productivité bureautique

🤖 Aide à l'IA Kutools: Révolutionner l'analyse des données en s'appuyant sur : Exécution intelligente   |  Générer du code  |  Créer des formules personnalisées  |  Analyser les données et générer des graphiques  |  Invoquer les fonctions Kutools...
Caractéristiques populaires: Rechercher, mettre en évidence ou identifier les doublons   |  Supprimer les lignes vides   |  Combinez des colonnes ou des cellules sans perdre de données   |   Tour sans formule 
Super recherche: VSearchup à critères multiples    VSearch à valeurs multiples  |   Recherche virtuelle sur plusieurs feuilles   |   Recherche floue ....
Liste déroulante avancée: Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple ....
Gestionnaire de colonnes: Ajouter un nombre spécifique de colonnes  |  Déplacer les colonnes  |  Basculer l'état de visibilité des colonnes masquées  |  Comparer les plages et les colonnes 
Caractéristiques en vedette: Mise au point de la grille   |  Voir Design   |   Grande barre de formule    Gestionnaire de classeurs et de feuilles   |  Ressources (Texte automatique)   |  Sélecteur de date   |  Combiner des feuilles de travail   |  Crypter/déchiffrer les cellules    Envoyer des e-mails par liste   |  Super filtre   |   Filtre spécial (filtre gras/italique/barré...) ...
Les 15 meilleurs ensembles d'outils12 Texte Outils (Ajouter du texte, Supprimer les caractères, ...)   |   50+ Graphique Types (Diagramme de Gantt, ...)   |   40+ Pratique Formules (Calculer l'âge en fonction de l'anniversaire, ...)   |   19 Insertion Outils (Insérer le code QR, Insérer une image à partir du chemin, ...)   |   12 Conversion Outils (Nombres en mots, Conversion des devises, ...)   |   7 Fusionner et fractionner Outils (Lignes de combinaison avancées, Cellules divisés, ...)   |   ... et plus

Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps.  Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...


Office Tab apporte une interface à onglets à Office et facilite grandement 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!