Сравнение двух столбцов в Excel с исключением

#excel #excel-2007 #worksheet-function

#excel #excel-2007 #рабочий лист-функция

Вопрос:

Я хочу сравнить значения в двух столбцах в Excel, как показано на рисунке ниже :- введите описание изображения здесь

Используя формулу, я хочу поместить значения в «Значения A, которых нет в B» и «Значения B, которых нет в A». Приветствуется любая помощь.

Здесь я предоставил общий доступ к одному и тому же листу Excel.

Ответ №1:

Сработает следующее — для каждого добавьте формулу в строку 2, а затем перетащите вниз

Значения A, которые не существуют в B

 =IF(ISERROR(MATCH($A$2:$A$20,$B$2:$B$17,0)),A2,"")
  

Результат = x, y, z, i, j, k, l, u

ПРИМЕЧАНИЕ: Ваш пример электронной таблицы неверен, поскольку u находится в столбце A, но не в столбце B, но вы не указываете его в своем наборе результатов в столбце C

Значения B, которые не существуют в

 =IF(ISERROR(MATCH($B$2:$B$17,$A$2:$A$20,0)),B2,"")
  

Результат = q, r, e, f, g

Комментарии:

1. Что означает $? Когда вы пишете the в первой ячейке, $ не получает префикс с ним. Мне пришлось ввести это вручную.

2. $ делает диапазоны абсолютными (т. е. A2: A20 и B2: B17). Это означает, что при перетаскивании формулы вниз ссылки остаются A2: A20 и B2: B17. Если бы вы этого не сделали, диапазоны увеличились бы, т.е. A2: A20, A3: A21, A4: A22. Попробуйте использовать формулу без знаков $, и вы поймете, что я имею в виду…

3. Можете ли вы объяснить, почему для параметра value в функции match требуется абсолютный диапазон? Это работает для меня:-=IF(ISERROR (MATCH(A2, $ B $2: $ B $ 17,0)), A2,»»)

4. Я знаю, что это немного устарело, но ваша функция помогла, но в Excel 2016 я выполнил прямое сравнение ячеек со столбцами без $ и перетащил формулу вниз для остальных. В противном случае это дало мне некоторые ложные несоответствия = IF (ISERROR (MATCH(A1, B: B, 0)), A1,»»)

Ответ №2:

Вы также можете сделать это с помощью предварительного фильтра, предполагая, что данные в столбцах A и B в ячейке C2 write =SUMPRODUCT(—($ B $ 2: $ B $ 17 = A2)) = 0 Выберите данные A1: A12 Щелкните расширенный фильтр, выберите копировать в другое местоположение Диапазон списка = $ A $ 1: $ A $ 22 Диапазон критериев = $ C $ 1: $ C $ 2 (Обратите внимание, что C1 должен быть пустым) В поле Копировать в диапазон выберите E1, скажите OK, это даст вам значения A, которых нет в B

В ячейке D2 Напишите =SUMPRODUCT(—($A$2:$A $22=B2))=0

Выберите данные B1: B17 Щелкните расширенный фильтр, выберите копировать в другое местоположение Диапазон списка = $ A $ 1: $ A $ 22 Диапазон критериев = $ D $ 1: $ D $ 2 (Обратите внимание, что D1 должен быть пустым) В поле Копировать в диапазон выберите F1, скажите OK, это выдаст вам значения B, которых не существует в

Вы можете автоматизировать это с помощью одной строки кода

Sub Get_Data1()

[Список 1].Расширенный фильтр 2, [Crt1], [Dest1], True

End Sub

Sub Get_Data2()

[Список 2].Расширенный фильтр 2, [Crt2], [Dest2], True

End Sub