J'ai deux colonnes dans Excel que je veux comparer et trouver les différences entre elles.
Supposer:
- Col A a 50 chiffres, soit 0511234567
- Col B a 100 nombres dans le même format
J'ai deux colonnes dans Excel que je veux comparer et trouver les différences entre elles.
Supposer:
Réponses:
Mettre en surbrillance la colonne A . Cliquez sur Mise en forme conditionnelle > Créer une nouvelle règle > Utilisez cette formule pour déterminer les cellules à mettre en forme > Entrez le ff. formule:
=countif($B:$B, $A1)
Cliquez sur le bouton Format et remplacez la couleur de la police par quelque chose que vous aimez.
Répétez la même chose pour la colonne B , sauf que vous utilisez cette formule et essayez une autre couleur de police.
=countif($A:$A, $B1)
Dans la colonne C , entrez le ff. formule dans la première cellule, puis copiez-le.
=if(countif($B:$B, $A1)<>0, "-", "Not in B")
Dans la colonne D , 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.
$B:$B
se référer à l'ensemble de la colonne B
ne fonctionne pas. Utilisez plutôt $B$1:$B$1048576
(où 1048576 est la ligne du numéro le plus élevé). Remarque $
devant les chiffres (appelées références absolues ) - cela le fait fonctionner comme prévu pour des opérations telles que Fill Down (appelé "copier le tout") ou Fill Up .
Microsoft a publié 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 .. ..
Voici la formule que vous recherchez:
=IF(ISERROR(NOT(MATCH(A1,$B$1:$B$11,0))),A1,"")
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.
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".
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
J'utilise Excel 2010 et je ne fais que mettre 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 Mettre en évidence les cellules, puis les différences. Il vous invite ensuite à souligner les différences ou les similitudes et vous demande quelle couleur de surbrillance vous souhaitez utiliser ...
La comparaison peut être faite avec le code Excel VBA. Le processus de comparaison peut être effectué avec la Worksheet.Countif
fonction Excel VBA .
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
...
Vidéo du tutoriel: https://www.youtube.com/watch?v=Vt4_hEPsKt8
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 et collez vos colonnes dans 2 nouveaux fichiers texte, puis exécutez une comparaison (à partir du menu des plugins).
La combinaison des fonctions NOT MATCH fonctionne bien. Les travaux suivants aussi:
= IF ( ISERROR ( VLOOKUP (<< élément dans la liste plus grande >>, << liste plus petite >>, 1 , FAUX )), << élément dans la liste plus grande >>, "")
N'OUBLIEZ PAS: la plus petite liste DOIT être triée ASCENDANT - une exigence de vlookup