Pour comparer deux colonnes ligne par ligne, tapez =B2=C2 à côté de la première ligne et recopiez vers le bas : VRAI signifie que les deux cellules correspondent, FAUX qu'elles diffèrent. Pour trouver les valeurs d'une colonne qui apparaissent n'importe où dans une autre colonne, dans n'importe quel ordre, utilisez plutôt =NB.SI($B$2:$B$8;A2)>0. Le tableau affiche les formules sous leur forme anglaise (IF pour SI, COUNTIF pour NB.SI), avec des virgules, mais vous pouvez aussi les taper comme dans un Excel français, avec des points-virgules.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Product | Old | New | Same? | Status |
| 2 | Apple | $1.20 | $1.20 | TRUE | Same |
| 3 | Pear | $1.50 | $1.60 | FALSE | Changed |
| 4 | Carrot | $0.80 | $0.80 | TRUE | Same |
| 5 | Bread | $2.40 | $2.20 | FALSE | Changed |
| 6 | Milk | $1.10 | $1.10 | TRUE | Same |
| 7 | Cheese | $4.50 | $4.90 | FALSE | Changed |
=B2=C2D3, D5 et D7 valent FAUX, et la règle de mise en forme conditionnelle =$B2<>$C2 colore ces trois lignes. La colonne E montre le même test avec des mots au lieu de VRAI et FAUX. Remplacez C3 par 1.5 et la ligne 3 passe à Same.
Comparer deux colonnes avec SI
=B2=C2 renvoie VRAI ou FAUX. Entourez-le de SI pour choisir les mots : =SI(B2=C2;"Same";"Changed"), comme dans la colonne E ci-dessus. Pour laisser vides les lignes qui correspondent et ne signaler que les différences, utilisez =SI(B2<>C2;"Changed";""). Pour montrer de combien un nombre a changé, soustrayez au lieu de comparer : =C2-B2.
Pour compter les différences sans colonne d'aide, comparez les deux plages dans SOMMEPROD : =SOMMEPROD(--(B2:B7<>C2:C7)) renvoie 3 pour le tableau ci-dessus.
Sans formule : sélectionnez B2:C7 avec B2 comme cellule active, allez dans Accueil > Rechercher et sélectionner > Sélectionner les cellules, choisissez Différences par ligne et appuyez sur OK (sous Windows, Ctrl+\ fait la même chose). Excel sélectionne C3, C5 et C7, les cellules qui diffèrent de la colonne B dans leur ligne ; donnez-leur une couleur de remplissage pour les repérer.
Comparaison sensible à la casse avec EXACT
La comparaison = ignore les majuscules et minuscules : ab12 est égal à AB12. Quand la casse compte (codes produits, mots de passe, identifiants), utilisez EXACT(A2;B2), qui ne vaut VRAI que si les deux textes sont identiques caractère par caractère.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Code | Entered | Equal? | EXACT |
| 2 | AB12 | AB12 | TRUE | TRUE |
| 3 | CD34 | cd34 | TRUE | FALSE |
| 4 | EF56 | EF56 | TRUE | TRUE |
| 5 | GH78 | Gh78 | TRUE | FALSE |
=A2=B2La colonne C, la comparaison =, dit que les quatre correspondent. EXACT dit que les lignes 3 et 5 diffèrent, parce que cd34 et Gh78 utilisent des minuscules.
Trouver les valeurs d'une colonne absentes de l'autre
Quand les deux listes ne sont pas dans le même ordre, comparez chaque valeur avec toute l'autre colonne. NB.SI($B$2:$B$8;A2) compte combien de fois A2 apparaît dans B2:B8, donc >0 signifie "trouvé" et =0 signifie "absent". Les signes $ gardent fixe la plage de recherche pendant que la formule est recopiée vers le bas.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | January | February | In February? | With MATCH |
| 2 | Ana | Dan | TRUE | TRUE |
| 3 | Ben | Fay | TRUE | TRUE |
| 4 | Cara | Ana | FALSE | FALSE |
| 5 | Dan | Gus | TRUE | TRUE |
| 6 | Eve | Hal | FALSE | FALSE |
| 7 | Fay | Ivy | TRUE | TRUE |
| 8 | Gus | Ben | TRUE | TRUE |
=NB.SI($B$2:$B$8;A2)>0Cara et Eve valent FAUX : ils ont acheté en janvier et pas en février. EQUIV donne la même réponse par un autre chemin : EQUIV(A2;$B$2:$B$8;0) renvoie la position de A2 dans la colonne B, ou #N/A quand elle n'y est pas, et ESTNUM transforme cela en VRAI ou FAUX. Pour vérifier l'autre sens (les nouveaux clients de février), placez la même formule à côté de la colonne B avec les plages inversées : =NB.SI($A$2:$A$8;B2)>0.
Comparer deux listes et renvoyer une valeur correspondante
Souvent, la question n'est pas seulement "est-ce présent" mais "la valeur d'à côté correspond-elle". Ici, des factures sont comparées à une liste de paiements dans un autre ordre : RECHERCHEX trouve chaque facture dans les paiements, renvoie ce qui a été payé, et la colonne D le compare au montant de la facture.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Invoice | Amount | Paid | Match? | Payment for | Paid | |
| 2 | INV-101 | 120 | 120 | TRUE | INV-103 | 240 | |
| 3 | INV-102 | 85 | Not paid | FALSE | INV-101 | 120 | |
| 4 | INV-103 | 240 | 240 | TRUE | INV-105 | 140 | |
| 5 | INV-104 | 60 | 60 | TRUE | INV-106 | 95 | |
| 6 | INV-105 | 150 | 140 | FALSE | INV-104 | 60 | |
| 7 | INV-106 | 95 | 95 | TRUE |
=RECHERCHEX(A2;$F$2:$F$6;$G$2:$G$6;"Not paid")INV-102 n'a pas de paiement, donc C3 affiche Not paid. INV-105 a été payée 140 au lieu de 150, donc D6 vaut FAUX aussi. Le dernier argument de RECHERCHEX, "Not paid", remplace le #N/A qu'une valeur absente donnerait. RECHERCHEX exige Excel 2021 ou Microsoft 365 ; dans Excel 2019, utilisez =SIERREUR(RECHERCHEV(A2;$F$2:$G$6;2;FAUX);"Not paid"). La page RECHERCHEX présente les autres arguments.
Lister les valeurs absentes de l'autre colonne
Au lieu d'une colonne de VRAI et FAUX, FILTRE peut renvoyer les valeurs absentes sous forme de liste. NB.SI(B2:B8;A2:A8) avec une plage comme second argument compte toutes les valeurs de A d'un coup, et FILTRE garde celles dont le compte vaut 0.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | January | February | Not in February | |
| 2 | Ana | Dan | ||
| 3 | Ben | Fay | ||
| 4 | Cara | Ana | ||
| 5 | Dan | Gus | ||
| 6 | Eve | Hal | ||
| 7 | Fay | Ivy | ||
| 8 | Gus | Ben |
À vous : En D2, listez les clients de janvier qui ne sont pas dans la liste de février.
La réponse répand Cara et Eve. =FILTRE(A2:A8;ESTNA(EQUIV(A2:A8;B2:B8;0))) fonctionne aussi. Si chaque client est revenu, FILTRE renvoie #CALC! ; ajoutez un troisième argument pour ce cas : =FILTRE(A2:A8;NB.SI(B2:B8;A2:A8)=0;"None"). FILTRE exige Excel 2021 ou Microsoft 365. Voir FILTRE pour d'autres conditions.
Mettre en évidence les différences entre deux colonnes
Les formules ci-dessus fonctionnent aussi comme règles de mise en forme conditionnelle. Sélectionnez la première liste, allez dans Accueil > Mise en forme conditionnelle > Nouvelle règle > Utiliser une formule pour déterminer pour quelles cellules le format sera appliqué, et saisissez la formule pour sa première cellule. Ici, A2:A8 reçoit =NB.SI($B$2:$B$8;A2)=0 et B2:B8 reçoit =NB.SI($A$2:$A$8;B2)=0 : chaque nom présent dans une seule des listes est coloré.
| A | B | |
|---|---|---|
| 1 | January | February |
| 2 | Ana | Dan |
| 3 | Ben | Fay |
| 4 | Cara | Ana |
| 5 | Dan | Gus |
| 6 | Eve | Hal |
| 7 | Fay | Ivy |
| 8 | Gus | Ben |
Cara et Eve sont colorés en janvier, Hal et Ivy en février. Pour deux colonnes qui doivent correspondre ligne par ligne, la règle est =$A2<>$B2 sur les deux colonnes, comme dans le premier tableau de cette page. Pour colorer plutôt les noms présents dans les deux listes, utilisez >0, comme sur la page mettre en évidence les doublons.
Pourquoi des valeurs identiques apparaissent différentes
La raison la plus fréquente est une espace invisible : Ana avec une espace à la fin n'est pas égal à Ana. Les données collées depuis un autre système ou une page web en contiennent souvent. Comparez plutôt les valeurs nettoyées.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Name | Other list | Equal? | Trimmed |
| 2 | Ana | Ana | FALSE | TRUE |
| 3 | Ben | Ben | TRUE | TRUE |
| 4 | Cara | Cara | FALSE | TRUE |
| 5 | Dan | Dan | TRUE | TRUE |
=A2=B2La colonne C dit que les lignes 2 et 4 diffèrent ; la colonne D, après que SUPPRESPACE a supprimé les espaces aux deux bouts, dit que les quatre correspondent. L'autre raison habituelle est un nombre stocké sous forme de texte dans une colonne et un vrai nombre dans l'autre : 101 et '101 se ressemblent, mais la comparaison = d'Excel renvoie FAUX, et EQUIV, RECHERCHEV et RECHERCHEX ne trouvent pas l'un dans l'autre. NB.SI fait exception : il lit un texte qui ressemble à un nombre comme ce nombre, donc il les compte comme égaux. Un triangle vert dans le coin de la cellule signale la version texte ; convertissez-la avec =CNUM(A2) ou =A2*1, ou sélectionnez les cellules et choisissez Convertir en nombre dans l'icône d'avertissement.
Questions fréquentes
Comment comparer deux colonnes dans Excel pour trouver les correspondances ?
Ligne par ligne : tapez =A2=B2 en C2 et recopiez vers le bas ; VRAI signifie que les deux cellules correspondent. Pour vérifier si chaque valeur de A apparaît n'importe où dans B, utilisez =NB.SI($B$2:$B$8;A2)>0.
Comment comparer deux colonnes et renvoyer une valeur de la seconde ?
Recherchez la valeur : =RECHERCHEX(A2;$F$2:$F$7;$G$2:$G$7;"Not found") renvoie la valeur correspondante de G, ou Not found. Dans Excel 2019 et les versions plus anciennes, utilisez =SIERREUR(RECHERCHEV(A2;$F$2:$G$7;2;FAUX);"Not found").
La comparaison de deux cellules dans Excel respecte-t-elle la casse ?
Non. =A2=B2 considère abc et ABC comme égaux. Pour une comparaison sensible à la casse, utilisez =EXACT(A2;B2), qui ne vaut VRAI que si chaque caractère correspond, casse comprise.
Comment lister les valeurs qui sont dans une colonne mais pas dans l'autre ?
Dans Excel 365 et 2021, =FILTRE(A2:A8;NB.SI(B2:B8;A2:A8)=0) répand chaque valeur de A2:A8 qui n'apparaît pas dans B2:B8.
Pourquoi Excel dit-il que deux valeurs identiques sont différentes ?
L'une d'elles a en général une espace en trop ou est un nombre stocké sous forme de texte. Comparez =SUPPRESPACE(A2)=SUPPRESPACE(B2) pour écarter les espaces, et convertissez les nombres en texte avec =CNUM(A2) ou =A2*1.