Excel находит дубликаты данных и удаляет самые старые

У меня проблема в MS Excel. Я имею таблицу с данными как это:

Name | timestamp ------------------------ Smith | 12.05.2015 Smith | 01.01.2015 Smith | 10.05.2015 Simpson | 14.04.2015 Simpson | 10.02.2015 Simpson | 21.03.2015 Simpson | 02.01.2015 

Данные я намного больше и сложены, и есть дубликаты с разными отметками времени. Теперь я хочу удалить старые файлы и хочу получить такой вывод:

  Name | timestamp Smith | 12.05.2015 Simpson | 14.04.2015 

Я знаю, как удалить дубликаты, но в этом случае он немного отличается. Надеюсь, вы поможете мне решить эту проблему.

Вам может не понадобиться VBA.

По моему опыту, Excel Remove Duplicates работает, чтобы удалить первые встреченные дубликаты в списке.

Поэтому сортируйте свои данные по имени по возрастанию и по метке, а затем удалите дубликаты только из поля «Имя».

Вам следует оставить самые последние имена.

Я немного тестировал, и Range.RemoveDuplicates, по-видимому, сохраняет первую запись для каждого повторяющегося значения (по крайней мере, в отсортированном диапазоне, который вы собираетесь использовать). Вот мое решение:

 Sub SortAndCondense() 'This subroutine sorts a table by name and secondarily by descending date. It then removes 'all duplicates in the name column. By sorting the dates in descending order, only the most 'recent entries for each name are preserved Dim wrkSht As Worksheet Set wrkSht = ThisWorkbook.Worksheets("Sheet1") Dim dateTable As Range Dim header1 As Range, header2 As Range Set dateTable = wrkSht.Range("A2:B7") 'insert your actual table range; modify as necessary for column headers Set header1 = wrkSht.Range("A2") Set header2 = wrkSht.Range("B2") 'sort the column primarily by name, and secondarily by descending date. The order in which the names are sorted 'is irrelevant. dateTable.Sort Key1:=header1, Key2:=header2, Order2:=xlDescending 'remove all duplicate names. The way remove duplicates works (so far as I can tell) is that it keeps only the 'topmost entry for each duplicate column. dateTable.RemoveDuplicates 1 End Sub 
Interesting Posts

Ограничение количества «названных диапазонов» в методе Range

VBA Excel Как заменить часть значения на другое значение Cells

Выведите значение ячейки NULL в Excel

Как добавить значение изменения в график в excel?

Найти все уникальные значения в столбце, а затем просмотреть события

Импорт данных из Excel в существующий dataTable, когда свойства DB не соответствуют первому столбцу в excel ASp.NET / core

Множественный выбор в выпадающем списке в том же столбце не работает

Работа с вложенными циклами в Python – Параметры?

Использование Vlookup в листе Excel для соответствия подстроке

Различные результаты импорта из Excel в Access в зависимости от Excel открыты или нет

Переключение активных листов и строк подсчета

Выявление методов .net в качестве функций Excel?

Чтение определенных полей из пространственной записи в Access 2010 из Excel 2010

Excel: если какое-либо поле в строке не равно NULL, установите ячейку в первом столбце в число с добавочным номером?

Excel: столбец поиска для указанного значения, возвращаемое значение в той же строке другой столбец

Давайте будем гением компьютера.