打印

[求助] 电子表格2003数据重复问题

0
在EXCEL表格里,
1,把有重复数据的一列,框先起来;选中:列表区域
2,在工具栏,选项中:数据--筛选--高级筛选---方式{选将筛选结果复制到其他位置}
3,看一下,列表区域,是不是:有重复数据的那列,不是,可点红色小箭头,在EXCEL表中选中,
4,条件区域,也可以选 一般是跟上面:列表区域一样,
5,复制到:在你列表区域后面,再另选一列(一会就是新的数据,不重复的)
6,在:选择不重复的记录 ,打勾,
7,确定,OK了,是不是
本帖最近评分记录
  • 那成 金币 +5 认真回复,奖励! 2013-11-28 17:12

TOP

0
1、用公式:=COUNTIF($A$1:A1,A1)
A代表你要查找的那一重复列,往下拖,就发现有数字1的就是不重复的,大于1的数字就是重复数字,在排序一下最后结果,把重复的数字删掉就可以了
2、用,数据 高级筛选 删除重复数据
本帖最近评分记录
  • 那成 金币 +3 认真回复,奖励! 2013-11-28 17:13

TOP

0
直接在姓名那列按排序 然後一直看下去就行
如果你會寫程式碼的話,
用temp暫存 然後寫兩個for迴圈也可以0 0

TOP

0
我有个方法不知道使用方便不方便,首先按照身份证号进行排序,然后在排序好的表基础上新增加一列X作为插入If函数,例如身份证号所在列为A,那么X列的内容就是if(A(N)=A(N-1),则X(N)=1,否则=0,下拉填入所有的X列后,将X=1的行筛选出来,删了就行了。
本帖最近评分记录
  • 那成 金币 +5 认真回复,奖励! 2013-12-3 00:05

TOP

0
其实这个可以做宏来搞定这类事,现在简单点用公式解决,楼主你也按身份证号排序(姓名也可能重复),然后在新的一栏输入以下公式(假设第一行为标题,从第二行开始,同时假设A列为身份证号)=if(a2=a1,"重复",""),将公式填充至最后一行,然后你筛选删除出现重复的就是了。
本帖最近评分记录
  • 那成 金币 +5 认真回复,奖励! 2013-12-5 14:44

TOP

0

不单会下片,还会写写码 百分百的原创

打开工具里面的宏。粘贴进去就可以运行了。

Sub perfect()
    '输入
    Dim userInput
        userInput = Application.InputBox("输入需要检查的起始行,结束行,以及需要判断的列,格式如 2,20,C,B")
   
    Dim arrUserInput
        arrUserInput = Split(userInput, ",")
        
     Dim theColumn
          theColumn = arrUserInput(2)
        'theColumn = Asc(arrUserInput(2)) - 64   '进行检验的列

    Dim theStart
        theStart = arrUserInput(0)  '起始行
        
    Dim theEnd
        theEnd = arrUserInput(1) '最后一行的号码.

       If theStart <= 1 Then
       MsgBox "起始行要求大于1"
        End
       End If
      
   
    Dim i   '每一行的号码
    Dim j   '
   

      '排序
                '删除重复行
         
       For i = theStart To theEnd
        For j = i + 1 To theEnd '从当前行至结尾.
             If Cells(i, theColumn) = Cells(j, theColumn) Then
                 Rows(j).Delete
             End If
         Next
       Next
        '删除重复行
End Sub
这是我写的一个宏。适当修改就可以处理你的问题了。运行的时候会卡住。不是死机。耐心等待。

[ 本帖最后由 jaunthe 于 2013-12-5 18:35 编辑 ]
本帖最近评分记录
  • 那成 金币 +5 认真回复,奖励! 2013-12-5 18:54

TOP

0
如果只做这一次的话可以在表格中插入一列,在该列中输入=COUNTIF($A$1:$“表格最后一列列标”$“表格最后一行行标”,A1)
,最后将新插入的这一列进行降序排列,(从复的部分就在上面了)
如果要长期从事此工作,最好弄一个专用的宏
Sub 查找与删除重复数据2() '查找与删除col列的重复数据'
Application.ScreenUpdating = False  
'可根据实际情况修改下面三行的结尾值'
Dim sheetsCaption As String: sheetsCaption = "Sheet1"
Dim Col As String: Col = "C"  
Dim StartRow As Integer: StartRow = 4
'以下不需要修改'
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 WorksheetFunction.Trim(Format(.Range(Col & i), "<")) = WorksheetFunction.Trim(Format(.Range(Col & j), "<")) Then  
Count_1 = Count_1 - 1  
.Range(Col & i).EntireRow.Delete

.Range(Col & i).Select  

.Range(Col & i).Font.ColorIndex = 3

.Range(Col & j).Font.ColorIndex = 4  

ActiveCell.FormulaR1C1 = ActiveCell.FormulaR1C1 + "[#]"

MsgBox "第" & i & "与第" & j & "条数据重复"  
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  


这编辑模式写着真累
可能有空格或'的错误,用的时候需要排查下,也可以把注释删了在用
本帖最近评分记录
  • 那成 金币 +5 认真回复,奖励! 2013-12-5 23:49

TOP

0
正在学习呢!!~~~谢谢 各位大虾

TOP

0
重复行删除的问题还要用VBA??牛刀用在蚂蚁身上了。
07及以上版本,直接在数据选项中使用删除重复项即可
03版本,可以用countif函数:假设A列为姓名,B列为身份证,数据起始行为第2行,则
C列公式写为
=countif(a:a,a2)    或      =countif(b:b,b2)
第一个公式表示用姓名来查找是否重复(所以若有重名就要注意排除了),第二个公式表示用身份证号来查找是否重复,这个应当说才是更好的选择,因为身份证号不会重复,不过我不相信你们几千个号码不会录错,嘿嘿。
结果若大于1,即代表重复行,筛选出来选择性删除即可。
本帖最近评分记录
  • 那成 金币 +6 认真回复,奖励! 2013-12-6 22:26

TOP

0
我觉得用多重排序能解决。
不过有一个简单的办法…找个安装了office2007的电脑,打开你现在的文件。里面有个条件格式的功能可以自动给重复值加标记。
本帖最近评分记录
  • 那成 金币 +3 认真回复,奖励! 2013-12-8 17:47

TOP

当前时区 GMT+8, 现在时间是 2025-3-12 14:53