張安慶(太谷縣職工學校 山西 太谷 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版本的不同,其菜單的多少有所不同,個別菜單的形式也略有變化。但這并不影響使用,我們只需選擇其中一種適合自己的方法即可實現目標。