Excel - сравнить два столбца и удалить дубликаты
- вопрос
- Решение
- Заметка
вопрос
Мне нужен макрос для электронной таблицы Excel, который будет сравнивать строки на основе двух ячеек и находить дубликаты.
В этом примере первые два столбца - A и B - должны быть уникальными. Макрос должен отмечать только те строки, которые идеально совпадают в обоих столбцах. Таким образом, в этом примере должна быть помечена только пятая строка, так как она точно соответствует приведенной выше.
Пример:
Col A Col B Col C Col D 00001 AAAA1 xxxx гггг 00001 BBBB1 xxxx xxxx 00001 BBBB2 гггг гггг 00002 AAAA1 гггг xxxx 00002 AAAA1 гггг xxxx 00003 AAAA1 хххх гггг
Решение
Это решение изменит данные в вашей электронной таблице, поэтому обязательно сохраните резервную копию.
Во-первых, вам нужно объединить данные в столбцах A и B, чтобы их можно было сравнить в целом. Для этого введите пустую ячейку в конце первой строки данных (в этом примере мы используем строку 2 - при необходимости измените):
= А2 & В2
Скопируйте эту формулу для всей таблицы.
Теперь запустите макрос ниже. В этом примере кода предполагается, что вы написали приведенную выше формулу в столбце E. При необходимости измените код.
Предупреждение: этот макрос удаляет строки, поэтому важно убедиться, что вы сделали резервную копию перед тестированием.
Подтекст () Dim j As Integer, k As Integer, r As Range j = Range ("E2"). End (xlDown) .Row Для k = j To 2 Шаг -1 MsgBox k Set r = Range (Cells (k), "E"), Ячейки (k, "E"). End (xlUp)) Если WorksheetFunction.CountIf (r, Ячейки (k, "E"))> 1, то Ячейки (k, "E"). Удалить конец, если следующий k End Sub
Заметка
Спасибо venkat1926 за этот совет на форуме.