你的位置:论文发表 >> 论文下载 >> 计算机论文 >> 计算机理论 >> 详细内容 在线投稿

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

浏览190次 时间:2015年11月16日 16:48

□马红旭 内蒙古师范大学数学科学学院

【摘要】 文章讨论的问题是对具有庞大数据量的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.

TAG: Excel 记录
上一篇 下一篇

论文发表与咨询

论文发表 写作指导 职称论文 毕业论文 客服联系方式:
投稿信箱:lunww@126.com
在线咨询客服QQ:站点合作85782530
在线咨询客服QQ:站点合作82534308
联系电话:18262951856
点击进入支付宝支付(支付宝认可网络诚信商家)
点击进入财付通支付(财付通认可网络诚信商家)
点击进入支付方式---->>>>

论文发表 诚信说明

论文发表 论文投稿 热点图片