EXCEL中如何根据某列找到重复的行,并将重复只保留一条其余的删除?

发布网友 发布时间:2022-03-28 06:38

我来回答

8个回答

懂视网 时间:2022-03-28 11:00

excel删除重复数据保留一条:

电脑:

产品名称:华硕笔记本

产品型号:ASUS U4700I

系统版本:Windows 10  

软件版本:excel 2016

1.在电脑上打开需要删除重复数据的excel表格。

2.选中需要删除重复内容的数据列,在菜单栏中点击“数据”。

3.点击“删除重复值”,在删除重复值的弹窗中点击“全选”。

4.点击“确定”,可发现已成功删除重复数据只保留一个。


总结

1.打开需要删除重复数据的excel表格。

2.选中需要删除重复内容的数据列,点击“数据”。

3.点击“删除重复值”,在弹窗中点击“全选”。

4.点击“确定”,即可删除重复数据只保留一个。

热心网友 时间:2022-03-28 08:08

看看示范例子,打开的时候选择启动宏(数字证书),可以实现你要的目的的,如果有什么疑问,可以联系QQ 399001
http://www.win-club.net/ray/del.xls

-----

用宏处理这样的问题相对方便一点,有兴趣试试:

一、按ALT+F11 打开VB编辑器

二、双击左边靠上的【工程资源管理器】中的【MS Excel 对象】中的ThisWorkbook,在右边的代码窗口贴入下面的代码:

Sub 删除重复数据()
'以col列为条件删除的重复行数据
'本例是删除标题为sheet1的EXCEL表中以A列(从A2单元格开始)为条件的重复韩国数据
Application.ScreenUpdating = False
'可根据实际情况修改下面三行的结尾值
Dim sheetsCaption As String: sheetsCaption = "Sheet1"
Dim Col As String: Col = "A"
Dim StartRow As Integer: StartRow = 2

'以下不需要修改
Dim EndRow As Integer: EndRow = Sheets(sheetsCaption).Range(Col & "65536").End(xlUp).Row
Dim Count_1 As Integer: Count_1 = 0
Dim count_2 As Integer: count_2 = 0
Dim i As Integer: i = StartRow

With Sheets(sheetsCaption)

Do
Count_1 = Count_1 + 1
For j = StartRow To i - 1
If .Range(Col & i) = .Range(Col & j) Then
Count_1 = Count_1 - 1
.Range(Col & i).EntireRow.Delete
EndRow = Sheets(sheetsCaption).Range(Col & "65536").End(xlUp).Row
i = i - 1
count_2 = count_2 + 1
Exit For
End If
Next
i = i + 1
Loop While i < EndRow + 1
End With

MsgBox "共有" & Count_1 & "条不重复的数据"
MsgBox "删除" & count_2 & "条重复的数据"
Application.ScreenUpdating = True
End Sub

三、回到EXCEL表,运行菜单 【工具】-【宏】-【宏】,选择 删除重复数据 这条宏,然后按执行。

这里有示范例子:
http://www.win-club.net/ray/del.xls

注:为方便,我添加了一个按钮的控件执行这个宏,你点击按钮就可以看到结果了,第二个表有原始数据。

热心网友 时间:2022-03-28 09:26

可用以下两种方法(假定数据在A列A1:A100):
方法一:直接将不重复数据挑出。
1、在一空白列第一行输入公式:
=index(a:a,small(if(match(a$1:a$100,a$1:a$100,)=row($1:$100),row($1:$100),4^8),row(a1)))&"" 按组合键ctrl+shift+enter结束公式,下拉填充至出现空白。
2、选定下拉填充形成的数据,在其上点鼠标右键——“复制”,再在选定的单元格上点鼠标右键——“选择性粘贴”——“数值”,“粘贴”处选择“无”——“确定”。
3、删除原A列。
方法二:先标记重复数据,再一次性删除。
1、在一空白列第一行输入公式:
=if(countif(a$1:a1,a1)<>1,1,"") 下拉填充。
2、删除所有下拉值为1的行。

热心网友 时间:2022-03-28 11:00

建议两种方法供你参考:
一、用数据透视表,把你要只留一条的列作为数据透视表的行标题就可以,然后把数据透视表的行标题拷出来,再用VLOOKUP提取其它信息什么的

!!!!!!!!!!(呀,不好意思,原来这里的公式敲错了)!!!!!!!!!!!!
二、在最后一列增加一个判断列,假设第一行为标题行,你要处理A列,末行是第n行,则用=IF(COUNTIF(A2:$A$n,A2)>1,"删除","保留"),然后向下填充,再用筛选,把内容为“删除”的行删掉即可

注意:=IF(COUNTIF(A2:$A$n,A2)>1,"删除","保留")是判断是否删除的条件,假设最后一行是第20行,且第10行与第2行重复,这时第2行单元格里的公式就会是=IF(COUNTIF(A2:$A$20,A2)>1,"删除","保留"),COUNTIF的值就是2,整个公式的结果就是“保留”,第10行单元格里的公式就会是=IF(COUNTIF(A10:$A$20,A10)>1,"删除","保留"),COUNTIF的值就是1,整个公式的结果就是“删除”

这样就可以保留最后一次出现的重复行了,如果要保留第一次出现的行,就把结果中的“删除”和“保留”换个个或改一下条件就行了
你也可以固定第2行即=IF(COUNTIF($A$2:$A2,A2)>1,"删除","保留")

热心网友 时间:2022-03-28 12:52

在A2输入
=COUNTIF(A$1:A1,A2)
向下复制公式,>0的删除.

这个公式只计算当前行的前面是否有重复。
注意:"A$1:A1"里$的用法、在向下复制公式时的效果.
效果是将重复只保留第一条其余的删除.

热心网友 时间:2022-03-28 15:00

我以前回答别人的:

http://zhidao.baidu.com/question/12942084.html

这个问题在acess更好解决,如果用excel,你可以这样:
1.将全部数据按大小排列,这样相同的就到一起了.
2.在旁边的列中输入公式:如b2中输入if(a2=a1?1,0),就是说a列中,如果连续的行相同,则b为1,否则为0.
3.按b列对数据排列,删掉b=0的列---把不重复的数字筛选去掉
4.再用上面方法,反过来,可以删掉重复的组.

热心网友 时间:2022-03-28 17:24

lmbuaa - 魔法师 四级 10-15 17:34

二、在最后一列增加一个判断列,假设第一行为标题行,你要处理A列,则用=IF(COUNTIF($A$2,A2)>1,"删除","保留"),然后向下填充,再用筛选,把内容为“删除”的行删掉即可

这样行吗?那所有重复的都会被删除 一个都不能保留。。。

热心网友 时间:2022-03-28 20:06

数据筛选 高级筛选

选择不重复
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com