Найти элементы в одном столбце, которые не находятся в другом столбце

90

У меня есть два столбца в Excel, и я хочу найти (желательно выделить) элементы, которые находятся в столбце B, но не в столбце A.

Какой самый быстрый способ сделать это?

Пересекать
источник

Ответы:

91
  1. Выберите список в столбце A
  2. Щелкните правой кнопкой мыши и выберите Name a Range ...
  3. Введите "ColumnToSearch"
  4. Нажмите ячейку C1
  5. Введите эту формулу: =MATCH(B1,ColumnToSearch,0)
  6. Перетащите формулу вниз для всех элементов в B

Если формуле не удается найти соответствие, она будет помечена # N / A, в противном случае это будет число.

Если вы хотите, чтобы оно было ИСТИНА для совпадения и ЛОЖЬ для отсутствия совпадения, используйте следующую формулу:

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

Если вы хотите вернуть необнаруженное значение и вернуть пустую строку для найденных значений

=IF(ISNUMBER(MATCH(B1,ColumnToSearch,0)),"",B1)
devuxer
источник
6
Затем ... Поместите эту формулу в условное форматирование в обоих списках и используйте ее, чтобы выделить (или что-то еще) несовпадающие ячейки
Kije
4
«Назови диапазон» не появляется для меня? Протестировано в Excel 2010 и 2016.
KERR
Если, как и @KERR и я, у вас нет «Назови диапазон ...», просто используйте A:Aили используйте вместо ColumnToSearchформул в формулах.
Майкл,
Если, как и я, вы сначала не понимаете, где вводить «ColumnToSearch» (шаг 3), введите его в качестве имени именованного диапазона, который вы создаете.
DaveL17
«Назовите диапазон» выглядит как Define Name...(Excel 2019)
Оливер-Клэр
29

Вот быстрый и грязный метод.

Выделите столбец B и откройте условное форматирование .

Выбор Используйте формулу, чтобы определить, какие ячейки выделить .

Введите следующую формулу, а затем установите предпочитаемый формат.

=countif(A:A,B1)=0
Ellesa
источник
Я использовал «= ISODD (COUNTIF (A: A, B1) = 0)», чтобы напечатать true для «1» или false для «0»
Рамрай
15

Выберите два столбца. Перейдите к условному форматированию и выберите «Выделить правила ячеек». Выберите Дублировать значения. Когда вы переходите к следующему шагу, вы можете изменить его на уникальные значения. Я просто сделал это, и это сработало для меня.

дата рождения
источник
если у вас есть значение в столбце B, повторное, это не будет выделять их
magodiez
1
Наверняка это самый простой и актуальный ответ? Никаких формул не требуется.
KERR
Ничего не происходит при этом.
Сверхразум
12

Взял меня навсегда, чтобы понять это, но это очень просто. Предполагая, что данные начинаются с A2 и B2 (для заголовков), введите эту формулу в C2:

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

Затем нажмите и перетащите вниз.

Ячейка с #N/Aозначает, что значение непосредственно рядом с ней в столбце B не отображается нигде во всем столбце A.

Обратите внимание, что вам необходимо изменить $ 287 $, чтобы он соответствовал всему вашему поисковому массиву в столбце A. Например, если ваши данные в столбце A уменьшаются на 1000 записей, это должно быть $ A $ 1000.

Брентон
источник
3
=MATCH(B2,$A:$A,0)работал на меня.
Нильгун
4

Смотрите мой ответ по формуле массива на листинг А, не найденный в Б здесь:

= ЕСЛИОШИБКА (ИНДЕКС ($ A $ 2: $ A $ 1999, MATCH (0, ЕСЛИОШИБКА (ПОИСКПОЗ ($ A $ 2: $ A $ 1999, $ B $ 2: $ B $ 399,0), СЧЕТЕСЛИ ($ C $ 1: $ С1, $ A $ 2: $ A $ 1999)), 0)), "")

Сравнение двух столбцов имен и возвращение пропущенных имен

Jeeped
источник
Это хорошее решение, но оно зависит от сортировки исходных столбцов в алфавитном порядке, или же оно извлекает дубликаты.
Стив Тейлор
3

Моими требованиями было не выделять, а показывать все значения, кроме дубликатов в двух столбцах. Я воспользовался решением @ brenton и улучшил его, чтобы показать значения, чтобы я мог использовать данные напрямую:

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

Скопируйте его в первую ячейку 3-го столбца и примените формулу по всему столбцу, чтобы в нем были перечислены все элементы из столбца B, которые не перечислены в столбце A.

Гаутам Джайн
источник
В приведенной выше формуле есть ошибка = IF (ISNA (MATCH (B2, $ A $ 2: $ A $ 2642,0)), A2, "") должно быть = IF (ISNA (MATCH (B2, $ A $ 2: $) A $ 2642,0)), B2, "")
1

Спасибо тем, кто поделился своими ответами. Благодаря вашим решениям я смог сделать свой собственный путь.

В моей версии этого вопроса у меня было две колонки для сравнения - полный выпускной класс (Col A) и подмножество этого выпускного класса (Col B). Я хотел быть в состоянии выделить в полном выпускном классе тех студентов, которые были членами подмножества.

Я поместил следующую формулу в третий столбец:

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

Это закодировало большинство моих учеников, хотя и дало некоторые ошибки в первых нескольких строках данных.

Дрю Макаллистер
источник
-3

в C1записи =if(A1=B1 , 0, 1). Затем в Conditional formatting, выберите Data barsили Color scales. Это самый простой способ.

А.Рамин Валяр
источник