Note: The other languages of the website are Google-translated. Back to English
Se connecter  \/ 
x
or
x
INSCRIPTION  \/ 
x

or

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 pouvez être familier pour afficher plusieurs pages Web dans Firefox / Chrome / IE, et basculer entre elles en cliquant facilement sur les onglets correspondants. Ici, Office Tab prend en charge un traitement similaire, qui vous permet de parcourir plusieurs classeurs Excel ou documents Word dans une fenêtre Excel ou Word, et de basculer facilement entre eux en cliquant sur leurs onglets. Cliquez pour un essai gratuit de 30 jours 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 course 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 pour 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.

Trucs: 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 CalculerEt 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. 


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.
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
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.
  • To post as a guest, your comment is unpublished.
    story20 · 8 months ago
    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?
  • To post as a guest, your comment is unpublished.
    IK · 2 years ago
    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!
    • To post as a guest, your comment is unpublished.
      Sunny · 1 years ago
      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.