如何删除重复的行并仅在Excel中保留最高值?
例如,您在Excel中有一个购买表,作为显示的第一个屏幕截图。 现在,您需要根据“水果”列删除重复的行,并将相应水果的最高值保留在“数量”列中,如第二个屏幕截图所示。 您能想到什么解决方案吗? 本文将分享两个技巧来解决它。
仅使用 Kutools for Excel 删除重复行并保留最高值
根据一列中的条件轻松删除重复的行,仅在Excel中保留最高的值
Kutools for Excel的 高级组合行 实用程序可以帮助Excel用户轻松地轻松找出另一列中每个项目的最小值的最大值。
该高级组合行实用程序还可以按指定标记组合行和单独的值,或组合行并计算其总和,出现次数,最大值/最小值,平均值等。
删除重复的行并仅使用VBA保留最高值
假设您有一个表格,如下所示。 并且此方法将引入VBA宏,以删除基于某一列的重复行,并仅在Excel的另一列中保留最大值。 请执行以下操作:
1。 按 其他 + 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.现在出现一个对话框。 请选择要删除重复行并保留其中最高值的列,然后单击 OK 按钮。
在本例中,我们将按“水果列”删除重复的行,并在“数量列”中保留最高的值,因此,如图所示,我选择了“水果”列和“数量”列。
然后,您将看到根据“水果”列删除了重复的行,并将相应水果的最大值保留在“数量”列中。 看截图:
:
(1)指定范围必须以删除重复行所依据的列开头。
(2)此VBA只能在删除重复行所依据的列后面保留该列中的最大值。
(3)此VBA在Microsoft Excel 2007中不起作用。
仅使用 Kutools for Excel 删除重复行并保留最高值
上述 VBA 对于某些用户来说可能不够简单,它只能将最高值保留在条件列后面的列中。但是Excel的Kutools 高级组合行 实用程序将帮助您轻松轻松地解决此问题。
Kutools for Excel - 包含 300 多个 Excel 基本工具。 享受全功能 30 天免费试用,无需信用卡! 现在下载!
1.选择要删除重复行并保留最大值的表(在本例中选择A1:C24),然后单击 库工具 > 内容 > 高级组合行.
2.在打开的“基于列合并行”对话框中,请进行以下配置:
(1)选择“水果”列(将删除重复的行),然后单击“ 首要的关键 按钮;
(2)选择“金额”列(将保留最高值),然后单击“确定”。 计算 > max..
(3)根据需要为其他列指定组合规则。
3。 点击 Ok 按钮。 然后,您将看到根据“水果”列删除所有重复的行,并且“数量”列中仅保留了对应水果的最大值。 看截图:
高级组合行 Kutools for Excel 的实用程序可以轻松地按一列组合行,然后也根据该列计算其他列,例如 Sum,Count,Max,Min,Product 等。 点击免费试用60天,没有限制!
演示:删除重复的行并仅在Excel中保留最大值
最佳办公生产力工具
🤖 | Kutools 人工智能助手:基于以下内容彻底改变数据分析: 智能执行 | 生成代码 | 创建自定义公式 | 分析数据并生成图表 | 调用 Kutools 函数... |
热门特色: 查找、突出显示或识别重复项 | 删除空白行 | 合并列或单元格而不丢失数据 | 不使用公式进行四舍五入 ... | |
超级查询: 多条件VLookup | 多值VLookup | 跨多个工作表的 VLookup | 模糊查询 .... | |
高级下拉列表: 快速创建下拉列表 | 依赖下拉列表 | 多选下拉列表 .... | |
列管理器: 添加特定数量的列 | 移动列 | 切换隐藏列的可见性状态 | 比较范围和列 ... | |
特色功能: 网格焦点 | 设计图 | 大方程式酒吧 | 工作簿和工作表管理器 | 资源库 (自动文本) | 日期选择器 | 合并工作表 | 加密/解密单元格 | 按列表发送电子邮件 | 超级筛选 | 特殊过滤器 (过滤粗体/斜体/删除线...)... | |
前 15 个工具集: 12 文本 工具 (添加文本, 删除字符,...) | 50+ 图表 类型 (甘特图,...) | 40+ 实用 公式 (根据生日计算年龄,...) | 19 插入 工具 (插入二维码, 从路径插入图片,...) | 12 转化 工具 (小写金额转大写, 货币兑换,...) | 7 合并与拆分 工具 (高级组合行, 分裂细胞,...) | ... 和更多 |
使用 Kutools for Excel 增强您的 Excel 技能,体验前所未有的效率。 Kutools for Excel 提供了 300 多种高级功能来提高生产力并节省时间。 单击此处获取您最需要的功能...
Office Tab 为 Office 带来选项卡式界面,让您的工作更加轻松
- 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
- 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
- 每天将您的工作效率提高50%,并减少数百次鼠标单击!