2011-01-10 5 views
1

В excel у меня есть два списка A и B имен. Я хочу получить список C, который содержит необычные элементы в A и B.Как получить необычные элементы в двух списках в Excel?

Как я могу это сделать?

+1

http://superuser.com/questions/81498/excel-find-items-in-one-column-that-are-not-in-another-column – zod

+1

Вы можете много сделать с помощью ADO: http://stackoverflow.com/questions/4379213/excel-macro-match-and-lineup-rows/4381166#4381166 – Fionnuala

ответ

2

Я понял это, переворачивая решение для нахождения общих значений, указанных на этой странице: How to find common values from two lists

Он работает в качестве функции массива, так что вы должны нажать Ctrl + Shift + Enter после ввода. Преимущество этого в функции массива состоит в том, что он не оставляет кучу пространств для редактирования. Все соответствующие значения находятся вверху.

У меня есть список из 40 ссылочных значений в столбце A, я ввожу список из 7 неизвестных значений для сравнения в столбце B, и я хочу получить список в столбце C, показывающий значения в столбце B, которые НЕ Колонка А.

=INDEX($B$2:$B$7, SMALL(IF(COUNTIF($A$2:$A$40,$B$2:$B$7),"",ROW($B$2:$B$7)-MIN(ROW($B$2:$B$7))+1),ROW(B1))) 

Оператор СЧЕТЕСЛИ формирует массив 1 и 0, в зависимости от того, является ли значение в колонке B в колонке а (1, если да, 0, если нет). Поскольку я ищу необычные значения, у меня есть оператор IF, возвращающий массив значений строк, соответствующих значениям в B, которые не находятся в A. Строка ~ Row-Min (Row) +1 гарантирует, что вы используете значение правой строки. SMALL возвращает ROW (B1) -маленький (как 1-й наименьший, или 4-й наименьший) из массива, возвращаемого оператором IF. Итак, теперь у меня есть одно значение вместо массива. INDEX возвращает значение строки в столбце B. Не забудьте нажать ctrl + shift + enter.

Смежные вопросы