Как удалить дубликаты строк в Excel 2013, когда столбцов много?


0

Прямо сейчас я пытаюсь отфильтровать электронную таблицу 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    |
+-------+---------------+--------------------+

Пожалуйста, отредактируйте ваш вопрос, включив в него некоторые примерные (до и после) данные. См. Форматирование текста в виде таблицы для веб-утилиты, которая поможет вам создать красивую таблицу данных, которую вы можете вставить в свой вопрос.
DavidPostill

Конечно, я добавил пример.
Ли

Ответы:


1

С VBA:

Dim i As Integer

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

Я знаком с VB, но никогда не использовал его для Excel.
Ли

Создайте новый макрос, перейдя на вкладку «Разработчик». Возможно, вам придется сначала включить его в «Параметры»> «Настройка ленты». На вкладке «Разработчик» нажмите «Макросы». Введите имя и нажмите «Создать» и вставьте код выше между строками «Sub» и «End Sub». Затем нажмите F5, чтобы запустить его, или вы можете получить к нему доступ из меню «Макросы» на вкладке «Devolper».
Atoadaso

Хорошо, это было именно то, что я искал. Спасибо!
Ли
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.