Rechercher des éléments dans une colonne qui ne sont pas dans une autre colonne

90

J'ai deux colonnes dans Excel et je veux trouver (de préférence mettre en surbrillance) les éléments qui sont dans la colonne B mais pas dans la colonne A.

Quel est le moyen le plus rapide de faire cela?

Traverser
la source

Réponses:

91
  1. Sélectionnez la liste dans la colonne A
  2. Cliquez avec le bouton droit de la souris et sélectionnez Nommer une plage ...
  3. Entrez "ColumnToSearch"
  4. Cellule de clic C1
  5. Entrez cette formule: =MATCH(B1,ColumnToSearch,0)
  6. Faites glisser la formule vers le bas pour tous les éléments de B

Si la formule ne parvient pas à trouver une correspondance, elle sera marquée # N / A, sinon ce sera un nombre.

Si vous voulez que ce soit VRAI pour correspondance et FAUX pour aucune correspondance, utilisez plutôt cette formule:

=ISNUMBER(MATCH(B1,ColumnToSearch,0))

Si vous souhaitez renvoyer la valeur non trouvée et une chaîne vide pour les valeurs trouvées

=IF(ISNUMBER(MATCH(B1,ColumnToSearch,0)),"",B1)
devuxer
la source
6
Puis ... Mettez cette formule en format conditionnel dans les deux listes et utilisez-la pour mettre en surbrillance (ou autre chose) les cellules ne correspondant pas
Kije
4
"Name a Range" n'apparaît pas pour moi? Testé sur Excel 2010 et 2016.
KERR
Si, comme @KERR et moi, vous n'avez pas "Nommez une plage ...", utilisez-la A:Aou remplacez-la ColumnToSearchdans les formules.
Michael
Si, comme moi, vous ne réalisez pas d'abord où entrer "ColumnToSearch" (étape 3), entrez-le comme nom de la plage nommée que vous créez.
DaveL17
"Name a Range" apparaît sous la forme Define Name...(Excel 2019)
oliver-clare
29

Voici une méthode rapide et sale.

Mettez en surbrillance la colonne B et ouvrez la mise en forme conditionnelle .

Choisissez Utiliser une formule pour déterminer les cellules à mettre en surbrillance .

Entrez la formule suivante, puis définissez votre format préféré.

=countif(A:A,B1)=0
Ellesa
la source
J'ai utilisé "= ISODD (COUNTIF (A: A, B1) = 0)" pour imprimer vrai pour '1' ou faux pour '0'
Ramraj le
15

Sélectionnez les deux colonnes. Accédez à Mise en forme conditionnelle et sélectionnez Mettre en évidence les règles de cellule. Sélectionnez les valeurs en double. Lorsque vous arrivez à l'étape suivante, vous pouvez le changer en valeurs uniques. Je viens de le faire et cela a fonctionné pour moi.

DOB
la source
si vous
répétez
1
C’est sûrement la réponse la plus simple et la plus pertinente? Aucune formule requise.
KERR
Rien ne se passe quand on fait ça.
Overmind
12

Il m'a fallu une éternité pour comprendre cela, mais c'est très simple. En supposant que les données commencent en A2 et B2 (pour les en-têtes), entrez cette formule en C2:

=MATCH(B2,$A$2:$A$287,0)

Puis cliquez et faites glisser vers le bas.

Une cellule avec #N/Asignifie que la valeur juste à côté de celle-ci dans la colonne B n'apparaît nulle part dans la colonne A.

Veuillez noter que vous devez modifier 287 USD pour correspondre à l'ensemble de votre tableau de recherche dans la colonne A. Par exemple, si vos données dans la colonne A diminuent pour 1 000 entrées, elles devraient être de 1 000 USD.

Brenton
la source
3
=MATCH(B2,$A:$A,0)a travaillé pour moi.
Nilgun
4

Voir ma réponse de formule de tableau à la liste A non trouvée dans B ici:

= IFERROR (INDEX (2 AUD: 2 AUD de 1999, MATCH (0, IFERROR (2 AUD: 2 AUD de 1999, B $ 2 USD: 399,0 USD)), COUNTIF (1 AUD de $: C1 $, 2 $: 1999 $)), 0)), "")

Comparer deux colonnes de noms et renvoyer des noms manquants

Jeeped
la source
Cette solution est bonne, mais dépend du tri alphabétique des colonnes source, sinon elle récupère les doublons.
Steve Taylor
3

Mes exigences n'étaient pas de mettre en évidence mais de montrer toutes les valeurs sauf celles qui sont en double sur 2 colonnes. J'ai pris l'aide de la solution de @ brenton et encore amélioré pour afficher les valeurs afin que je puisse utiliser les données directement:

=IF(ISNA(MATCH(B2,$A$2:$A$2642,0)), A2, "")

Copiez-le dans la première cellule de la troisième colonne et appliquez la formule dans la colonne de manière à afficher la liste de tous les éléments de la colonne B. La colonne A n'y figure pas.

Gautam Jain
la source
Il y a une erreur dans la formule ci-dessus = IF (ISNA (MATCH (B2, $ A $ 2: $ 2642,0 $)), A2, "") doit être = IF (MATCH (B2, $ A $ 2: $ 2642,0 $ US), B2, "")
1

Merci à ceux qui ont partagé leurs réponses. Grâce à vos solutions, j'ai réussi à trouver le mien.

Dans ma version de cette question, j'avais deux colonnes à comparer: une classe de finissants (Col A) et un sous-ensemble de cette classe (Col B). Je voulais pouvoir mettre en valeur dans la classe de finissants les étudiants qui faisaient partie du sous-ensemble.

Je mets la formule suivante dans une troisième colonne:

=if(A2=LOOKUP(A2,$B$2:$B$91),1100,0)

Ceci a codé la plupart de mes étudiants, bien qu’il ait généré des erreurs dans les premières lignes de données.

Drew McAllister
la source
-3

en C1écriture =if(A1=B1 , 0, 1). Puis dans Conditional formatting, sélectionnez Data barsou Color scales. C'est le moyen le plus simple.

A.Ramin Walyar
la source