快捷搜索:  汽车  科技

excel怎么删除所有重复值(Excel将每行数据中的重复值批量删除)

excel怎么删除所有重复值(Excel将每行数据中的重复值批量删除)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)) = brr End Sub注意:代码模板如下,复制粘贴即用:我们

前言|职场实例

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

excel怎么删除所有重复值(Excel将每行数据中的重复值批量删除)(1)

步骤|解决方案

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

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

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

excel怎么删除所有重复值(Excel将每行数据中的重复值批量删除)(2)

小编计算了一下时间,用复制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)) = brr End Sub

注意:

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

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

excel怎么删除所有重复值(Excel将每行数据中的重复值批量删除)(3)

猜您喜欢: