Passer au contenu principal

Comment fusionner rapidement des lignes en fonction d'une valeur de colonne, puis effectuer des calculs dans Excel?

Par exemple, vous avez une plage de données et une colonne a des doublons, vous voulez maintenant fusionner les lignes et les bases de la colonne A (a des doublons), puis effectuer des calculs vers une autre colonne en fonction des lignes fusionnées comme illustré sur la capture d'écran:

Dans Excel, il n'y a pas de méthode rapide pour fusionner des lignes en fonction d'une valeur de colonne, mais ici je présente le
astuces qui peuvent vous aider à fusionner des lignes en double, puis à additionner ou à effectuer d'autres calculs sur une autre colonne.


flèche bleue bulle droite Fusionner les lignes en fonction d'une colonne puis additionner les valeurs avec VBA

Il existe un code VBA qui peut vous aider à fusionner les lignes en double, puis à additionner les autres valeurs de colonne.

Navigation par onglets et édition de plusieurs classeurs Excel / documents Word comme Firefox, Chrome, Internet Explore 10!

Vous êtes peut-être habitué à afficher plusieurs pages Web dans Firefox/Chrome/IE et à basculer entre elles en cliquant facilement sur les onglets correspondants. Ici, l'onglet Office prend en charge un traitement similaire, qui vous permet de parcourir plusieurs classeurs Excel ou documents Word dans une fenêtre Excel ou une fenêtre Word, et de basculer facilement entre eux en cliquant sur leurs onglets. Cliquez gratuitement 30Essai d'une journée d'Office Tab !

pas exceller

1. presse F11 + Alt clés pour activer Microsoft Visual Basic pour applications fenêtre, puis cliquez sur insérer > Module et copiez et collez ci-dessous le code VBA dans le nouveau Module fenêtre.

VBA: fusionner les lignes en fonction d'une valeur de colonne

Sub MG30Nov12()
'Updateby20150519
Dim Rng As Range
Dim InputRng As Range
Dim nRng As Range
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set InputRng = InputRng.Parent.Range(InputRng.Columns(1).Address)
With CreateObject("scripting.dictionary")
.CompareMode = vbTextCompare
For Each Rng In InputRng
    If Not .Exists(Rng.Value) Then
        .Add Rng.Value, Rng.Offset(, 1)
    Else
        .Item(Rng.Value).Value = .Item(Rng.Value).Value + Rng.Offset(, 1)
            If nRng Is Nothing Then
                Set nRng = Rng
            Else
                Set nRng = Union(nRng, Rng)
            End If
    End If
Next
If Not nRng Is Nothing Then
    nRng.EntireRow.Delete
End If
End With
End Sub

2. presse F5 ou cliquez sur Courir bouton pour exécuter le VBA, et une boîte de dialogue apparaît pour sélectionner une plage de données à travailler. voir capture d'écran:

doc fusionne les colonnes en fonction d'une colonne 3

3. Après avoir sélectionné une plage de travail, cliquez sur OK. Maintenant, les données ont été fusionnées par la première colonne et additionnées les valeurs de la deuxième colonne.

doc fusionne les colonnes en fonction d'une colonne 4

Notes: Ce code VBA peut simplement fonctionner correctement lors de la fusion en fonction de la première colonne et de la somme des valeurs dans la deuxième colonne.


flèche bleue bulle droite Fusionner les lignes en fonction d'une colonne, puis additionner les valeurs avec Advanced Combine Rows

Si vous n'êtes pas familier avec le code VBA, vous pouvez utiliser le Lignes de combinaison avancées fonctionnalité de l'outil complémentaire de troisième partie - Kutools for Excel pour fusionner facilement et rapidement les lignes en double, puis additionnez les valeurs dans une autre colonne.

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

1. Sélectionnez les données que vous souhaitez utiliser et cliquez sur Kutools > Fusionner et fractionner > Lignes de combinaison avancées. Voir la capture d'écran:

doc avancé combiner rangée 1

2. Ensuite, dans la boîte de dialogue contextuelle, sélectionnez la colonne sur laquelle vous fusionnerez d'autres colonnes, puis cliquez sur Primaire Clé, cliquez sur une autre colonne et cliquez sur Calculer Puis sélectionnez Somme.

Conseil : Si votre plage sélectionnée comporte des en-têtes, vérifiez Mes données ont des en-têtes, et vérifie Utiliser des valeurs formatées conservera le formatage après la fusion.

doc fusionne les colonnes en fonction d'une colonne 6

3. Puis clique Ok. Maintenant, les données ont été fusionnées en fonction de la colonne principale, et une autre est résumée. Voir la capture d'écran:

doc fusionne les colonnes en fonction d'une colonne 7


flèche bleue bulle droite Fusionner les lignes en fonction d'une colonne, puis effectuer différentes opérations sur d'autres colonnes avec Advanced Combine Rows.

Lignes de combinaison avancées est puissant, car il peut non seulement fusionner des lignes en double dans une colonne puis additionner une autre colonne, mais peut également fusionner des lignes en double dans une colonne, puis effectuer différentes opérations sur d'autres colonnes.

Supposons que j'ai une plage de données comme ci-dessous la capture d'écran montrée, et que je souhaite à la fois combiner les valeurs de la colonne B et les valeurs de somme de la colonne C en fonction de la colonne A.
doc fusionne les colonnes en fonction d'une colonne 8

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

1. Sélectionnez la plage de données et cliquez sur Kutools > Fusionner et fractionner > Lignes de combinaison avancées. Voir la capture d'écran:

doc avancé combiner rangée 1

2. dans le Combiner des lignes en fonction de la colonne dialogue, faites comme ceci:

(1) Cliquez sur la colonne sur laquelle vous souhaitez combiner, puis cliquez sur Clé primaire;

doc fusionne les colonnes en fonction d'une colonne 10

(2) Cliquez sur la colonne dans laquelle vous souhaitez combiner les données, puis cliquez sur Combiner, puis sélectionnez un séparateur dont vous avez besoin dans la liste;

doc fusionne les colonnes en fonction d'une colonne 11

(3) Cliquez sur la colonne pour laquelle vous souhaitez additionner les valeurs et cliquez sur Calculer, et sélectionnez Somme.

doc fusionne les colonnes en fonction d'une colonne 12

3. Cliquez Ok. Vous pouvez maintenant voir le résultat comme ci-dessous:

doc fusionne les colonnes en fonction d'une colonne 13

Avec Lignes de combinaison avancées fonctionnalité, vous pouvez également fusionner des lignes en fonction d'une colonne, puis compter, faire la moyenne, conserver les premières ou dernières données dans d'autres colonnes. 

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   |  Centre de 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...

Description


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!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I have the same/similar question. I am trying to sum all of the columns to the right of the reference cell but it only sums the one. How do I get it to sum all those to the right individually?
This comment was minimized by the moderator on the site
Hey, your module used to work for big tables as well (eg. you want to sum up according to Year but you have Sales 1, Sales 2, Sales 3....etc). But now it only gets the first column right (Sales 1) and all others are not summed correctly. Did you change anything?
Thanks!
This comment was minimized by the moderator on the site
Hi, IK, maybe you can use the sumproduct function SUMPRODUCT((A2:A10=”Pen”)*(B2:E10)) to calculate them one by one. A2:A10 is the range contain the lookup value, pen is the criterion, B2:E10 is range that you want to sum based on criterion.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations