В данной статье описаны два способа сравнения данных и поиска повторяющихся значений в двух столбцах листов Microsoft Excel.
Способ 1. Использование формулы
Чтобы сравнить данные в двух столбцах с помощью формулы, выполните указанные ниже действия.
- Запустите Excel.
- Введите в ячейки нового листа следующие данные (столбец B оставьте пустым):
A1: 1 B1: C1: 3
A2: 2 B2: C2: 5
A3: 3 B3: C3: 8
A4: 4 B4: C4: 2
A5: 5 B5: C5: 0
- Введите в ячейку B1 следующую формулу:
=IF(ISERROR(MATCH(A1,$C$1:$C$5,0)),"",A1)
- Выделите ячейки B1:B5.
- Если используется Microsoft Office Excel 2003 или более ранняя версия Excel, выберите в меню Правка пункт Заполнить, а затем — пункт Вниз.
Если используется Microsoft Office Excel 2007, выберите в группе Правка пункт Заполнить, а затем — пункт Вниз.
Повторяющиеся числа будут отображены в столбце B, как в приведенном ниже примере.
A1: 1 B1: C1: 3
A2: 2 B2: 2 C2: 5
A3: 3 B3: 3 C3: 8
A4: 4 B4: C4: 2
A5: 5 B5: 5 C5: 0
Способ 2. Использование макроса Visual Basic
Корпорация Майкрософт приводит примеры программного кода только для иллюстрации и не предоставляет явных или подразумеваемых гарантий относительно их пригодности для применения в пользовательских приложениях. Примеры в данной статье рассчитаны на пользователя, имеющего достаточный уровень знаний соответствующего языка программирования и необходимых средств разработки и отладки. Сотрудники службы поддержки Майкрософт могут объяснить возможности конкретной процедуры, но не будут изменять примеры для реализации дополнительных возможностей или удовлетворения требований конкретных пользователей. Чтобы сравнить данные в двух столбцах с помощью макроса Visual Basic, выполните действия, описанные в приведенном ниже примере.
- Запустите Excel.
- Нажмите клавиши ALT+F11, чтобы запустить редактор Visual Basic.
- В меню Insert (вставка) выберите команду Module (модуль).
- Введите в окне модуля приведенный ниже код.
Sub Find_Matches()
Dim CompareRange As Variant, x As Variant, y As Variant
' Назначьте переменной CompareRange диапазон, с которым
' нужно сравнить выделенный диапазон.
Set CompareRange = Range("C1:C5")
' Примечание. Если диапазон ячеек, с которыми нужно сравнить выделенные ячейки,
' относится к другой книге или другому листу, используйте приведенный ниже синтаксис.
' Set CompareRange = Workbooks("Book2"). _
' Worksheets("Sheet2").Range("C1:C5")
'
' В следующем цикле каждая выделенная ячейка сравнивается
' с каждой ячейкой из диапазона 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
- Нажмите клавиши ALT+F11, чтобы вернуться в Excel.
- Введите следующие данные (столбец B оставьте пустым):
A1: 1 B1: C1: 3
A2: 2 B2: C2: 5
A3: 3 B3: C3: 8
A4: 4 B4: C4: 2
A5: 5 B5: C5: 0
- Выделите диапазон ячеек A1:A5.
- Если используется Microsoft Office Excel 2003 или более ранняя версия Excel, выберите в меню Сервис пункт Макрос, а затем — пункт Макросы.
Если используется Excel 2007, откройте вкладку Разработчик и щелкните пункт Макрос в группе Код. - Щелкните макрос Find_Matches и нажмите кнопку Выполнить.
Повторяющиеся номера будут отображены в столбце B. Соответствующие номера будут размещены рядом с первым столбцом, как показано ниже.
A1: 1 B1: C1: 3
A2: 2 B2: 2 C2: 5
A3: 3 B3: 3 C3: 8
A4: 4 B4: C4: 2
A5: 5 B5: 5 C5: 0