Прямо сейчас я пытаюсь отфильтровать электронную таблицу Excel так, чтобы столбцы удаляли каждый экземпляр дубликатов данных.

Обычно это не является проблемой, за исключением того, что в электронной таблице Excel, с которой я имею дело, 400 столбцов по 2000 строк в каждом, и нажимать кнопку « Удалить дубликаты» по одному невероятно утомительно.

Я попытался выделить все данные и нажать « Удалить дубликаты», но это не сработало, как ожидалось. Я ожидал, что каждый столбец теперь будет показывать только уникальные строки для этого конкретного столбца. Вместо этого он либо вернет сообщение о том, что повторяющихся строк не найдено, либо отфильтрует уникальные строки по всем столбцам. Как это только сделал:

SELECT DISTINCT *
FROM table

Есть ли способ фильтрации по всем столбцам и только он отфильтровывает все повторяющиеся строки для этого конкретного столбца? Что-то вроде этого:

SELECT DISTINCT col1
FROM table

SELECT DISTINCT col2
FROM table

...

SELECT DISTINCT coln
FROM table

На самом деле не думал, что это было необходимо, но вот оно:

ДО

+-------+---------------+--------------------+
| Name  |     City      |      Position      |
+-------+---------------+--------------------+
| John  | Philadelphia  | Software Developer |
| John  | New York City | Software Engineer  |
| John  | Washington DC | Accountant         |
| Henry | Philadelphia  | Janitor            |
| Jeff  | Philadelphia  | Project Manager    |
| Paul  | Philadelphia  | Software Engineer  |
| Dave  | Boston        | Accountant         |
+-------+---------------+--------------------+

ПОСЛЕ

+-------+---------------+--------------------+
| Name  |     City      |      Position      |
+-------+---------------+--------------------+
| John  | Philadelphia  | Software Developer |
| Henry | New York City | Software Engineer  |
| Jeff  | Washington DC | Accountant         |
| Paul  | Boston        | Janitor            |
| Dave  |               | Project Manager    |
+-------+---------------+--------------------+

1 ответ1

1

С VBA:

Dim i As Integer

For i = 1 To 400
    Columns(i).EntireColumn.RemoveDuplicates Columns:=1, Header:=xlYes
Next i

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .