返回目录:excel表格制作
1、以excel2010版本为例,如百图要检查A列的姓名里有没有重复项,首先选中A列的数据;
2、然后在开始度菜单栏下面,右边找到“条件格式”,点击后在弹出问框里选择“突出显示单元格规则”,再在弹出框里选择“重复值答”;
3、就会弹出一个重复值的设置框,右边的设置默认为版浅红填充色深红色文本,如果不需要重新权设置的话就直接点框里的确定按钮则可;
4、就会看到A列姓名里有重复值的都变成浅红填充色深红色文本了。
实现方式如下:
Dim cnn As Object, rs As Object, SQL$, i&, s$
Set cnn = CreateObject("ADODB.Connection")
cnn.Open "Provider=Microsoft.Jet.Oledb.4.0;data Source=" & ThisWorkbook.Path & "\排课数据.mdb"
SQL = "Select 星期&节&班级,count(星期&节&班级) from 排课 where 星期 is not null group by 星期&节&班级 having count(星期&节&班级)>1"
Set rs = CreateObject("ADODB.Recordset")
rs.Open SQL, cnn, 1, 3
If rs.RecordCount Then
For i = 1 To rs.RecordCount
s = s & vbCrLf & "星期" & rs.Fields(0) & "班,重复次数:" & rs.Fields(1)
rs.MoveNext
Next
MsgBox "有" & rs.RecordCount & "条记录重复:" & s
Else
MsgBox "没有发现重复记e79fa5e98193e59b9ee7ad94331录"
End If
rs.Close
cnn.Close
Set rs = Nothing
Set cnn = Nothing
End Sub
1。删除全部重复记录(慎用)
Delete 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1)
2。保留一条(这个应该是大多数人所需要的 ^_^)
Delete HZT Where ID Not In (Select Max(ID) From HZT Group By Title)
注:此处保留ID最大一条记录
3、查找表中多余的重复记录(多个字段)
select * from vitae a
where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录
delete from vitae a
where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)
材料/工具:抄excel2010
1、打开excel2010表格,例如要找到这一列表数据中的所有的重复值 。
2、接着点击表格左上角的开始菜单按钮
3、然后找到“条件格式袭”这个zhidao菜单,这个菜单在开始菜单下,靠中间的位置。
4、设置让重复值突出显示,这样就很方便的看到重复数据了。
5、给重复值设置一个特定的格式,比如浅黄色的背景,或者红色的背景等。
6、最后重复值就很明显的被标明出来了。
excel中假设在A列需要找到相同数值的单元格,在B1输入以下公式
=IF(COUNTIF($A$1:A1,A1)>1,"重复","0")。
然后往下拖,只要是重复,后面就会显示“重复”两个字,显示0的就是不重复,一目了然。
如果要删除重复的行,那么继续做完上面的以后,按下面的步骤:
1、选中B列复制,再依次点击编辑、选择性粘贴,选中数值,确定。
2、Ctrl+H替换窗口,把重复两个字替换为空(就是“替换为”那里什么也不输入),全部替换。
3、依旧选中B列,按F5,在跳出窗口的左下角点击定位e79fa5e98193e4b893e5b19e365条件,选择空值,确定。
4、依次点击编辑,删除,选择整行,确定。
用vba 删除重复的行。
Sub 删除重复行2()。
Dim rCell As Range, rRng As Range, dRng As Range
On Error Resume Next
Application.ScreenUpdating = False
Set rRng = Range("A1:A" & Range("A65536").End(xlUp).Row)
rRng.AdvancedFilter Action:=xlFilterInPlace, unique:=True
For Each rCell In rRng
If rCell.EntireRow.Hidden = True Then
If dRng Is Nothing Then
Set dRng = rCell.EntireRow
Else
Set dRng = Application.Union(dRng, rCell.EntireRow)
End If
End If
Next
If Not dRng Is Nothing Then dRng.Delete
ActiveSheet.ShowAllData
Application.ScreenUpdating = True
End Sub