Для сравнения данных в двух столбцах листа Microsoft Excel и поиска повторяющихся записей можно использовать следующие методы.
Способ 1. Использование формулы рабочего листа
-
Запустите Excel.
-
В качестве примера введите в новом листе введите следующие данные (оставьте столбец B пустым):
A
B
C
1
1
3
2
2
5
3
3
8
4
4
2
5
5
0
-
Введите следующую формулу в ячейке B1:
=ЕСЛИ(ЕОШИБКА(MATCH(A1,$C$1:$C$5,0)),"",A1) -
Выберите ячейку B1- B5.
-
В Excel 2007 и более поздних версиях Excel Заполнить в группе Правка, а затем выберите Вниз.
Повторяющиеся числа отображаются в столбце 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
-
Нажмите ALT+F11, чтобы вернуться в Excel.
-
Введите в качестве примера следующие данные (оставьте столбец B пустым):
A
B
C
1
1
3
2
2
5
3
3
8
4
4
2
5
5
0
-
-
Выберите ячейку A1-A5.
-
В Excel 2007 и более поздних версиях Excel выберите вкладку Разработчик, а затем выберите Макросы в группе Код.
Примечание: Если вы не видите вкладку Разработчик, возможно, вам понадобится включить ее. Для этого выберите Файл > Параметры > Настроить ленту, а затем выберите вкладку Разработчик в поле настройки справа.
-
Щелкните Find_Matches, а затем щелкните Выполнить.
Повторяющиеся числа отображаются в столбце B. Совпадающие числа будут помещены рядом с первым столбцом, как показано здесь:A
B
C
1
1
3
2
2
2
5
3
3
3
8
4
4
2
5
5
5
0