Excel 整理重复数据记录的方法

作者:马红旭时间:2015-11-07 14:54:12  来源:www.ksfbw.com  阅读次数:1138次 ]

【摘要】 文章讨论的问题是对具有庞大数据量的Excel 电子表中出现的重复记录,提出了有效的标记和删除办法。

 

【关键词】 Excel 重复数据记录 标记 删除

 


引言

 

在对数据量比较庞大的Excel 电子表维护过程中,我们以管理学校学籍数据信息为例,经常会遇到这样一个问题, 就是需要查找出同一个工作簿内多个不同工作表中,学号、姓名或者其它字段相同的重复记录。要求先把它们显示出来,然后再用人工或自动方法进行删除。由于数据量很大,人工查找删除又费时费力,而简单合并成一个工作表又有可能造成数据混乱,所以,这里我们将给出Excel 整理重复数据记录的方法。

 

一、Excel 数据源备份

 

为防止数据丢失,可以先插入若干工作表,复制数据源所有数据在这些表中,使数据源得到备份。

 

二、查找、标记重复记录

 

打开工作表数据,我们可以根据电子表中每个字段名,逐列排查重复记录。这里以检测A 列为例,首先在A 列右侧先插入一列,得到B 列作为标记列,然后在B1 单元格中输入公式:=IF(ROW()=MATCH(A1,A:A,0),1,重复),函数MATCH 的作用是对整个A 列(A:A)进行查找,如果第一次查找到A1 值,则使对应B1 单元内容等于1,如果是第二次或第N 次查找到A1 值,则在右侧B 列标记列对应单元中写入重复字样。

 

然后按照记录个数需要,向下拖动B1 单元右下角的复制句柄,使B2B3Bn 得到相应的值,Bn 单元格中公式内容为:=IF(ROW()=MATCH(An,A:A,0),1, 重复), 其中An 依次代表A1 An 单元的值。

 

而公式中A:A 表示检测整个A 列,这里应该注意A 列数据应尽量不为空。如果是A 列某一段区域, 用户还可以根据需要自行修改,比如写成A2:A10,表示只检查A2 A10 单元的数据有没有重复。

 

这时再仔细观察新的标记列B 列所有数据,它们的值分别为1 或者重复字样,具有重复字样的记录,就是我们标记的多余重复记录,稍后需要用户删除。

 

当然,我们还可以使用COUNTIF()函数,在B1 单元格中输入公式:=IF(COUNTIF(A$2:A6,A6)>1,重复,1),再依据A 列记录个数的需要向下拖动B1 单元格右下角的复制句柄,同样可以达到查找、标记重复记录的目的,这两种标记方法既简单又非常有效。

 

三、删除带有重复标记的所有记录

 

经过上述处理之后,所有多余的重复记录就都被我们标记出来了,接下来的任务是把所有带重复标记的记录删除。由于手工删除工作量可能太大,又容易出错,所以这里我们启动vba,运行如下程序,让计算机对默认工作表sheet1 自动完成删除多余记录的任务。

 

Sheet1 删除重复记录程序代码如下:

 

Subrt()

 

DimiAsInteger

 

Fori=10To1Step-1i 初值可以取其它值

 

IfApplication.WorksheetFunction.CountIf(

 

Cells(i,2),重复)ThenRows(i).Delete

 

查找同行B 列中等于重复值,找到则删除该行记录

 

Nexti

 

End

 

另外,稍加修改上述程序,我们就可以对同一个工作簿中其它张工作表(以sheet3 为例)中的重复记录,进行相同的删除操作。该程序中还考虑到个别复杂情况下,用户有可能对工作表中若干列都进行过重复记录标记工作,其中某几列同时做过标记才能删除,这里用户只需要修改if 语句中逻辑表达式即可完全任务。至此,工作表中所有多余记录都被删除,最后删除标记列B 列。

 

程序代码如下:

 

Subrt()

 

DimiAsInteger

 

Fori=10To1Step-1循环

 

IfSheet3.Cells(i,4)= 重复AndSheet3.Cells(i,5)= 重复ThenSheet3.Rows(i).Delete

 

查找sheet3 中同行第4 列和第5 列同时等于重复 字样,找到则删除该行记录

 

Nexti

 

EndSub

 

四、综述

 

利用上述方法,我们把Excel 所有重复数据记录找出并删除了,问题得到解决,该方法省时省力,安全高效,对于大型工作表数据维护的意义非常重大。

参 考 文 献

[1] 谭浩强等编著.VisualBasic 语言教程[M]. 北京:电子工业出版社,2000.10

 

[2] 周维武等编著. 计算机基础教程(第3 版)[M]. 北京:电子工业出版社,2008.

 

[3] 李飞,廖琪梅,何鑫主编. 计算机应用新教程[M]. 西安:西安电子科技大学出版社,2004.

[2] 周维武等编著. 计算机基础教程(第3 版)[M]. 北京:电子工业出版社,2008.

 

[3] 李飞,廖琪梅,何鑫主编. 计算机应用新教程[M]. 西安:西安电子科技大学出版社,2004.

本站论文资源均为来自网络转载,免费提供给广大作者参考,不进行任何赢利,如有版权问题,请联系管理员删除! 快速论文发表网(www.ksfbw.com)本中心和国内数百家期刊杂志社有良好的合作关系,可以帮客户代发论文投稿.

投稿邮箱:ksfbw@126.com
客服Q  Q: 论文发表在线咨询82702382
联系电话:15295038833

本站论文资源均为来自网络转载,免费提供给广大作者参考,不进行任何赢利,如有版权问题,请联系管理员删除!

广告推荐

文章评论

共有 0 位网友发表了评论

阅读排行

推荐文章

最新文章