Как сравнить две колонки и найти отличия в Excel?


45

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

Предположим, что:

  • Col A имеет 50 номеров, то есть 0511234567
  • Col B имеет 100 номеров в том же формате

Я думаю, что это можно сделать с помощью встроенных в Excel функций и формул. Кажется мне не по теме.
Matt Handy

не могли бы вы уточнить, как это сделать?

Итак, вы хотите знать, какие цифры только в столбце А, а какие только в столбце Б?
Tom Shaw

Увидеть этот ТАК вопрос за ваш ответ.
Patrick Honorez

Нет, сначала я хочу знать все те числа, которые не в столбце A, но в столбце B, а затем я хочу знать все те числа, которые есть в столбце A, но не в столбце B.

Ответы:


55

Использование условного форматирования

Выделить столбец , Нажмите Условное форматирование & GT; Создать новое правило & GT; Используйте эту формулу, чтобы определить, какие ячейки форматировать & GT; Введите FF. формула:

=countif($B:$B, $A1)

Нажмите на Формат Нажмите кнопку и измените цвет шрифта на то, что вам нравится.

Повторите то же самое для столбца В , кроме как использовать эту формулу и попробуйте другой цвет шрифта.

=countif($A:$A, $B1)

Использование отдельной колонки

В колонке С введите FF. формула в первую ячейку, а затем скопируйте его вниз.

=if(countif($B:$B, $A1)<>0, "-", "Not in B")

В колонке D введите FF. формула в первую ячейку, а затем скопируйте его вниз.

=if(countif($A:$A, $B1)<>0, "-", "Not in A")

Оба из них должны помочь вам визуализировать, какие элементы отсутствуют в другом столбце.


На каких версиях Excel это тестировалось?
Peter Mortensen

1
Где находится «Условное форматирование»? В меню? В контекстном меню?
Peter Mortensen

В более старой версии OpenOffice, соответствующей ленточному Excel (это клон Excel в конце концов), есть команда меню Формат - & GT; Условное форматирование ,
Peter Mortensen

1
Это про Excel, но в OpenOffice / LibreOffice с помощью $B:$B ссылаться на весь столбец B не работает. Вместо этого используйте $B$1:$B$1048576 (где 1048576 - строка с наибольшим номером). Заметка $ перед номерами (так называемые абсолютные ссылки ) - это заставляет его работать как ожидается для таких операций, как Заполнить вниз (именуемый здесь «копировать вниз») или Заполнить ,
Peter Mortensen

14

Microsoft имеет статья подробно, как найти дубликаты в двух столбцах. Его можно изменить достаточно легко, чтобы найти уникальные элементы в каждом столбце.

Например, если вы хотите, чтобы Col C отображал записи, уникальные для Col A, и Col D для показа записей, уникальные для Col B:

A   B   C                                          D
1   3   =IF(ISERROR(MATCH(A1,$B$1:$B$5,0)),A1,"")  =IF(ISERROR(MATCH(B1,$A$1:$A$5,0)),B1,"")
2   5   (fill down)                                (fill down)
3   8   ..                                         ..
4   2   ..                                         ..
5   0   ..                                         ..


4

Скажи, что ты хочешь найти их в пол. B без совпадения в пол. А. Положите в C2:

=COUNTIF($A$2:$A$26;B2)

Это даст вам 1 (или больше), если есть совпадение, 0 в противном случае.

Вы также можете отсортировать оба столбца по отдельности, затем выберите оба, Перейти к специальным, выберите Различия строк. Но это перестанет работать после первого нового элемента, и вам придется вставить ячейку, а затем начать снова.


4

Если я хорошо понимаю ваш вопрос:

=if(Ax = Bx; True_directive ; False_directive)

Замените истинные / ложные директивы функцией или строкой, такой как «Равный» или «другой».


@pasta это не будет работать, если два столбца не отсортированы одинаково - я думаю, что вопрос не в этом.
SIslam

3

Это зависит от формата ваших ячеек и ваших функциональных требований. С начальным «0» они могут быть отформатированы как текст.

Тогда вы можете использовать функцию IF для сравнения ячеек в Excel:

=IF ( logical_test, value_if_true, value_if_false )

Пример:

=IF ( A1<>A2, "not equal", "equal" )

Если они отформатированы как числа, вы можете вычесть первый столбец из другого, чтобы получить разницу:

=A1-A2

2

Эта формула будет напрямую сравнивать две ячейки. Если они одинаковы, он напечатает True, если существует одно различие, оно напечатает False, Эта формула не напечатает, в чем различия.

=IF(A1=B1,"True","False")

1

я использую Excel 2010 и просто выделите два столбца, которые имеют два набора значений, которые я сравниваю, а затем щелкните раскрывающееся меню «Условное форматирование» на домашней странице Excel, выберите правила «Выделить ячейки», а затем различия. Затем он предлагает выделить различия или сходства и спрашивает, какой цвет подсветки вы хотите использовать ...


0

Сравнение можно выполнить с помощью кода Excel VBA. Процесс сравнения может быть выполнен с помощью Excel VBA Worksheet.Countif функция.

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

Код:

Dim stk, msb As Worksheet
Set stk = Sheets("Page1")
Set msb = Sheets("Page2")

Application.ScreenUpdating = False
sat = (msb.Range("A" & Rows.Count).End(xlUp).Row) + 1
For i = 2 To stk.Range("A" & Rows.Count).End(xlUp).Row
    If WorksheetFunction.CountIf(msb.Range("A2:A" & msb.Range("A" & Rows.Count).End(xlUp).Row), stk.Cells(i, "A")) = 0 Then
        msb.Range("a" & sat).EntireRow.Value = stk.Range("a" & i).EntireRow.Value
        msb.Range("a" & sat).Interior.ColorIndex = 22
        sat = sat + 1
    End If
Next
...

Видео урок: https://www.youtube.com/watch?v=Vt4_hEPsKt8

Пример файла можно скачать здесь


1
Если вы собираетесь сделать ссылку на свой блог и свой канал YouTube, вы должны сообщить о своей принадлежности. Если нет, вас могут обвинить в рассылке спама.
DavidPostill

0

Это использует другой инструмент, но я только что нашел это очень легко сделать. Используя Notepad ++:

В Excel убедитесь, что ваши 2 столбца отсортированы в том же порядке, затем скопируйте и вставьте столбцы в 2 новых текстовых файла, а затем выполните сравнение (из меню плагинов).


0

НЕ СООТВЕТСТВУЕТ Комбинация функций работает хорошо. Следующие работы тоже:

знак равно ЕСЛИ ( ISERROR ( ВПР (& Л; & л; пункт в большом списке & GT; & GT;, & л; & л; меньший список & GT; & GT ;, 1 , ЛОЖНЫЙ )), & Л; & л; пункт в большом списке & GT; & GT ;, "")

ПОМНИТЕ: меньший список ДОЛЖЕН быть отсортирован по возрастанию - требование vlookup

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.