Excel将“每行”数据中的重复值批量删除,不会这个技巧,工作可能要累爆!

Excel情报局
Excel职场联盟
生产挖掘分享Excel基础技能
Excel爱好者大本营
用1%的Excel基础搞定99%的职场问题
做一个超级实用的Excel公众号
Excel是门手艺玩转需要勇气
数万Excel爱好者聚集地
SUPER EXCEL MAN

前言|职场实例

我们都了解,Excel中的“删除重复值”功能只能针对某列竖向的数据下的重复值。如下图所示,如果每行数据中存在重复值,该如何横向按行批量删除重复值呢,删除完成后,将唯一值规则的放在指定的区域中。

步骤|解决方案

小编查阅了大量的资料。这个问题还是有一定的难度的。如果这种问题在工作中真的遇到,且数据量很大的情况下,确实令人很棘手。

我们可以用VBA代码的方法轻松瞬间完成。这个代码是固定的模板,我们只需要复制粘贴即可使用。

右击工作表名称标签,点击“查看代码”,在弹出的VBA窗口中,复制粘贴代码,然后点击“运行”按钮,点击运行按钮下的“运行子过程/用户窗体”选项,最后点击关闭VBA窗口,当界面回到Excel主界面时,我们发现横向按行批量删除重复值的结果已经出来了。

小编计算了一下时间,用复制VBA代码的方法完成这个难题也不过5秒钟的事儿!

代码模板如下,复制粘贴即用:

Sub test()  Dim arr, i, j, k, n  arr = [a1:g3].Value  ReDim brr(1 To UBound(arr, 1), 1 To UBound(arr, 2))  For i = 1 To UBound(arr, 1)  n = 0  For j = 1 To UBound(arr, 2)  For k = 1 To j - 1  If arr(i, j) = arr(i, k) Then Exit For  Next  If k = j Then   n = n + 1: brr(i, n) = arr(i, j)   End If  Next  Next  [a5].Resize(UBound(brr, 1), UBound(brr, 2)) = brrEnd Sub

注意:

本段代码中[a1:g3]代表的意思是:数据源的区域范围,本例中数据源即需要去重复的数据在a1:g3区域。根据实际情况而更改。

本段代码中 [a5]代表最终完成的数据存放的起始位置,本例中存放在了A5单元格的起始位置。根据实际情况而更改。

阅读完文章之后,希望小伙伴们在文章底部帮助小编[点赞]点亮[在看]并分享转发到[朋友圈],坚持持续分享的路上很辛苦,需要有你们的鼓励与支持!您也可以通过在文章底部[留言]的方式来反馈实际办公中遇到的Excel问题场景。
(0)

相关推荐