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

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

Author: Kelly Last Modified: 2025-06-05

Например, у вас есть таблица покупок в 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
Популярные функции: Найти, выделить или отметить дубликаты | Удалить пустые строки | Объединить столбцы или ячейки без потери данных |   Округлить без формулы ...
Супер ПОИСК: VLOOKUP по нескольким критериям | VLOOKUP с несколькими значениями | Многолистовой поиск | Распознавание нечетких соответствий ....
Расширенный раскрывающийся список: Быстро создать раскрывающийся список | Зависимый раскрывающийся список | Множественный выбор в раскрывающемся списке ....
Менеджер столбцов: Добавить определённое количество столбцов | Переместить столбцы | Переключить видимость скрытых столбцов | Сравнить диапазоны и столбцы ...
Избранные функции: Сетка фокусировки | Дизайн листа | Улучшенная строка формулы | Управление книгами и листами | Библиотека автотекста | Выбор даты | Объединить данные | Шифрование/расшифровка ячеек | Отправить письмо по списку | Супер фильтр | Специальный фильтр (фильтр ячеек с жирным/курсивом/зачёркнутым...) ...
Топ-15 наборов инструментов:12 текстовых инструментов (Добавить текст, Удалить определенные символы, ...) |50+ типов диаграмм (Диаграмма Ганта, ...) |40+ практических формул (Расчет возраста на основе даты рождения, ...) |19 инструментов вставки (Вставить QR-код, Вставить изображение по пути, ...) |12 инструментов преобразования (Преобразовать в слова, Конвертация валюты, ...) |7 инструментов для объединения и разделения (Расширенное объединение строк, Разделить ячейки, ...) | ... и многое другое

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


Office Tab добавляет вкладки в Office и делает вашу работу намного проще

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