web-dev-qa-db-fra.com

Comment comparer deux colonnes et trouver des différences dans Excel?

J'ai deux colonnes dans Excel que je veux comparer et trouver les différences entre elles.

Supposer:

  • Le Col A a 50 numéros, à savoir 0511234567
  • Col B a 100 nombres dans le même format
45
Sundhas

Utilisation de la mise en forme conditionnelle

Mettez en surbrillance la colonneA. Cliquez sur Mise en forme conditionnelle > Créer une nouvelle règle > Utilisez cette formule pour déterminer les cellules à formater > Entrez le ff. formule:

=countif($B:$B, $A1)

Cliquez sur le bouton Format et changez la couleur de la police en quelque chose que vous aimez.

Répétez la même chose pour la colonneB, sauf que vous utilisez cette formule et essayez une autre couleur de police.

=countif($A:$A, $B1)

Utiliser une colonne séparée

Dans la colonneC, entrez le ff. formule dans la première cellule, puis copiez-le.

=if(countif($B:$B, $A1)<>0, "-", "Not in B")

Dans la colonneD, entrez le ff. formule dans la première cellule, puis copiez-le.

=if(countif($A:$A, $B1)<>0, "-", "Not in A")

Ces deux éléments devraient vous aider à visualiser les éléments manquants dans l’autre colonne.

55
Ellesa

Microsoft a un article détaillant comment trouver les doublons dans deux colonnes. Il peut être modifié assez facilement pour trouver des éléments uniques dans chaque colonne.

Par exemple, si vous souhaitez que la colonne C affiche des entrées uniques à la colonne A et que la colonne D affiche des entrées uniques à la colonne B:

A   B   C                                          D
1   3   =IF(ISERROR(MATCH(A1,$B$1:$B$5,0)),A1,"")  =IF(ISERROR(MATCH(B1,$A$1:$A$5,0)),B1,"")
2   5   (fill down)                                (fill down)
3   8   ..                                         ..
4   2   ..                                         ..
5   0   ..                                         ..
14
Tom Shaw

Voici la formule que vous recherchez:

=IF(ISERROR(NOT(MATCH(A1,$B$1:$B$11,0))),A1,"")

 Enter image description here

Source:Excel: Trouver les différences entre deux colonnes

10
Mark Randol

Si je comprends bien votre question:

=if(Ax = Bx; True_directive ; False_directive)

Remplacez les directives True/false par une fonction ou par une chaîne telle que "Equal" ou "different".

4
pasta

Dites que vous voulez trouver ceux en col. B sans correspondance en col. A. Mettez en C2:

=COUNTIF($A$2:$A$26;B2)

Cela vous donnera 1 (ou plus) s'il y a une correspondance, 0 sinon.

Vous pouvez également trier les deux colonnes individuellement, puis sélectionner les deux options, Aller à spécial, Différences de lignes. Mais cela cessera de fonctionner après le premier nouvel élément et vous devrez insérer une cellule puis recommencer.

4
Patrick Honorez

Cela dépend du format de vos cellules et de vos exigences fonctionnelles. Avec un "0" initial, ils peuvent être formatés en texte.

Ensuite, vous pouvez utiliser la fonction IF pour comparer des cellules dans Excel:

=IF ( logical_test, value_if_true, value_if_false )

Exemple:

=IF ( A1<>A2, "not equal", "equal" )

S'ils sont formatés en nombres, vous pouvez soustraire la première colonne de l'autre afin d'obtenir la différence:

=A1-A2
3
Matt Handy

Cette formule comparera directement deux cellules. Si elles sont identiques, cela affichera True. S'il existe une différence, cela affichera False. Cette formule n'imprimera pas les différences.

=IF(A1=B1,"True","False")
2
Alex

J'utilise Excel 2010 et mettez en surbrillance les deux colonnes contenant les deux ensembles de valeurs que je compare, puis cliquez sur la liste déroulante Mise en forme conditionnelle de la page d'accueil d'Excel, choisissez les règles de mise en évidence des cellules, puis différences. Il vous invite ensuite à mettre en évidence les différences ou les similitudes et vous demande quelle couleur de surbrillance vous souhaitez utiliser ...

1
Peter McGuire

La comparaison peut être faite avec le code Excel VBA. Le processus de comparaison peut être effectué avec la fonction Excel VBA Worksheet.Countif.

Deux colonnes de différentes feuilles de calcul ont été comparées dans ce modèle. Des résultats différents ont été trouvés, une ligne entière ayant été copiée dans la deuxième feuille de calcul.

Code:

Dim stk, msb As Worksheet
Set stk = Sheets("Page1")
Set msb = Sheets("Page2")

Application.ScreenUpdating = False
sat = (msb.Range("A" & Rows.Count).End(xlUp).Row) + 1
For i = 2 To stk.Range("A" & Rows.Count).End(xlUp).Row
    If WorksheetFunction.CountIf(msb.Range("A2:A" & msb.Range("A" & Rows.Count).End(xlUp).Row), stk.Cells(i, "A")) = 0 Then
        msb.Range("a" & sat).EntireRow.Value = stk.Range("a" & i).EntireRow.Value
        msb.Range("a" & sat).Interior.ColorIndex = 22
        sat = sat + 1
    End If
Next
...

La vidéo du didacticiel: https://www.youtube.com/watch?v=Vt4_hEPsKt8

Le fichier d'exemple peut être téléchargé ici

0
kadrleyn

La combinaison NOT MATCH function fonctionne bien. Les travaux suivants aussi:

=IF(ISERROR(VLOOKUP(<< élément dans une liste plus grande >>, << liste plus petite >>, 1 ,FALSE)), << élément dans une liste plus grande >>, ""

N'OUBLIEZ PAS: la plus petite liste DOIT être triée ASCENDING - une exigence de vlookup

0
Moibi Kerandi

Ceci utilise un autre outil mais je viens de trouver cela très facile à faire. Utiliser Notepad ++:

Dans Excel, assurez-vous que vos 2 colonnes sont triées dans le même ordre, puis copiez-les et collez-les dans 2 nouveaux fichiers texte, puis exécutez une comparaison (à partir du menu des plugins).

0
Etienne