Перейти к содержимому

Как удалить повторяющиеся строки и оставить только самые высокие значения в Excel?

Author: Kelly Last Modified: 2025-08-07

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

Удаление дублирующихся строк и сохранение только самых высоких значений с помощью VBA

Удаление дублирующихся строк и сохранение только самых высоких значений с помощью Kutools для Excel


Удаление дублирующихся строк и сохранение только самых высоких значений с помощью VBA

Предположим, у вас есть таблица, как показано на скриншоте ниже. Этот метод представит макрос VBA для удаления дублирующихся строк на основе определенного столбца и сохранения только самых высоких значений в другом столбце в Excel. Пожалуйста, следуйте инструкциям:

a

1. Одновременно нажмите клавиши Alt + F11, чтобы открыть окно Microsoft Visual Basic for Applications.

2. Нажмите Insert > Module и вставьте следующий код в новое открывшееся окно Module.

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 или кнопку Run, чтобы запустить этот VBA.

4. Теперь появится диалоговое окно. Пожалуйста, выберите столбцы, из которых вы хотите удалить дубликаты строк и сохранить самые высокие значения, затем нажмите кнопку OK.

a screenshot of selecting the columns

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

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

a screenshot of the final result

Примечания:

(1) Указанный диапазон должен начинаться со столбца, по которому вы будете удалять дублирующиеся строки.

(2) Этот VBA может сохранять только самые высокие значения в столбце, который находится сразу за столбцом, по которому были удалены дубликаты строк.

(3) Этот VBA не работает в Microsoft Excel 2007.


Удаление дублирующихся строк и сохранение только самых высоких значений с помощью Kutools для Excel

Вышеупомянутый VBA может быть недостаточно простым для некоторых пользователей, и он может сохранять только самые высокие значения в столбце, следующем за столбцом критериев. Однако утилита Advanced Combine Rows из Kutools для Excel поможет вам легко решить эту проблему.

Kutools для Excel - Наполнен более чем 300 необходимыми инструментами для Excel. Воспользуйтесь постоянно бесплатными функциями ИИ! Скачайте прямо сейчас!

1. Выберите таблицу, из которой вы хотите удалить дублирующиеся строки и сохранить самые высокие значения (в нашем случае выберите A1:C24), и нажмите Kutools > Merge & Split > Advanced Combine Rows.

2. В открывшемся диалоговом окне Combine Rows Based on Column настройте следующим образом:

(1) Выберите столбец «Фрукты» (по которому вы будете удалять дубликаты строк), а затем нажмите кнопку Primary Key;

(2) Выберите столбец «Количество» (в котором вы хотите сохранить самые высокие значения), а затем нажмите Calculate > Max.

(3) Укажите правила комбинирования для других столбцов по мере необходимости.

a screenshot of configuring the Combine Rows Based on Column dialog box of Kutools

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

a screenshot showing the results

Утилита Advanced Combine Rows из Kutools для Excel позволяет легко объединять строки по одному столбцу, а затем выполнять вычисления для других столбцов на основе этого столбца, таких как Сумма, Количество, Максимум, Минимум, Произведение и т.д. Щелкните для бесплатной 60-дневной пробной версии без ограничений!


Демонстрация: удаление дублирующихся строк и сохранение только самых высоких значений в Excel

 
Kutools для Excel: Более 300 удобных инструментов у вас под рукой! Наслаждайтесь постоянно бесплатными функциями ИИ! Скачать сейчас!

Лучшие инструменты для повышения продуктивности в Office

🤖 Kutools AI Aide: Переворот в анализе данных на основе: Интеллектуальное выполнение   |  Сгенерировать код  |  Создать Пользовательские Формулы  |  Анализ данных и генерация диаграмм  |  Вызов Kutools Functions
Популярные функции: Найти, выделить или отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячейки без потери данных   |   Округлить...
Супер ПОИСК: VLookup с несколькими критериями    VLookup с несколькими значениями  |   Многолистовой поиск   |   Распознавание нечетких соответствий ....
Расширенный раскрывающийся список: Быстро создать раскр. список   |  Зависимый раскрывающийся список   |  Множественный выбор в раскрывающемся списке ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка фокусировки   |  Дизайн листа   |   Улучшенная строка формулы    Управление книгой и листами   |  Библиотека автотекста (Auto Text)   |  Выбор даты   |  Объединить данные   |  Шифрование/Расшифровка ячеек    Отправить письмо по списку   |  Супер фильтр   |   Специальный фильтр (фильтр по жирному/курсиву/зачеркиванию...) ...
Топ–15 наборов инструментов: 12 текстовых инструментов (Добавить текст, Удалить определенные символы, ...)   |   50+ типов диаграмм (Диаграмма Ганта, ...)   |   40+ практических формул (Расчет возраста на основе даты рождения, ...)   |   19 инструментов вставки (Вставить QR-код, Вставить изображение из пути, ...)   |  12 инструментов преобразования (Преобразовать в слова, Конвертация валюты, ...)   |  7 инструментов объединения и разделения (Расширенное объединение строк, Разделить ячейки, ...)   |   ... и многое другое
Используйте Kutools на вашем предпочитаемом языке – поддерживаются английский, испанский, немецкий, французский, китайский и более40 других языков!

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


Office Tab добавляет вкладочный интерфейс в Office, делая вашу работу значительно проще

  • Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна, а не в новых окнах.
  • Увеличьте свою продуктивность на50% и сократите сотни кликов мышью ежедневно!