На прочтение этой статьи у вас уйдет около 10 минут, а в следующие 5 минут (или даже быстрее) вы легко сравните два столбца Excel на наличие дубликатов и выделите найденные совпадения, различия либо уникальные значения. Итак, обратный отсчет начался!
Мы все время от времени делаем сравнение данных в Excel. Microsoft Excel предлагает ряд опций для сопоставления данных, но большинство из них ориентированы на поиск в одной колонке. Встроенный инструмент удаления дубликатов, доступный в Excel 2019-2010, не может справиться с этой задачей, поскольку он не умеет сравнивать данные между двумя столбиками. Кроме того, он может только удалять дубликаты. Других возможностей — таких как выделение или раскраска, увы, нет :-(.
В этом руководстве мы рассмотрим несколько методов сравнения двух столбцов в Excel и нахождения в них одинаковых и различных значений.
- Сравнение в двух столбцах построчно
- Сравните несколько столбцов построчно
- Сравниваем значения столбцов целиком
- Сравниваем списки в Excel и получаем совпадающие данные
- Как выделить совпадения и несовпадения в 2 столбцах.
- Выделите цветом одинаковые и различные значения в нескольких столбцах
- Как сопоставить два значения в отдельных столбцах.
- Быстрый способ сравнения двух столбцов или списков без формул.
Сравнение в двух столбцах построчно
Когда вы выполняете анализ данных в Excel, одной из наиболее частых задач является сравнение данных нескольких колонок в каждой отдельной их строке. Эту задачу можно выполнить с помощью функции ЕСЛИ , как показано в следующих примерах.
1. Проверяем совпадения или различия в одной строке.
Чтобы выполнить такое построчное сравнение, используйте популярную функцию ЕСЛИ, которая сравнивает первые две ячейки каждого из них. Введите её в какой-либо другой столбик той же строки, а затем скопируйте ее вниз, перетащив маркер заполнения (маленький квадрат в правом нижнем углу). При этом курсор изменится на знак плюса:
Чтобы найти в соответствующей строке позиции с одинаковым содержимым, A2 и B2 в этом примере, запишите:
=ЕСЛИ(A2=B2; "Совпадает"; "")
Чтобы найти позиции в одной строке с разным содержимым, просто замените "=" знаком неравенства:
=ЕСЛИ(A2<>B2; "НЕ совпадает";””)
И, конечно же, ничто не мешает сопоставить между собой значения с помощью одной формулы:
=ЕСЛИ(A2=B2; "Совпадает"; "НЕ совпадает")
Результат может выглядеть примерно так:
Как видите, одинаково хорошо обрабатываются числа, даты, время и текст.
2. Сравниваем построчно с учетом регистра.
Как вы, наверное, заметили, формулы из предыдущего примера игнорируют регистр при сравнении текстовых значений, как в строке 10 на скриншоте выше. Если вы хотите сопоставить значения с учетом регистра, используйте функцию СОВПАД (EXACT в английской версии):
=ЕСЛИ(СОВПАД(A2; B2); "Одинаковый"; "")
Чтобы найти различия с учетом регистра в одной строке, введите соответствующий текст («Уникальный» например) в третий аргумент функции ЕСЛИ:
=ЕСЛИ(СОВПАД(A2; B2); "Одинаковый"; "Уникальный")
Сравните несколько столбцов построчно
Мы можем ставить перед собой следующие цели:
- Найти строки с одинаковыми значениями во всех из них.
- Найти строки с одинаковыми значениями в любых двух.
Пример 1. Ищем полное совпадение в каждой строке
Если в вашей таблице три или более колонки, и вы хотите найти строки с одинаковыми записями во всех из них, функция ЕСЛИ с оператором И подойдет для вас:
=ЕСЛИ(И(A2=B2; A2=C2); "Полное совпадение"; "")
Если в вашей таблице очень много колонок, более элегантным решением будет использование функции СЧЁТЕСЛИ :
=ЕСЛИ(СЧЁТЕСЛИ($A2:$C2; $A2)=3; "Полное совпадение"; "")
где 3 - количество сравниваемых колонок.
Или можно использовать —
=ЕСЛИ(СЧЁТЕСЛИ($A2:$C2; $A2)=СЧЁТЗ(A2:C2); "Полное совпадение"; "")
Пример 2. Найдите хотя бы 2 совпадения в нескольких столбцах
Если вы ищете способ сравнить данные на предмет наличия любых двух или более ячеек с одинаковыми значениями в одной строке, используйте функцию ЕСЛИ с несколькими условиями и оператором ИЛИ:
=ЕСЛИ(ИЛИ(A2=B2; B2=C2; A2=C2); "Найдены одинаковые"; "")
Если имеется много данных, ваша конструкция с оператором ИЛИ может стать слишком громоздкой. В этом случае лучшим решением было бы добавить несколько функций СЧЁТЕСЛИ. Первый СЧЁТЕСЛИ подсчитывает, сколько раз текущее значение из первой колонки встречается во всех данных, находящихся правее него, второй СЧЁТЕСЛИ определяет то же самое для значения из второй колонки, и так далее. Если счетчик равен 0, возвращается надпись «Все уникальные», в противном случае - «Найдены одинаковые». Например:
=ЕСЛИ(СЧЁТЕСЛИ(B2:D2;A2)+СЧЁТЕСЛИ(C2:D2;B2)+(C2=D2)=0;"Все уникальные";"Найдены одинаковые")
Могу предложить также более компактный вариант выявления совпадений — формула массива:
{=ЕСЛИ(СУММ(СЧЁТЕСЛИ(A2:D2;A2:D2))>4;"Совпадения";"")}
или
{=ЕСЛИ(СУММ(СЧЁТЕСЛИ(A2:D2;A2:D2))>СЧЁТЗ(A2:D2);"Совпадения";"")}
Попробуйте — получите тот же результат. Также не забудьте нажать Ctrl + Shift + Enter, чтобы ввести всё правильно.
Сравниваем значения столбцов целиком
Предположим, у вас есть 2 списка данных в Excel, и вы хотите найти все значения (числа, даты или текстовые записи), которые находятся в колонке A, но их нет в B. То есть, исходные данные из А мы сравниваем с В.
Для этого вы можете встроить функцию СЧЁТЕСЛИ($B:$B;$A2)=0 в логический тест ЕСЛИ и проверить, возвращает ли она ноль (совпадение не найдено) или любое другое число (найдено хотя бы 1 совпадение).
Например, следующая формула ЕСЛИ/СЧЁТЕСЛИ выполняет поиск значения из A2 по всему столбцу B. Если совпадений не найдено, возвращается «Нет совпадений в B», в противном случае - пустую строку:
=ЕСЛИ(СЧЁТЕСЛИ($B:$B; $A2)=0; "Нет совпадений в В"; "")
Примечание. Если ваша таблица имеет фиксированное количество строк, вы можете указать определенный диапазон (например, $B2:$B20), а не целиком $B:$B, чтобы программа работала быстрее с большими наборами данных.
Тот же результат может быть достигнут при использовании функции ЕСЛИ всесте с ЕОШИБКА и ПОИСКПОЗ:
=ЕСЛИ(ЕОШИБКА(ПОИСКПОЗ($A2;$B$2:$B$10;0));"Уникальное"; " Найдено в B")
Или, используя следующую формулу массива (не забудьте нажать Ctrl + Shift + Enter, чтобы ввести ее правильно):
=ЕСЛИ(СУММ(--($B$2:$B$10=$A2))=0; "";" Найдено в B")
Если вы хотите, чтобы одно выражение определяло как дубликаты, так и уникальные значения, поместите текст совпадений в пустые двойные кавычки («») в любой из приведенных выше формул. Например:
=ЕСЛИ(СЧЁТЕСЛИ($B:$B; $A2)=0; "Уникальное"; "Дубликат")
Думаю, вы понимаете, что точно таким же образом можно наоборот сравнивать В с А.
Сравниваем списки в Excel и получаем совпадающие данные
Иногда вам может потребоваться не только сопоставить две колонки в двух разных таблицах, но и извлечь соответствующие записи из второй таблицы. В Microsoft Excel предусмотрена специальная функция для этих целей - функция ВПР.
Кроме того, в отдельной статье мы подробно рассмотрели 4 способа сравнить таблицы при помощи формулы ВПР.
В качестве альтернативы вы можете использовать более мощную и универсальную комбинацию ИНДЕКС и ПОИСКПОЗ.
Например, следующее выражение сравнивает названия продуктов в колонках D и A, и если совпадение найдено, соответствующая цифра продаж извлекается из B. Если совпадения не найдено, возвращается ошибка #Н/Д.
=ИНДЕКС($B$2:$B$6;ПОИСКПОЗ($D2;$A$2:$A$6;0))
Сообщение об ошибке в таблице выглядит не слишком красиво. Поэтому обработаем это выражение при помощи ЕОШИБКА:
=ЕСЛИОШИБКА(ИНДЕКС($B$2:$B$6;ПОИСКПОЗ($D2;$A$2:$A$6;0));"")
Теперь мы видим либо число, либо пустое значение. Никаких ошибок.
Как выделить совпадения и несовпадения в 2 столбцах.
Когда вы сравниваете наборы данных в Excel, вы можете захотеть «визуализировать» элементы, которые присутствуют в одном, но отсутствуют в другом. Вы можете закрасить такие позиции любым цветом по вашему выбору с помощью формул. И вот несколько примеров с подробными инструкциями.
1. Выделяем построчно
Чтобы сравнить два столбца в Excel и выделить те позиции в первом, которые имеют идентичные записи во втором по той же строке, выполните следующие действия:
- Выберите область, в которой вы хотите выделить.
- Щелкните Условное форматирование> Новое правило…> Используйте формулу.
- Создайте правило с простой формулой, например =$B2=$A2 (при условии, что строка 2 является первой строкой с данными, не включая заголовок таблицы). Пожалуйста, дважды проверьте, что вы используете относительную ссылку на строку (без знака $), как записано выше.
Чтобы выделить различия между колонками A и B, создайте правило с формулой =$B2<>$A2
Если вы новичок в условном форматировании Excel, смотрите пошаговые инструкции в статье Как закрасить строку или столбец по условию.
2. Выделите уникальные записи в каждом столбце
Когда вы сравниваете два списка в Excel, вы можете выделить 3 типа элементов:
- Предметы только в первом списке (уникальные)
- Предметы только во втором списке (уникальные)
- Элементы, которые есть в обоих списках (дубликаты).
О выделении дубликатов — смотрите пример выше. А сейчас рассмотрим, как выделить неповторяющиеся элементы в каждом из списков.
Предположим, что ваш список 1 находится в колонке A (A2:A8), а список 2 - в колонке C (C2:C8). Вы создаете правила условного форматирования с помощью следующих формул:
Выделите уникальные значения в списке 1 (столбик A): =СЧЁТЕСЛИ($A$2:$A$8;C$2)=0
Выделите уникальные значения в списке 2 (столбик C): =СЧЁТЕСЛИ($C$2:$C$8;$A2)=0
И получите следующий результат:
3. Выделите дубликаты в 2 столбцах.
Если вы внимательно следовали предыдущему примеру, у вас не возникнет трудностей с настройкой СЧЁТЕСЛИ, чтобы она находила совпадения, а не различия. Все, что вам нужно сделать, это установить счетчик больше нуля:
Вновь используем условное форматирование при помощи формулы.
Выделите совпадения в списке 1 (столбик A): =СЧЁТЕСЛИ($A$2:$A$8;C$2)>0
Выделите совпадения в списке 2 (столбик C): =СЧЁТЕСЛИ($C$2:$C$8;$A2)>0
Выделите цветом одинаковые и различные значения в нескольких столбцах
При сравнении значений в нескольких наборах данных построчно, самый быстрый способ выделить одинаковые — создать правило условного форматирования. А самый быстрый способ скрыть различия — воспользоваться инструментом «Выделить группу ячеек», как показано в следующих примерах.
1. Как выделить дубликаты
Чтобы выделить строки, которые имеют одинаковые значения по всей длине, создайте правило форматирования на основе одного из следующих выражений:
=И($A2=$B2; $A2=$C2)
или
=СЧЁТЕСЛИ($A2:$C2; $A2)=3
Где A2, B2 и C2 - самые верхние в вашем диапазоне, а 3 - количество колонок для сопоставления между собой.
Конечно, можно не ограничиваться сравнением только 3 колонок. Вы можете использовать аналогичные формулы для выделения строк с одинаковыми значениями в 4, 5, 6 или более столбиках.
И еще один способ выделения цветом повторяющихся значений в нескольких столбцах. Снова используем условное форматирование. Выделяем нужную область, затем на ленте в меню условного форматирования выбираем Правила выделения ячеек — Повторяющиеся значения. Определяем желаемое оформление, получаем картину подобную той, что вы видите ниже.
Кстати, на последнем этапе вы можете выбрать не повторяющиеся, а уникальные значения. Способ, конечно, незамысловатый, но, возможно, он вам будет полезен.
2. Как выделить различия.
Чтобы быстро выделить позиции с разными значениями в каждой отдельной строке, вы можете использовать функцию Excel «Выделить группу ячеек».
- Выберите диапазон ячеек, который вы хотите сравнить. В этом примере я выбрал диапазон от A2 до C10.
По умолчанию самая верхняя координата выбранного диапазона является активной ячейкой, и все значения в той же строке будут сравниваться с нею. Она при выделении области имеет белый цвет, а все остальные ячейки выбранного диапазона выделены серым. В этом примере активной является A2, поэтому столбец сравнения - A.
Чтобы изменить столбец сравнения, используйте клавишу TAB для перемещения по диапазону слева направо или клавишу Enter для перемещения сверху вниз. Если нужно перемещаться снизу вверх, то нажмите и удерживайте SHIFT, и вновь используйте ТАВ — будете двигаться не вниз, а вверх. Вы увидите, как ваше белое пятно перемещается, и соответственно изменяется активный столбец.
Примечание. Чтобы выбрать несмежные столбцы, выберите первый диапазон, нажмите и удерживайте CTRL, а затем выбирайте дальше. Активная ячейка будет находиться в последнем столбце (или в последнем блоке соседних столбцов). Чтобы изменить столбец сравнения, используйте клавишу TAB или Enter, как описано выше.
- На вкладке «Главная» нажмите «Найти и выделить» > « Выделить группу ячеек». Затем выберите «Отличия по строкам» и нажмите «ОК» .
- Позиции, значения которых отличаются от ячеек сравнения в каждой строке, выделяются. Если вы хотите закрасить выделенные ячейки каким-либо цветом, просто щелкните значок «Цвет заливки» на ленте и выберите нужный цвет.
Как сопоставить два значения в отдельных столбцах.
Фактически, сравнение двух ячеек — частный случай сравнения двух колонок в Excel построчно, за исключением того, что вам не нужно копировать формулы.
Например, чтобы сравнить ячейки A1 и C1, можно использовать:
Для совпадений: =ЕСЛИ(A1=C1; "Совпадает"; "")
Для различий: =ЕСЛИ(A1<>C1; "Уникальные"; "")
Чтобы узнать о некоторых других способах сравнения ячеек в Excel, см. Как сравнивать значения в ячейках Excel .
Для более эффективного анализа данных вам могут потребоваться более сложные формулы, и вы можете найти несколько хороших идей в следующих руководствах:
Быстрый способ сравнения двух столбцов или списков без формул.
Теперь, когда вы знаете, что предлагает Excel для сравнения и сопоставления столбцов, позвольте мне продемонстрировать вам альтернативное решение, которое может сравнить 2 списка с разным количеством столбцов на предмет дубликатов (совпадений) и уникальных значений (различий).
Надстройка Ultimate Suite умеет искать идентичные и уникальные записи в одной таблице, а также сравнивать две таблицы, находящиеся на одном листе или в двух разных листах или даже в разных книгах.
В рамках этой статьи мы сосредоточимся на функции под названием «Сравнить таблицы (Compare Tables)» , которая специально разработана для сравнения двух списков по любым указанным вами столбцам. Сравнение двух наборов данных по нескольким столбцам является реальной проблемой как для формул Excel, так и для форматирования по условию, но этот инструмент легко справляется с этим.
Для начала рассмотрим самый простой случай – сравним два отдельных столбца.
Предположим, у нас имеется два списка товаров. Нужно сравнить их между собой, как ранее мы делали при помощи формул.
Запускаем инструмент сравнения таблиц и выбираем первый столбец. При необходимости активируем создание резервной копии листа.
На втором шаге выбираем второй столбец для сравнения.
На третьем шаге нужно указать, что именно мы ищем – дубликаты либо уникальные значения.
Далее указываем столбцы для сравнения. Поскольку столбцов всего два, то здесь все достаточно просто:
На пятом шаге выберите, что нужно сделать с найденными значениями – удалить, выбрать, закрасить цветом, скопировать либо переместить. Можно добавить столбец статуса подобно тому, как мы это делали ранее при помощи функции ЕСЛИ. С использованием формул вы кроме того сможете разве что закрасить ячейки. Здесь же диапазон возможностей гораздо шире. Но мы выберем простой и наглядный вариант – заливку ячеек цветом.
Ячейки списка 1, дубликаты которых имеются в списке 2, будут закрашены цветом.
А теперь повторим все описанные выше шаги, только будем сравнивать список 2 с первым. И вот что мы в итоге получим:
Не закрашенные цветом ячейки содержат уникальные значения. Красиво и наглядно.
А теперь давайте попробуем сравнить сразу несколько столбцов. Допустим, у нас есть два экземпляра отчёта о продажах. Они расположены на разных листах нашей книги Excel. Список товаров совершенно одинаков, а вот сами цифры продаж отличаются кое-где.
Действуя совершенно аналогичным образом, как это было описано выше, выбираем эти две таблицы для сравнения. На третьем шаге выбираем поиск уникальных значений, чтобы можно было выбрать и выделить именно несовпадения в данных.
Устанавливаем соответствие столбцов, как это показано на рисунке ниже.
Для наглядности вновь выбираем заливку цветом для несовпадающих значений.
И вот результат. Несовпадающие строки закрашены цветом.
Если вы хотите попробовать этот инструмент, вы можете загрузить его как часть надстройки Ultimate Suite for Excel.
Вот какими способами вы можете сравнить столбцы в Excel на наличие дубликатов и уникальных значений.
Если у вас есть вопросы или что-то осталось неясным, напишите мне комментарий, и я с радостью уточню это подробнее. Спасибо за чтение!
Спасибо!
Круто! Спасибо спас!
Здравствуйте,
извините, как найти последнее повторяющееся значение в строке,
например:
A B C D
2 4 3 2
я хочу найти число «2» из столбца «D»
Попробуйте эту формулу. Она выведет значение первого дубликата в строке:
=ЕСЛИОШИБКА(ИНДЕКС((ЕСЛИ(СЧЁТЕСЛИ(A1:F1,A1:F1)>1,A1:F1,"")),,ПОИСКПОЗ(ИСТИНА,(ЕСЛИ(СЧЁТЕСЛИ(A1:F1,A1:F1)>1,A1:F1,""))<>"",0)),"")