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

336694
C. Ross

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

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

78

8 ответов на вопрос

80
devuxer
  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) 
Затем ... Поместите эту формулу в условное форматирование в обоих списках и используйте ее, чтобы выделить (или что-то еще) несовпадающие ячейки Kije 14 лет назад 6
«Назови диапазон» не появляется для меня? Проверено на Excel 2010 и 2016. KERR 6 лет назад 2
Если, подобно @KERR и I, у вас нет «Имя диапазона ...», просто используйте `A: A` или ваш диапазон вместо` ColumnToSearch` в формулах. Michael 6 лет назад 0
24
Ellesa

Here's a quick-and-dirty method.

Highlight Column B and open Conditional Formatting.

Pick Use a formula to determine which cells to highlight.

Enter the following formula then set your preferred format.

=countif(A:A,B1)=0 
Я использовал «= ISODD (COUNTIF (A: A, B1) = 0)», чтобы напечатать true для «1» или false для «0» Ramraj 7 лет назад 0
10
brenton

Took me forever to figure this out but it's very simple. Assuming data begins in A2 and B2 (for headers) enter this formula in C2:

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

Then click and drag down.

A cell with #N/A means that the value directly next to it in column B does not show up anywhere in the entire column A.

Please note that you need to change $A$287 to match your entire search array in Column A. For instance if your data in column A goes down for 1000 entries it should be $A$1000.

`= MATCH (B2, $ A: $ A, 0)` работал для меня. nilgun 7 лет назад 2
10
DOB

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

если у вас есть значение в столбце B, оно не будет выделено magodiez 8 лет назад 0
Наверняка это самый простой и актуальный ответ? Никаких формул не требуется. KERR 6 лет назад 0
4
Jeeped

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

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

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

Это хорошее решение, но оно зависит от сортировки исходных столбцов в алфавитном порядке, а также для получения дубликатов. Steve Taylor 7 лет назад 0
3
Gautam Jain

Мои требования состояли не в том, чтобы выделить, а в том, чтобы показать все значения, кроме дубликатов в двух столбцах. Я воспользовался решением @ 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 "") 9 лет назад 0
1
Drew McAllister

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

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

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

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

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

-3
A.Ramin walyar

in C1 write =if(A1=B1, 0, 1). Then in Conditional formatting, select Data bars or Color scales. It's the easiest way.

Похожие вопросы