Как удалить дублирующиеся строки и оставить только строки с максимальными значениями в Excel?
Например, у вас есть таблица покупок в Excel, как на первом скриншоте. Теперь нужно удалить дублирующиеся строки на основе столбца «Фрукт», сохранив при этом максимальное значение количества для каждого фрукта, как показано на втором скриншоте. Есть ли у вас решение? В этой статье мы рассмотрим два способа выполнить эту задачу.
Удаление Дублирующая строка и сохранение только максимальных значений с помощью VBA
Удаление Дублирующая строка и сохранение только максимальных значений с помощью Kutools для Excel
Удаление Дублирующая строка и сохранение только максимальных значений с помощью VBA
Предположим, у вас есть таблица, подобная приведённой на скриншоте ниже. Данный метод предлагает использовать макрос VBA для удаления дублирующихся строк на основе определённого столбца и сохранения только строк с максимальными значениями в другом столбце Excel. Выполните следующие действия:

1. Нажмите одновременно клавиши Alt+F11, чтобы открыть окно Microsoft Visual Basic for Applications.
2. Нажмите Вставка > Модуль и вставьте приведённый ниже код в открывшееся окно нового модуля.
VBA: удаление Дублирующая строка и сохранение максимальных значений
Public Sub DelDupes()
Dim xFilterRg As Range
Dim xCriteriaRg As Range
Dim xAddress As String
Dim xSUpdate As Boolean
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xFilterRg = Application.InputBox("Please select a range:", "Kutools for Excel", xAddress, , , , , 8)
If xFilterRg Is Nothing Then Exit Sub
Set xFilterRg = Application.Intersect(ActiveSheet.UsedRange, xFilterRg)
If xFilterRg Is Nothing Then Exit Sub
On Error GoTo 0
xSUpdate = Application.ScreenUpdating
Application.ScreenUpdating = False
Set xCriteriaRg = ActiveSheet.Cells(1, xFilterRg.Column + xFilterRg.Columns.Count).Resize(2)
xCriteriaRg.Resize(1).Offset(1).Formula = "=COUNTIF(" & xFilterRg(2, 1).Address & ":" & _
xFilterRg(2, 1).Address(False, False) & "," & _
xFilterRg(2, 1).Address(False, False) & ")>1"
With xFilterRg
.Sort key1:=xFilterRg.Cells(1, 1).Offset(0, 1), order1:=xlDescending, Header:=xlYes
.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=xCriteriaRg
.Offset(1).SpecialCells(xlCellTypeVisible).EntireRow.Delete
.Parent.ShowAllData
End With
xCriteriaRg.Clear
Application.ScreenUpdating = xSUpdate
End Sub 3. Нажмите клавишу F5 или кнопку Выполнить, чтобы запустить этот макрос VBA.
4. Появится диалоговое окно. Выберите столбцы, по которым нужно удалить дубликаты строк и в которых следует оставить максимальные значения, затем нажмите кнопку ОК.

В нашем примере мы удаляем дублирующиеся строки по столбцу «Фрукт», оставляя максимальные значения в столбце «Количество», поэтому я выбираю столбцы «Фрукт» и «Количество», как показано на скриншоте выше.
Теперь вы увидите, что дублирующиеся строки удалены на основе столбца «Фрукт», а в столбце «Количество» сохранены максимальные значения для соответствующих фруктов. См. скриншот:

Примечания:
(1) Ограниченный диапазон должен начинаться со столбца, по которому вы планируете удалять дублирующиеся строки.
(2) Этот макрос VBA может сохранять максимальные значения только в столбце, непосредственно следующем за столбцом, по которому удаляются дублирующиеся строки.
(3) Этот макрос VBA несовместим с Microsoft Excel 2007.
Удаление Дублирующая строка и сохранение только максимальных значений с помощью Kutools для Excel
Приведённый выше макрос VBA может быть неудобен для некоторых пользователей: он позволяет сохранять максимальные значения только в столбце, следующем за критериальным. Однако утилита Kutools для Excel’s Расширенное объединение строк легко справится с этой задачей.
Kutools для Excel — включает более 300 незаменимых инструментов для Excel. Работайте в Excel быстрее, проще и эффективнее.Скачать сейчас!
1. Выделите таблицу, в которой нужно удалить дублирующиеся строки и оставить максимальные значения (в нашем случае — диапазон A1:C24), затем нажмите Kutools > Объединить и разделить > Расширенное объединение строк.
2. В открывшемся диалоговом окне «Объединить строки на основе столбца» выполните следующую настройку:
(1) Select Fruit column (which you will Удалить дубликаты rows by), затем нажмите кнопку Первичный ключ;
(2) Выделите столбец «Сумма» (в котором вы хотите оставить наибольшие значения), затем выберите Вычислить > Максимум.
(3) При необходимости задайте правила объединения для остальных столбцов.

3. Нажмите кнопку ОК. После этого все дублирующиеся строки будут удалены на основе столбца «Фрукт», а в столбце «Количество» останутся только максимальные значения для соответствующих фруктов. См. скриншот:

Утилита Расширенное объединение строкиз набора Kutools для Excel позволяет легко Объединить строки по одному столбцу, а также выполнять расчёты по другим столбцам на основе этого столбца, например: сумма, количество, максимум, минимум, произведение и т.д.Нажмите для бесплатной 60-дневной пробной версии без ограничений!
Демонстрация: удаление Дублирующая строка и сохранение только максимальных значений в Excel
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек