如何删除EXCEL里的相同的内容!
我有张表格,内容是企业的地址、名称和收件人。但表格里有许多内容是重复的,也就是说收信人是重复的,有的地址也是重复的。问如何删除重复的收信人和地址?一条条删不可能;排序、筛...
我有张表格,内容是企业的地址、名称和收件人。但表格里有许多内容是重复的,也就是说收信人是重复的,有的地址也是重复的。问如何删除重复的收信人和地址?一条条删不可能;排序、筛选不现实,因为表格里有:相同的地址但不同的收信人。怎么办怎么办? 高手帮忙下啊!!
收信人或地址,只要有一个是重复的就删除重复的,保留一项!
qad1103的答案明显不行啊,我筛选出来还是有很多相同的...
有没有人可以帮我搞定的
xiworld 的下拉复制不是很明白...为什么只能一个一个复制...而且这个公式是只能看A1吗 啊 展开
收信人或地址,只要有一个是重复的就删除重复的,保留一项!
qad1103的答案明显不行啊,我筛选出来还是有很多相同的...
有没有人可以帮我搞定的
xiworld 的下拉复制不是很明白...为什么只能一个一个复制...而且这个公式是只能看A1吗 啊 展开
14个回答
展开全部
你试一下用辅助列,可能要用两个辅助列,第一个辅助列公式:=countif($A$1:A1,A1) 这个公式中,A1是其中第一个收信人或地址,意思是统计这个区域中有多少个A1,通过下拉复制公式,凡是重复的收信人统计出来的值都大于1,用这个判断是否重复,就可以用筛选大于1的删除重复行了;然后第二个地址也是一样的操作,看这样合适你的要求吗?
不是一个个复制,你下拉的时候就整列复制了,然后随着你拉动的过程A1会变成A2,不过由于$A$1是绝对引用,随着区域的扩大,重复项的累计就会变成2,3,你先试一下看!
不是一个个复制,你下拉的时候就整列复制了,然后随着你拉动的过程A1会变成A2,不过由于$A$1是绝对引用,随着区域的扩大,重复项的累计就会变成2,3,你先试一下看!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼主,我回答过跟您问题相类似的删除重复行的例子,现将VBA代码再发过来,您只需要按一个键,所有重复的就会被清掉。
Dim i As Long
Dim j As Long
Dim k As Long
Dim c As Integer
k = Range("A65536").End(xlUp).Row
i = 2
Do While i <= k
For j = 1 To i - 1
c = 0
If Cells(i, 1).Value = Cells(j, 1).Value Then
c = c + 1
End If
If Cells(i, 2).Value = Cells(j, 2).Value Then
c = c + 1
End If
If Cells(i, 3).Value = Cells(j, 3).Value Then
c = c + 1
End If
If Cells(i, 4).Value = Cells(j, 4).Value Then
c = c + 1
End If
If Cells(i, 5).Value = Cells(j, 5).Value Then
c = c + 1
End If
If c = 5 Then
ActiveSheet.Rows(i).EntireRow.Delete
i = i - 1
k = k - 1
Exit For
End If
Next j
i = i + 1
Loop
以上代码,是检查ABCDE五列每一行的值,所有第二个完全相同的就会被删除.
上述代码使用方法如下:
录制宏:菜单"工具"->宏->录制宏)--> "宏名"处给宏取名字->设定快捷键,"快捷键"下面输入一个字母-->确定后开始录制宏。
编辑宏:开始录制后即可直接按停止键, 然后编辑宏(工具->宏->宏(M)->选择刚建那个宏->点右边的"编辑"按钮-->进入宏编辑界面-->删除Sub XXX 至 End Sub之间所有内容-->然后粘贴上述程序代码-->按工具栏上的"保存"按钮-->"文件"菜单-->关闭并反回MicorSoft Excel
执行宏: 按刚刚设定的快捷键(Ctrl+那个字母), 或者通过菜单"工具"-->宏-->宏(M)-->窗口上选宏名, 按"执行"按钮执行宏.
楼主,如果仍有关于这段代码的使用问题,请HI我。
Dim i As Long
Dim j As Long
Dim k As Long
Dim c As Integer
k = Range("A65536").End(xlUp).Row
i = 2
Do While i <= k
For j = 1 To i - 1
c = 0
If Cells(i, 1).Value = Cells(j, 1).Value Then
c = c + 1
End If
If Cells(i, 2).Value = Cells(j, 2).Value Then
c = c + 1
End If
If Cells(i, 3).Value = Cells(j, 3).Value Then
c = c + 1
End If
If Cells(i, 4).Value = Cells(j, 4).Value Then
c = c + 1
End If
If Cells(i, 5).Value = Cells(j, 5).Value Then
c = c + 1
End If
If c = 5 Then
ActiveSheet.Rows(i).EntireRow.Delete
i = i - 1
k = k - 1
Exit For
End If
Next j
i = i + 1
Loop
以上代码,是检查ABCDE五列每一行的值,所有第二个完全相同的就会被删除.
上述代码使用方法如下:
录制宏:菜单"工具"->宏->录制宏)--> "宏名"处给宏取名字->设定快捷键,"快捷键"下面输入一个字母-->确定后开始录制宏。
编辑宏:开始录制后即可直接按停止键, 然后编辑宏(工具->宏->宏(M)->选择刚建那个宏->点右边的"编辑"按钮-->进入宏编辑界面-->删除Sub XXX 至 End Sub之间所有内容-->然后粘贴上述程序代码-->按工具栏上的"保存"按钮-->"文件"菜单-->关闭并反回MicorSoft Excel
执行宏: 按刚刚设定的快捷键(Ctrl+那个字母), 或者通过菜单"工具"-->宏-->宏(M)-->窗口上选宏名, 按"执行"按钮执行宏.
楼主,如果仍有关于这段代码的使用问题,请HI我。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
例如收信人和地址在AB列
选中AB列,数据-筛选-高级筛选
注意是选中AB列筛选,不要扩展数据区域
勾选,选择不重复的记录.
然后把筛选结果复制到新的表中.
刚看到"收信人或地址,只要有一个是重复的就删除重复的,保留一项! ",你意思是说"相同的地址但不同的收信人"也要删除一个?你的要求有点自相矛盾啊
实在不行,HI我吧
子易空间站 - Excel培训专家
选中AB列,数据-筛选-高级筛选
注意是选中AB列筛选,不要扩展数据区域
勾选,选择不重复的记录.
然后把筛选结果复制到新的表中.
刚看到"收信人或地址,只要有一个是重复的就删除重复的,保留一项! ",你意思是说"相同的地址但不同的收信人"也要删除一个?你的要求有点自相矛盾啊
实在不行,HI我吧
子易空间站 - Excel培训专家
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我帮你解释一下吧,用xiworld 的方法部分可以的,首选增加辅助列=countif($A$1:A1,A1) ,用以判断表格中有多少重复值,比如你说的企业的地址,如果有重复的,辅助列返回的数字是大于1的,全部判断完毕后,辅助列就显示了如1、2、3、1、1……数据,这些数据如果是1就表明是唯一的,如果大于1,说明是有重复的,然后你用自动筛选,以辅助列为基准,将大于2的全部选出来,当然,不能全部删除,全部删除的话你不是连一条都没了吗?所以,辅助列是2的你删除1行,是3的你删除2行……这样就行了吧?
excel中的函数只有返回,没有自动删除的功能,想自动删除你就死心吧。通过这些步骤已经帮你提高了不少效率了
excel中的函数只有返回,没有自动删除的功能,想自动删除你就死心吧。通过这些步骤已经帮你提高了不少效率了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询