位置:首頁 > 軟件操作教程 > 辦公軟件 > Excel > 問題詳情

Excel 2010中去除重復(fù)項(xiàng)的幾種常用技巧

提問人:周麗平發(fā)布時間:2021-09-03

重復(fù)項(xiàng),通常是指在Excel 2010中某些記錄在各個字段中都有相同的內(nèi)容(縱向稱為字段,橫向稱為記錄),例如下面圖中的第三行數(shù)據(jù)記錄和第五行數(shù)據(jù)記錄就是完全相同的兩條記錄,除此以外還有第六行和第十行也是一組相同記錄。

image.png

在另外一些場景下,用戶也許會希望找出并剔除某幾個字段相同的但并不完全重復(fù)的“重復(fù)項(xiàng)”,例如下面圖中的第7行記錄和第12行記錄中的【姓名】字段內(nèi)容相同,但其他字段的內(nèi)容則不完全相同。

image.png

以上這兩種重復(fù)項(xiàng)的類型有所不同,在剔除操作的實(shí)現(xiàn)上也略有區(qū)別,但本質(zhì)上并無太大差別,可以互相借鑒參考。下面將以這兩種場景為例,介紹幾種常用的刪除重復(fù)項(xiàng)操作技巧。

1、刪除重復(fù)項(xiàng)

【刪除重復(fù)項(xiàng)】功能是Excel 2007版本以后新增的功能,因此適用于Excel 2007及其后續(xù)版本。

將活動單元格定位在數(shù)據(jù)清單中,然后在功能區(qū)上依次單擊【數(shù)據(jù)】——【刪除重復(fù)項(xiàng)】,會出現(xiàn)【刪除重復(fù)項(xiàng)】對話框。

對話框中會要求用戶選擇重復(fù)數(shù)據(jù)所在的列(字段)。假定我們將“重復(fù)項(xiàng)”定義為所有字段的內(nèi)容都完全相同的記錄,那么在這里就要把所有列都勾選上。而如果只是把某列相同的記錄定義為重復(fù)項(xiàng),例如文章開頭所提到的第二種場景情況,那么只需要勾選那一列字段即可。

image.png

在勾選所有列以后,單擊【確定】按鈕,就會自動得到刪除重復(fù)項(xiàng)之后的數(shù)據(jù)清單,剔除的空白行會自動由下方的數(shù)據(jù)行填補(bǔ),但不會影響數(shù)據(jù)表以外的其他區(qū)域。效果如下圖所示:

image.png

2、高級篩選

在2007版出現(xiàn)以前,【高級篩選】功能一直是刪除重復(fù)項(xiàng)的利器。

將活動單元格定位在數(shù)據(jù)清單中,然后在功能區(qū)上依次單擊【數(shù)據(jù)】——【高級】(2003版本中的操作路徑是【數(shù)據(jù)】——【篩選】——【高級篩選】),會出現(xiàn)【高級篩選】對話框。

對話框中會要求用戶指定列表區(qū)域,就是數(shù)據(jù)清單所在的單元格區(qū)域,默認(rèn)情況下會自動生成。篩選方式上一般選擇“將篩選結(jié)果復(fù)制到其他位置”,以方便刪除重復(fù)項(xiàng)以后的處理操作。指定這種方式以后,對話框中會要求用戶指定“復(fù)制到”哪里,也就是刪除重復(fù)項(xiàng)以后的數(shù)據(jù)清單放置位置,用戶指定其左上角單元格的位置即可,在這個例子中我們設(shè)定為E1單元格。最后一項(xiàng)也是刪除重復(fù)項(xiàng)最關(guān)鍵的一個選項(xiàng)必須勾選:【選擇不重復(fù)的記錄】。如下圖所示:

image.png

單擊【確定】按鈕以后,就會在E1單元格開始的區(qū)域中生成剔除重復(fù)項(xiàng)以后的另一份數(shù)據(jù)清單,效果如下圖所示:

image.png

假定按照第二種場景的方式來定義重復(fù)項(xiàng),就是需要刪除所有【姓名】字段內(nèi)容重復(fù)的記錄,可以這樣操作:

在數(shù)據(jù)清單中,選中【姓名】字段所在的區(qū)域A1:A12單元格,然后在功能區(qū)上依次單擊【數(shù)據(jù)】——【高級】(2003版本中的操作路徑是【數(shù)據(jù)】——【篩選】——【高級篩選】),會出現(xiàn)【高級篩選】對話框。篩選方式選擇“在原有區(qū)域顯示篩選結(jié)果”,【選擇不重復(fù)的記錄】復(fù)選框同樣必須勾選,如下圖所示:

image.png

選擇【在原有區(qū)域顯示篩選結(jié)果】的方式,使得對A列不重復(fù)項(xiàng)的篩選結(jié)果能夠同時影響到其他字段上。單擊【確定】按鈕后,篩選結(jié)果如下圖所示。將這個篩選的結(jié)果復(fù)制粘貼出來,就等到一份剔除姓名字段重復(fù)項(xiàng)以后的新清單。需要補(bǔ)充的一點(diǎn)是,對于姓名字段相同的記錄,這樣的剔除操作過后,保留的是最先出現(xiàn)的記錄。例如在第七行和第十二行兩個“吳凡”之間,Excel保留的是最先出現(xiàn)的第七行記錄,而剔除了后面的第十二行記錄。

image.png

3、使用公式

如果會一點(diǎn)函數(shù)公式,那么用函數(shù)公式配合篩選的方式來操作會更靈活多變一些,可以適應(yīng)更多復(fù)雜條件。

在D列增加一個輔助公式,在D2單元格中輸入公式:=A2&B2&C2,然后向下復(fù)制填充,生成的一列公式結(jié)果是將各條記錄中的三個字段內(nèi)容合并在一個單元格中。然后在E列再增加一個輔助公式,在E2單元格中輸入公式:=COUNTIF(D2:D$12,D2),特別注意公式中絕對引用符號$的使用位置。將公式向下復(fù)制填充,得到下面圖中所示的結(jié)果:

image.png

COUNTIF函數(shù)的作用是統(tǒng)計(jì)某個區(qū)間內(nèi),與查詢值相同的數(shù)據(jù)的個數(shù),上面那個公式中的D2:D$12這種絕對引用和相對引用相組合的方式就可以在公式向下復(fù)制的過程中形成一個隨位置變化的動態(tài)區(qū)域,使得COUNTIF函數(shù)每次都只跟自己下方的區(qū)域中的數(shù)據(jù)進(jìn)行對比,而不會牽涉到上方的數(shù)據(jù)。因此在第三行的時候,會找到2條與“李明28研發(fā)部”相同的記錄,而到了第五行的時候,就只找到了一條匹配記錄。

通過這個公式結(jié)果可以發(fā)現(xiàn),所有E列運(yùn)算結(jié)果大于等于2的記錄(如果有更多的重復(fù),結(jié)果會大于2)就是我們需要剔除的重復(fù)項(xiàng)。這個時候,使用自動篩選功能,在E列篩選出大于1所在的行,然后刪除整行,再恢復(fù)到非篩選狀態(tài),就能得到最后所需的清單,如下圖所示:

image.png

在上面的操作中之所以要將三個字段內(nèi)容合并在一起,是因?yàn)槲覀冊诘谝粋€場景中將“重復(fù)項(xiàng)”定義為所有字段內(nèi)容都相同,因此將這三個字段的內(nèi)容同時合并在一起進(jìn)行比較,相當(dāng)于邏輯運(yùn)算中的”與“運(yùn)算。假設(shè)需要按照第二場景中的定義來進(jìn)行剔除操作,就不再需要D列這個過渡公式,而是可以直接以A列作為COUNTIF函數(shù)的對比區(qū)域,可以使用公式:=COUNTIF(A2:A$12,A2) 就可以實(shí)現(xiàn)相同的效果。需要補(bǔ)充說明的是,這個方法在剔除操作后,所保留下來的記錄是重復(fù)記錄中最晚出現(xiàn)的那條記錄。

同樣是第一場景,也可以用一個稍微復(fù)雜一些的公式來替代D、E兩列的公式:=SUMPRODUCT(1*(A2&B2&C2=A2:A$12&B2:B$12&C2:C$12)) 公式的原理與前面相同。

繼續(xù)查找其他問題的答案?

回復(fù)(0)
返回頂部