2024年1月20日

Excel找出重複的資料

使用 Microsoft Excel 處理資料,可能會遇到需要在眾多資料筆數中檢查資料是否有重複的情況,例如手上有一份學生名單,想要檢查姓名欄位中是否有相同的姓名以便進行比對編輯或刪除重複的資料,我們可以採取以下方式快速找出重複的資料。

下載範例檔案

  1. 先選取要檢查的姓名範圍,選取 B2 儲存格按 Ctrl+Shift+向下鍵 選取 B2:B27,或是按 Ctrl+G 開啟 [到] 對話方塊,在 [參照位址] 輸入「b2:b27」後按 [確定]。
  2. 功能區 [常用] > [條件式格式設定] > [醒目提示儲存格規則] > [重複的值] 開啟對話方塊。
  3. [格式化包含下列的儲存格] 已設為「重複」,在 [欲套用的格式] 有一些現成的顏色配置可以選擇,例如選擇「淺紅色填滿」,也就是當姓名有重複時將該儲存格填上淺紅色作為區別,然後按 [確定]。
  4. 可以看到姓名為「王志強」及「陳思婷」的儲存格已被填上淺紅色,按 NVDA+F 從格式資訊中可以得知姓名儲存格的背景色已不是原本的白色。


為了方便查看姓名重複的資料,利用篩選的方式只顯示姓名欄位有填上淺紅色的資料。

  1. 選取資料範圍 A1:C27 中的任何一個儲存格。
  2. 功能區 [資料] > [篩選] 切換按鈕按下,或直接按快速鍵 Ctrl+Shift+L 開啟資料範圍的篩選功能,資料範圍標題列的每個儲存格都會出現自動篩選下拉式功能表,可用來對每個欄位進行篩選。
  3. 選取標題列「姓名」欄標題的 B1 儲存格 (NVDA 不會有額外提示),按 Alt+向下鍵 展開自動篩選下拉式功能表。
  4. 在 [依色彩篩選] Enter 有 2 個選項,選擇 [依儲存格色彩篩選 RGB(255, 199, 206)] Enter。
  5. 篩選出來的學生資料有 4 筆,即姓名有重複的是「王志強」及「陳思婷」。


篩選出的重複資料不只一組,使用排序的方式將同一組資料上下並列擺在一起方便比對。

  1. 選取資料範圍標題列「姓名」欄標題的 B1 儲存格,按 Alt+向下鍵 展開自動篩選下拉式功能表。
  2. 找到 [從 A 到 Z 排序] 或 [從 Z 到 A 排序] Enter。


要恢復顯示所有的資料只要清除「姓名」欄位的篩選即可。

  1. 選取標題列「姓名欄標題」的 B1 儲存格,按 Alt+向下鍵 展開自動篩選下拉式功能表。
  2. 找到 [清除 "姓名" 中的篩選] Enter。


最後再對「序號」欄位進行由小到大排序就可恢復原本學生資料的順序,另外要清除姓名儲存格被填上的淺紅色。

  1. 選取姓名範圍 B2:B27。
  2. 功能區 [常用] > [條件式格式設定] > [清除規則] > [清除選取儲存格的規則]。


上述的方法頗為方便也不複雜,但是你有注意到什麼了嗎?
請問 NVDA 讀出的 RGB(255, 199, 206) 是什麼顏色呢?

以範例檔案來說,依顏色來篩選時顏色的項目只有一項,我們可以推斷這應該就是那個前面填上的淺紅色,如果可選擇的顏色項目不只一項,且每個項目 NVDA 都只會讀出顏色的 RGB 數值而已,除非你對 RGB 數值變化所表現出的色彩有相當的認識,不然在無法看到或分辨顏色的情況下,利用顏色來標示並篩選重複資料的方法對視障者顯然行不通,我們需要換個方法不依靠顏色而是利用函數來找出重複的資料。

利用函數來找出重複的資料過程同樣並不複雜,我們會用到的函數是 COUNTIF,與 COUNT/COUNTA 函數都是用來計算個數的函數,只不過是計算符合條件的個數。

語法:COUNTIF(資料範圍,條件)

附註:第二個引數須要用雙引號包起來,若為儲存格位址則不需要。

要找出姓名重複的資料,表示使用姓名來當作計算個數的條件,若姓名的計算個數為 2 以上表示該姓名有重複。

  1. 在資料範韋旁邊的 D 欄新增一個用來計算的欄位,在 D1 輸入欄標題名稱,例如「重複」。
  2. 往下在 D2 輸入以下的公式計算「張凱文」在姓名這欄中的個數,計算結果是 1,表示沒有重複。

    公式:=countif($b$2:$b$27,b2)

    由於公式要複製到其他儲存格的關係,資料範圍必須使用絕對位址,因為不同人要比對姓名的資料範圍都是一樣的,不使用絕對位址的話當公式複製到其他儲存格時公式中的儲存格位址會隨著相對位址變動,原本的姓名資料範圍就會跑掉了。
  3. 選取要複製 D2 公式的儲存格範圍,必須包含 D2 儲存格作為來源,按 Ctrl+G 開啟 [到] 對話方塊,在 [參照位址] 輸入「D2:D27」後按 [確定]。
  4. 按 Ctrl+D 將 D2 的公式向下填滿到其他儲存格,如此便可以得到每個姓名的計算個數。


為了方便查看姓名重複的資料,接下來篩選計算個數大於 1 的資料。

  1. 選取資料範圍 A1:D27 中的任何一個儲存格,為了方便後續操作可以直接選取標題列「重複」欄標題的 D1 儲存格,按 Ctrl+Shift+L 開啟此資料範圍的篩選功能。
  2. 按 Alt+向下鍵 展開自動篩選下拉式功能表,在 [手動篩選]樹狀檢視將 [1] 核取方塊取消勾選,然後按 [確定]。
  3. 篩選出來的學生資料有 4 筆,即姓名欄位有重複的是「王志強」及「陳思婷」。


篩選出的重複資料不只一組,使用排序的方式將同一組資料上下並列擺在一起方便比對。

  1. 選取資料範圍標題列「姓名」欄標題的 B1 儲存格,按 Alt+向下鍵 展開自動篩選下拉式功能表。
  2. 找到 [從 A 到 Z 排序] 或 [從 Z 到 A 排序] Enter。


要恢復顯示所有的資料只要清除「重複」欄位的篩選即可。

  1. 選取標題列「重複」欄標題的 D1 儲存格,按 Alt+向下鍵 展開自動篩選下拉式功能表。
  2. 找到 [清除 "重複" 中的篩選] Enter。


最後再對「序號」欄位進行由小到大排序就可恢復原本學生資料的順序,計算姓名個數的 D 欄資料不再需要可以刪除。