excel中怎么删除同一行中的重复值?

如图,我有类似这样的数据(部分):

只想留下同一行中的不重复值,例如 :
第一行留下 H05B、G02F
第二行留下一个 H04W
第三行也是留下一个 H04W
第四行留下H04W、H04L
……
以此类推,即 同一行中的A-ED栏位进行比较,只留下不重复值。如图我标出部分不重复值:

就是删去没有红框的那些值。(不知我说的明白么……)

因为总共有4万行数据,A-ED个栏位。
数据量庞大,有木有大神有解决方法的?
谢谢!!

ALT+F11,在VBE窗口中插入模块,粘贴以下代码。

回到Excel界面,ALT+F8,运行下面这个宏。

Sub 这个宏()
Dim Arr, d As Object, Brr(), crr, sh As Worksheet
t = Timer
Arr = ActiveSheet.[a1].CurrentRegion
ReDim Brr(1 To UBound(Arr, 1), 1 To UBound(Arr, 2))
Set d = CreateObject("scripting.dictionary")
For i = 1 To UBound(Arr, 1)
    For j = 1 To UBound(Arr, 2)
        If Arr(i, j) <> "" Then d(Arr(i, j)) = ""
    Next j
    crr = d.keys
    For j = 0 To UBound(crr)
        Brr(i, j + 1) = crr(j)
    Next
    d.RemoveAll
Next i
Set sh = Worksheets.Add(after:=Worksheets(Worksheets.Count))
sh.Name = "去重结果"
sh.[a1].Resize(UBound(Arr, 1), UBound(Arr, 2)) = Brr
MsgBox "处理完成!用时" & Timer - t & "秒!"
End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-15
这个问题用VBA应该容易一些,方便的话,发文件给我。我写个代码。
相似回答