EXCEL如何自动删除重复数据但保留相应的单元格
各位EXCEL高手,菜鸟请教。就是在excel的一行中输入数据,比如每个单元格中都是五位数,当其中的一个数在下面任意的某单元格被重复输入时,怎样让这个数在前面已经出现的位...
各位EXCEL高手,菜鸟请教。就是在excel的一行中输入数据, 比如每个单元格中都是五位数,当其中的一个数在下面任意的某单元格被重复输入时,怎样让这个数在前面已经出现的位置自动消失,但是要保留相应的单元格。也就是指只删除单元格内数据但是不删除单元格。我知道可以用筛选功能筛选后删除前面所有重复的数据,但是工作量小时还行得通,量大了就不行了。因此请教各位,请不吝赐教。我刚注册,悬赏分只有25分,全部(不足30分,系统只认20分)送给帮我解决问题的高手,本人是重庆人,以后有缘来重庆,我定请他吃地道的重庆火锅!!!
展开
5个回答
展开全部
假如你的数据在A列。第一个工作表名称是sheet1
1、摁下alt+F11,进入VBA编辑器。
2、在左上角的工程资源管理器里面双击sheet1(sheet1),在右侧的代码区粘贴如下代码
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
For i = 1 To Range("a65536").End(xlUp).Row - 1
If Range("a" & i) = Target And Range("a" & i) <> "" Then
Range("a" & i).ClearContents
End If
Next
End If
End Sub
3、关闭VBA编辑器,保存EXCEL文件。
4、在A列输入数据试试。
5、说明:
如果你的数据在B列,把代码
If Target.Column = 1 Then改成
If Target.Column = 2 Then
把所有的"a"改成"b"
1、摁下alt+F11,进入VBA编辑器。
2、在左上角的工程资源管理器里面双击sheet1(sheet1),在右侧的代码区粘贴如下代码
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
For i = 1 To Range("a65536").End(xlUp).Row - 1
If Range("a" & i) = Target And Range("a" & i) <> "" Then
Range("a" & i).ClearContents
End If
Next
End If
End Sub
3、关闭VBA编辑器,保存EXCEL文件。
4、在A列输入数据试试。
5、说明:
如果你的数据在B列,把代码
If Target.Column = 1 Then改成
If Target.Column = 2 Then
把所有的"a"改成"b"
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先,我觉得柯南的程序编译在我之上,但我试了,不是想要的结果,它将最前面的数字清空了,而保留了最后的数据,不懂
我教你一个笨又可行的方法
比如你要将A例后面相同的数据去掉,
1.在B例输入公式"=COUNTIF(A1,A$1:A1)"
2.然后将公式复制到A例有数据的地方,选定全部公式区域复制成数值
3.筛选-自动筛选
4.将大于1的数据全部清空,方法就是全部选定,右键"清空内容",或者直接按"Delete"键
试试看能否帮到你
我教你一个笨又可行的方法
比如你要将A例后面相同的数据去掉,
1.在B例输入公式"=COUNTIF(A1,A$1:A1)"
2.然后将公式复制到A例有数据的地方,选定全部公式区域复制成数值
3.筛选-自动筛选
4.将大于1的数据全部清空,方法就是全部选定,右键"清空内容",或者直接按"Delete"键
试试看能否帮到你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先输入你的数据,不用管重复,都完成后在旁边空列里输入(假设空列是B列)在B2输入,=if(countif($a$1:a1,a1)=1,"","重复")然后往下填充
这样你筛选“重复”删除就可以了
这样你筛选“重复”删除就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不怕数据大时运行费时间的话用VBA编程吧,做个循环,从最后一行到第一行, 每行每个数据都去查之前有没重复的,有就把那单元格数据清了。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询