张安庆(太谷县职工学校 山西 太谷 030800)
在实际使用中主要分两种情况,一种是在空白表录入数据之前进行设置,防止录入重复数据;另一种情况是从表里清除已有的重复数据。下面就结合实例进行叙述:
1.1运用数据“有效性”功能。如下图一,选中姓名一列,打开菜单:数据→有效性→设置→允许→自定义→公式:输入公式:=COUNTIF($A:$A,A1)<2(有的excel版本不能防止身份证号或者银行卡号重复,就改用下面公式:=MATCH(A1,A:A,0)=ROW(A1),单击确定按钮,提示公式出错,继续单击确定,可以正常使用)。
输入重复时的警示:数据→有效性→出错警告:⑴中止:不允许录入重复的数据;⑵警告:允许录入重复数据;⑶信息:只是提醒,并且可以录入重复数据。上述情况均可自定义警示信息。
实际结果如图一所示。
注意:在设置了防止重复的列中,只能输入数据,不可以使用粘贴。
1.2运用“条件格式”功能。如图二,选中身份证号一列,选择菜单:格式→条件格式→新建规则→仅对唯一值或重复值设置格式→重复→格式→填充→橙色→确定→条件格式管理器→如果为真则停止(设置警示方式:勾选则为禁止重复,不勾选则为警告)→确定。结果如图二。
在Excel2007中,“条件格式管理器”被单独列出,菜单位置:格式→条件格式管理器。
2.1使用“高级筛选”功能。如下图三,首先选择需要去除重复数据的列,可以是任意个,这里选中A列和C列。然后打开菜单:数据→筛选→高级筛选:“列表区域”为A1:D6,“条件区域”空着,勾选“选择不重复的记录”。如图三所示:
上表中A列和C列均重复的有第5行与第3行,单击确定按钮以后,第5行被隐藏,将此清单复制到别处即可得到无重复记录的数据清单。
如果选择了全部字段列,即是要删除完全相同的记录行,这时也可以勾选“将筛选结果复制到其它位置”,将在指定位置得到无重复的数据清单。
注:此法只保留重复记录行中的第一行。
2.2使用“删除重复项”功能。将活动单元格定位在数据清单中,打开菜单:数据→删除重复项,如图四。
可以勾选任意个字段,图四中姓名和录取专业均重复的有第3行和第5行,单击确定按钮以后,将删除第5行,就得到删除重复行之后的数据清单。
注:此法只保留重复记录行中的第一行;本功能适用于Excel2007及其以后版本。
2.3使用“统计函数”功能。首先将需要去重的字段合并为一个(如果只对一列去重,就不需要合并,直接对此列运算即可),例如:将A1B1C1三格合并至D1,在D1单元格中输入公式:=A1&B1&C1,然后向下复制填充,将每条记录中三个字段内容合并在各自相应的单元格中。然后在E2单元格中输入函数:=COUNTIF(D2:D$7,D2),在此特别强调函数中绝对引用符号$的使用位置。将公式向下复制填充,得到图五所示的结果:
请注意上面公式中的D$7,在向下复制公式时,它是固定不变的,它定义了COUNTIF函数的查找区域为本单元格及其以下的各个单元格。因此在第3行,会找到3条与“白琪女工商管理”相同的记录,而在第5行只找到2条与之重的记录,在第7行的重复数为1。这样在E列的运算结果中大于等于2的记录都是重复行,用E列排序,即可将重复行删除。
由于Excel版本的不同,其菜单的多少有所不同,个别菜单的形式也略有变化。但这并不影响使用,我们只需选择其中一种适合自己的方法即可实现目标。