Сравнение данных в двух столбцах для поиска дубликатов в Excel
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Office для бизнеса Excel 2010 Excel 2007 Еще. Меньше
Для сравнения данных в двух столбцах листа Microsoft Excel и поиска повторяющихся записей можно использовать следующие методы.
Способ 1. Использование формулы рабочего листа
- Запустите Excel.
- В качестве примера введите в новом листе введите следующие данные (оставьте столбец B пустым):
| A | B | C |
|---|---|---|
| 1 | 1 | 3 |
| 2 | 2 | 5 |
| 3 | 3 | 8 |
| 4 | 4 | 2 |
| 5 | 5 | 0 |
Повторяющиеся числа отображаются в столбце B, как в следующем примере:
| A | B | C | |
|---|---|---|---|
| 1 | 1 | 3 | |
| 2 | 2 | 2 | 5 |
| 3 | 3 | 3 | 8 |
| 4 | 4 | 2 | |
| 5 | 5 | 5 | 0 |
Способ 2. Использование макроса Visual Basic
Предупреждение: Корпорация Майкрософт предоставляет примеры программирования только для иллюстрации, без явных или подразумеваемых гарантий. Это включает подразумеваемые гарантии товарного состояния или пригодности для конкретной цели, но не ограничивается ими. В этой статье предполагается, что вы знакомы с демонстрируемым языком программирования и инструментами, используемыми для создания и отладки процедур. Специалисты службы поддержки Майкрософт могут помочь объяснить функциональность той или иной процедуры. Однако они не будут изменять эти примеры для предоставления дополнительных функциональных возможностей или создания процедур для удовлетворения ваших конкретных требований.
Чтобы использовать макрос Visual Basic для сравнения данных в двух столбцах, выполните действия, описанные в следующем примере.
- Запустите Excel.
- Нажмите ALT+F11, чтобы запустить редактор Visual Basic.
- В меню Вставка выберите Модуль.
- Введите следующий код на листе модуля:
Sub Find_Matches() Dim CompareRange As Variant, x As Variant, y As Variant ' Set CompareRange equal to the range to which you will ' compare the selection. Set CompareRange = Range("C1:C5") ' NOTE: If the compare range is located on another workbook ' or worksheet, use the following syntax. ' Set CompareRange = Workbooks("Book2"). _ ' Worksheets("Sheet2").Range("C1:C5") ' ' Loop through each cell in the selection and compare it to ' each cell in CompareRange. For Each x In Selection For Each y In CompareRange If x = y Then x.Offset(0, 1) = x Next y Next x End Sub
-
Введите в качестве примера следующие данные (оставьте столбец B пустым):
| A | B | C |
|---|---|---|
| 1 | 1 | 3 |
| 2 | 2 | 5 |
| 3 | 3 | 8 |
| 4 | 4 | 2 |
| 5 | 5 | 0 |
Примечание: Если вы не видите вкладку Разработчик, возможно, вам понадобится включить ее. Для этого выберите Файл > Параметры > Настроить ленту, а затем выберите вкладку Разработчик в поле настройки справа.
Повторяющиеся числа отображаются в столбце B. Совпадающие числа будут помещены рядом с первым столбцом, как показано здесь:
| A | B | C | |
|---|---|---|---|
| 1 | 1 | 3 | |
| 2 | 2 | 2 | 5 |
| 3 | 3 | 3 | 8 |
| 4 | 4 | 2 | |
| 5 | 5 | 5 | 0 |
Как в Эксель сравнить два столбца на совпадения и найти расхождения
Как в Эксель сравнить два столбца? Напишите в каждой строке интересующих вертикальных секций формулу «ЕСЛИ». После создания формулы для 1-й строки ее можно протянуть / копировать на остальные строчки. Для проверки содержания одинаковых строк используйте формулу =ЕСЛИ(A2=B2; “Совпадают”; “”), для отличий — =ЕСЛИ(A2<>B2; “Не совпадают”; “”). Ниже подробно рассмотрим, как сравнить сведения для двух и более секциях, а также поговорим о выборе результата.
Как сравнить столбцы в Эксель
Одна из особенностей приложения — возможность в Эксель сравнить столбцы (два и более) на факт отличий и различий, а после вывести результаты в виде подсвечивания цветом. Ниже рассмотрим, как правильно сделать эту работу для разного количества столбцов.
Два
При рассмотрении вопроса, как сравнить два столбца в Excel на совпадения / отличия, нужно сравнить информацию в каждой отдельной строчке на отличия и одинаковые параметры. Сделать такой шаг можно с помощью «ЕСЛИ». Формула вставляется в каждую строчку в соседнем столбике около таблицы Эксель, где размещены основные параметры. После создания записи для 1-й строки ее можно протянуть и копировать на другие строчки.
Если вас интересует, как сравнить столбцы в Excel на совпадения, используйте запись с соответствующей командой — =ЕСЛИ(A2=B2; “Совпадают”; “”). Бывают ситуации, когда необходимо сравнить два столбика и найти отличия. В таком случае используйте иную запись — =ЕСЛИ(A2<>B2; “Не совпадают”; “”). По желанию можно выполнить проверку на совпадения / отличия между двумя секциями с помощью одной формулы. Для этого используется один из следующих вариантов:
- =ЕСЛИ(A2=B2; “Совпадают”; “Не совпадают”);
- =ЕСЛИ(A2<>B2; “Не совпадают”; “Совпадают”).
При этом в таблице выводится информация о наличии совпадений или отличий.
Если стоит задача в Экселе сравнить столбцы с учетом регистра, применяется другая запись. Используйте — =ЕСЛИ(СОВПАД(A2,B2); “Совпадает”; “Уникальное”)

Альтернативный вариант
Существует еще один способ, как в Эксель сравнить два столбца на совпадения. Задача в том, чтобы определить повторяющиеся параметры в обоих столбцах. Здесь можно использовать упомянутую ранее функцию ЕСЛИ или СЧЕТЕСЛИ. Формула имеет следующий вид =ЕСЛИ(СЧЁТЕСЛИ($B:$B;$A5)=0; “Нет совпадений в столбце B”; “Есть совпадения в столбце В”). После ввода формулы производится проверка в строчке «В» на факт совпадений с данными в строке «А». При наличии фиксированного количества строк в Эксель можно указать определенный диапазон, к примеру, $B2:$B20.

Больше двух
По-иному обстоит ситуация, если нужно сравнить в столбцы в Excel, когда их больше двух. Программа позволяет сравнивать данные в нескольких столбиках по ряду критериев: находить строчки с одинаковыми значениями во всех или в двух столбцах. Если их больше двух, используйте функции ЕСЛИ и И. При этом сама формула в Эксель приобретает следующий вид — =ЕСЛИ(И(A2=B2;A2=C2); “Совпадают”; ” “). Как только программе удалось сравнить данные, в последней строке выводится информация о совпадении.

Если столбцов в Эксель более двух, рекомендуется использовать опцию СЧЕТЕСЛИ и ЕСЛИ. При этом сама команда приобретает следующий вид — =ЕСЛИ(СЧЁТЕСЛИ($A2:$C2;$A2)=3;”Совпадают”;” “).

Поиск совпадений в двух и более столбцах
Бывают ситуации, когда в Эксель необходимо сравнить несколько столбцов, но найти совпадения хотя бы в двух из них. В таком случае применяются опции ИЛИ и ЕСЛИ. Для решения задачи делается следующая запись в специальной графе =ЕСЛИ(ИЛИ(A2=B2;B2=C2;A2=C2);”Совпадают”;” “).
В случае, когда в таблице много больше двух столбцов, формула может быть слишком большой, ведь в ней нужно указывать параметры совпадения для каждой вертикальной секции таблицы. Чтобы оптимизировать процесс, нужно использовать другую функцию СЧЕТЕСЛИ. При этом полная запись будет иметь следующий вид: =ЕСЛИ(СЧЁТЕСЛИ(B2:D2;A2)+СЧЁТЕСЛИ(C2:D2;B2)+(C2=D2)=0; “Уникальная строка”; “Не уникальная строка”).
В этой формуле условно выделяется две части. В первой СЧЕТЕСЛИ позволяет рассчитать число столбцов в строке с параметром А2 в ячейке, а вторая вычисляет это количество в таблице с параметром из В2. При равенстве результата «0» можно говорить, что в каждой ячейке столбца у этой сроки находятся уникальные параметры. При этом формула для Эксель выдает результат «Уникальная строка», а при их отсутствии «Не уникальная …».

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

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

При желании можно найти и выделить совпадающие в Эксель строки. Для этого сделайте следующее:
- С правой стороны от таблицы сделайте дополнительный столбик, где напротив каждой строчки с информацией установите формулу. Последняя должна объединять все параметры строки в одну ячейку. В дополнительной колонке будут видны объединенные сведения.
- Выделите область с информацией в дополнительной колонке.
- В разделе «Главная» жмите на «Условное форматирование», а после «Правила выделения ячеек».
- Кликните на «Повторяющиеся значения».
- Во всплывающем окне выберите слева в перечне «Повторяющиеся», а справа — укажите цвет, который будет использоваться для выделения параметров.
Теперь вы знаете, как в Эксель сравнить два столбика и более, а после вывести результаты цветом или в последней колонке. В комментариях поделитесь, удалось ли вам сделать работу, и какие еще методы можно использовать.
Как подсчитать количество повторений
В этой статье я хочу рассказать, как можно подсчитать количество повторений какого-либо значения в таблице или в ячейке.
Количество повторений каждой ячейки
Имеется таблица:
И необходимо подсчитать количество повторений каждого наименования:
Самый простой способ — создать сводную таблицу, поместив в область строк и в область значений данные столбца А. Сводная сделает все сама. Подробнее про создание и использование сводных таблиц можно узнать в этой статье с видеоуроком: Общие сведения о сводных таблицах
Но если по каким-то причинам сводная не Ваш вариант — в Excel имеется функция СЧЁТЕСЛИ (COUNTIF) , при помощи которой все это можно сделать тоже буквально за секунды. Если количество повторений каждого наименования необходимо вывести в столбец В таблицы, а сами наименования расположены в столбце А:
=СЧЁТЕСЛИ( $A$2:$A$30 ; A2 )
=COUNTIF( $A$2:$A$30 , A2 )
Диапазон ( $A$2:$A$30 ) — указываются ячейки диапазона, в которых записаны значения, количество которых необходимо подсчитать. Главная особенность: данный аргумент может быть исключительно ссылкой на ячейку или диапазон ячеек. Недопустимо указывать произвольный массив значений.
Критерий ( A2 ) — указывается ссылка на ячейку или непосредственно значение для подсчета. Т.е. можно указать и так: =СЧЁТЕСЛИ( $A$2:$A$30 ;»Яблоко») . Помимо этого можно применять символы подстановки: ? и *. Т.е. указав в качестве Критерия «*банан*» можно подсчитать количество ячеек, в которых встречается слово «банан» (банановый, банан, бананы, банановый сок, сто бананов, три банана и орех и т.п.). А указав «банан*» — значения, начинающиеся на «банан» (бананы, банановый сок, банановая роща и т.п.). «?» — заменяет лишь один символ, т.е. указав «бан?н» можно подсчитать строки и со значением «банан» и со значением «банон» и т.д. Если в качестве критерия указать =СЧЁТЕСЛИ( $A$2:$A$30 ;»*») , то будут подсчитаны все текстовые значения. Числовые значения при этом игнорируются. Данные подстановочные символы (* и ?) не получится применить к числовым значениям — исключительно к тексту. Т.е. если если указать в качестве критерия «12*», то числа 1234, 123, 120 и т.п. не будут подсчитаны. Для подсчета числовых значений следует применять операторы сравнения: =СЧЁТЕСЛИ( $A$2:$A$30 ;»>12″)
Подсчитать числа, которые больше нуля: =СЧЁТЕСЛИ( $A$2:$A$30 ;»>0″)
Подсчитать количество непустых ячеек: =СЧЁТЕСЛИ( $A$2:$A$30 ;»<>«)
Как видно из второго рисунка — там наименования не повторяются, хотя в таблице они все записаны вперемешку. Я не буду заострять на этом внимание — я уже описывал это в статье Как получить список уникальных(не повторяющихся) значений? и при необходимости можно воспользоваться любым описанным в ней методом.
Если необходимо подсчитать количество повторений на основании нескольких условий(значений), то начиная с 2007 Excel это легко можно сделать при помощи функции СЧЁТЕСЛИМН (COUNTIFS) . Синтаксис функции почти такой же, как у СЧЁТЕСЛИ (COUNTIF) , только условий и диапазонов больше:
=СЧЁТЕСЛИМН( $A$2:$A$30 ; A2 ; $B$2:$B$30 ; B2 )
предполагается, что условия записаны в столбце В
По сути идет просто перечисление:
=СЧЁТЕСЛИМН(Диапазон_условий1;Условие1; Диапазон_условий2;Условие2; Диапазон_условий3;Условие3; и т.д.)
Особенность при работе с функцией СЧЁТЕСЛИ
Так же не могу не написать про небольшую особенность функции СЧЁТЕСЛИ (а так же СЧЁТЕСЛИМН , СУММЕСЛИ , СУММЕСЛИМН и им подобных) — данные функции всегда стремятся преобразовать все значения аргументов к типам(в отличии от той же ВПР , которая к типам относится очень бережно и ничего не преобразует). Что это значит. Если у нас в ячейке записано число 23 — оно будет воспринято как число. Если тоже число будет записано как текст — «023» , то функция преобразует его сначала в число 23, а потом уже будет работать с ним. Т.е. и 23 и «023» у нас будут считаться одинаковым значением. Иными словами: если значение можно преобразовать в число — оно будет преобразовано в число и функция будет работать уже именно с этим числом.
С одной стороны это хорошо, но иногда такое поведение может сыграть злую шутку. Например, у нас в ячейках расположены некие номера счетов, длина которых более 15-ти символов и могут иметь ведущие нули:
000 34889913131323455
00 34889913131323455
000 34889913131323477
как видно, первые два числа почти одинаковые, но у первого числа три ведущих нуля спереди, а второго — два. И это разные счета. А третий счет вообще отличается на последние цифры. Но СЧЁТЕСЛИ после преобразования все три этих значения будет считать как число 348899131313234 00 и если записать функцию так: =СЧЁТЕСЛИ( $A$1:$A$3 ; A1 ) , то она вернет значение 3. Особо обращаю внимание на тот факт, что все числа после 15-го знака будут преобразованы в нули. Эти особенности всегда необходимо учитывать при использовании данных функций, чтобы не попасть в неловкую ситуацию, когда подсчет будет некорректным.
Количество повторений значения внутри ячейки
Еще один вариант подсчета значений. Бывают случаи, когда список расположен вовсе не в таблице, а в одной ячейке( $D$1 ):
Дыня Киви Груша Яблоко Дыня Груша Груша Арбуз Яблоко Банан Яблоко Яблоко Банан Яблоко Яблоко Дыня Дыня Киви Банан Дыня Арбуз Дыня Киви Яблоко Дыня Груша Яблоко Киви Арбуз
Здесь СЧЁТЕСЛИ точно не поможет. Но в Excel полно других функций и все можно сделать так же достаточно просто:
=(ДЛСТР( $D$1 )-ДЛСТР(ПОДСТАВИТЬ( $D$1 ; D3 ;»»)))/ДЛСТР( D3 )
=(LEN($D$1)-LEN(SUBSTITUTE($D$1,D3,»»)))/LEN(D3)
ДЛСТР (LEN) — подсчитывает количество символов в указанной ячейке/строке( $D$1 , D3 )
ПОДСТАВИТЬ (SUBSTITUTE) (текст; старый_текст; новый_текст) — заменяет в указанном тексте заданный символ на любое другое заданное значение. По умолчанию заменяет все повторы указанного символа. Именно это и положено в основу алгоритма. На примере значения Банан( D3 ) пошаговый разбор формулы:
- при помощи функции ДЛСТР получаем количество символов в строке с исходным текстом( $D$1 ) =(170-ДЛСТР(ПОДСТАВИТЬ( $D$1 ; D3 ;»»)))/ДЛСТР( D3 ) ;
- при помощи функции ПОДСТАВИТЬ заменяем в строке с исходным текстом( $D$1 ) все значения Банан( D3 ) на пусто и при помощи ДЛСТР получаем количество символов строки после этой замены =(170-155)/ДЛСТР( D3 ) ;
- вычитаем из общего количества символов количество символов в строке после замены и делим результат на количество символов в критерии =(170-155)/5 .
Получаем число 3. Что нам и требовалось.

Но тут есть и более каверзная ситуация — когда у нас диапазон ячеек, в каждой из которых наше слово может встречаться более одного раза. И подсчитать надо ВСЕ повторения. Диапазон для подсчета повторений у нас будет в ячейках A1:A10 . Слово для подсчета повторений запишем в ячейку B1 (там будет все тоже слово » банан «):
Базируясь на формуле выше можно написать такую:
=СУММПРОИЗВ((ДЛСТР( A1:A10 )-ДЛСТР(ПОДСТАВИТЬ( A1:A10 ; B1 ;»»)))/ДЛСТР( B1 ))
=SUMPRODUCT((LEN(A1:A10)-LEN(SUBSTITUTE(A1:A10,B1,»»)))/LEN(B1))
И простая функция пользователя, которая так же подсчитывает повторения внутри ячейки:
Function GetRepeat(sTxt As String, sCntWord As String) GetRepeat = (Len(sTxt) - Len(Replace(sTxt, sCntWord, ""))) / Len(sCntWord) End Function
Function GetRepeat(sTxt As String, sCntWord As String) GetRepeat = (Len(sTxt) — Len(Replace(sTxt, sCntWord, «»))) / Len(sCntWord) End Function
Чтобы правильно использовать приведенный код, необходимо сначала ознакомиться со статьей Что такое функция пользователя(UDF)?. Вкратце: скопировать текст кода выше, перейти в редактор VBA( Alt + F11 ) -создать стандартный модуль(Insert —Module) и в него вставить скопированный текст. После чего функцию можно будет вызвать из Диспетчера функций( Ctrl + F3 ), отыскав её в категории Определенные пользователем (User Defined Functions) .
Синтаксис функции:
=GetRepeat( $D$1 ; D3 )
sTxt — текст, в котором подсчитываем кол-во вхождения.
sCntWord — текст для подсчета. Может быть символом или словом.
Пример Подсчета повторений.xls (70,5 KiB, 13 615 скачиваний)
Статья помогла? Поделись ссылкой с друзьями!
Как посчитать количество совпадений в excel в двух столбцах
Помогите пожалуйста.
Как подсчитать количество совпадений в двух столбцах.
Мне нужна формула которая бы считала количество совпадений в моём примере это «нечет» и «2» , «чет» и «3»
Помогите пожалуйста.
Как подсчитать количество совпадений в двух столбцах.
Мне нужна формула которая бы считала количество совпадений в моём примере это «нечет» и «2» , «чет» и «3» mesnik
К сообщению приложен файл: 9535703.xlsx (12.2 Kb)
Сообщение Помогите пожалуйста.
Как подсчитать количество совпадений в двух столбцах.
Мне нужна формула которая бы считала количество совпадений в моём примере это «нечет» и «2» , «чет» и «3» Автор — mesnik
Дата добавления — 25.03.2016 в 21:03
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
=СЧЁТЕСЛИМН(B:B;»неч»;C:C;2)
=СЧЁТЕСЛИМН(B:B;»неч»;C:C;2)
=СЧЁТЕСЛИМН(B:B;»неч»;C:C;2)
Автор — vikttur
Дата добавления — 25.03.2016 в 21:07
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Замечаний: 20% ±
2010, 2013, 2016 RUS / ENG
=СУММПРОИЗВ(($B$2:$B$100=»чет»)*(C2:C100=2))
=СУММПРОИЗВ(($B$2:$B$100=»чет»)*(C2:C100=2))
К сообщению приложен файл: 4020070.xlsx (12.8 Kb)
Сообщение так?
=СУММПРОИЗВ(($B$2:$B$100=»чет»)*(C2:C100=2))
Автор — buchlotnik
Дата добавления — 25.03.2016 в 21:09
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Замечаний: 0% ±
Excel 2007
Большое спасибо. ОЧЕНЬ помогла формула =СЧЁТЕСЛИМН(B:B;»неч»;C:C;2).
Если можно помогите ещё раз.
Мне надо подсчитать сумму цифр числа. Например 7549 =7+5+4+9 = 25 =2+5 = 7
[moder]Вопрос не имеет отношения к теме[/moder]
Большое спасибо. ОЧЕНЬ помогла формула =СЧЁТЕСЛИМН(B:B;»неч»;C:C;2).
Если можно помогите ещё раз.
Мне надо подсчитать сумму цифр числа. Например 7549 =7+5+4+9 = 25 =2+5 = 7
[moder]Вопрос не имеет отношения к теме[/moder] mesnik
Сообщение отредактировал Pelena — Пятница, 25.03.2016, 22:33
Сообщение Большое спасибо. ОЧЕНЬ помогла формула =СЧЁТЕСЛИМН(B:B;»неч»;C:C;2).
Если можно помогите ещё раз.
Мне надо подсчитать сумму цифр числа. Например 7549 =7+5+4+9 = 25 =2+5 = 7
[moder]Вопрос не имеет отношения к теме[/moder] Автор — mesnik
Дата добавления — 25.03.2016 в 21:44
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Замечаний: 0% ±
Excel 2010
Добрый день!
Помогите, пожалуйста, решить следующую задачу.
Необходимо вывести список разных имеющихся значений двух рядов цифр. Затем рядом с этими цифрами указать количество совпадений в двух рядах.
Файл с примером во вложении.
Добрый день!
Помогите, пожалуйста, решить следующую задачу.
Необходимо вывести список разных имеющихся значений двух рядов цифр. Затем рядом с этими цифрами указать количество совпадений в двух рядах.
Файл с примером во вложении. Serge171
К сообщению приложен файл: 2_.xlsx (9.3 Kb)
Сообщение Добрый день!
Помогите, пожалуйста, решить следующую задачу.
Необходимо вывести список разных имеющихся значений двух рядов цифр. Затем рядом с этими цифрами указать количество совпадений в двух рядах.
Файл с примером во вложении. Автор — Serge171
Дата добавления — 04.02.2020 в 12:28