Excel 如何篩選重複資料#
在日常資料處理與分析中,重複資料往往會讓報表產生誤差、占用存儲空間,甚至導致決策失誤。本文將帶你了解 為什麼 你會遇到重複資料、三種 常見的篩選與刪除重複資料的方法,並解答你在實際操作中可能遇到的常見問題。
備註:以下示例均以 Excel 2016 以上版本為例,部分功能在舊版 Excel 也可使用,僅需稍作調整。
為什麼資料會出現重複?#
| 原因 | 說明 | 範例 |
|---|---|---|
| 多來源匯入 | 同一筆資料被多個系統或表單匯入時,可能會出現重複。 | 兩份客戶資訊表合併後,重複的客戶 ID |
| 手動輸入 | 人為重複輸入相同值,特別是在大範圍資料中。 | 表格中多行相同姓名 |
| 資料遷移 | 從舊系統遷移到新系統時,未正確去重。 | 將過去的銷售記錄導入新表 |
| 公式或查詢重複返回 | 使用 VLOOKUP、INDEX+MATCH 等公式時,若參照範圍不唯一,會返回重複結果。 | 使用 VLOOKUP 查找相同關鍵字的多個匹配 |
| 統計或匯總時 | 在彙總多個工作表或欄位時,重複項未被過濾。 | 合併多個月份的銷售數據 |
重複資料的分類
- 完全重複:整行或整個欄位值相同。
- 部分重複:某些欄位相同,其他欄位不同。
- 近似重複:值相似但字元大小寫、空格、符號不同。
方案一:使用「刪除重複」功能#
這是最簡單、最快速的方式,適用於對整行或多欄位進行去重。
步驟#
-
選擇範圍
- 點選要篩選的資料區域,或直接按
Ctrl + A選取整張工作表。 - 若只想去重某些欄位,先僅選取這些欄位。
- 點選要篩選的資料區域,或直接按
-
啟動「刪除重複」對話框
資料→資料工具→刪除重複。- 或在
篩選標籤下點擊刪除重複。
-
設定要比較的欄位
- 在對話框中勾選「全列」或特定欄位。
- 預設情況下,所有欄位都被視為比較依據,除非你取消勾選。
-
確認並執行
- 點擊
確定,Excel 會顯示已刪除的重複行數。 - 你也可以先使用
複製到另一工作表或複製到指定位置,以保留原始資料。
- 點擊
注意#
- 不可逆:刪除後無法直接恢復,除非你有備份。
- 大小寫不敏感:Excel 的「刪除重複」不區分大小寫。
- 隱藏行:隱藏行會被忽略;若想保留,先取消隱藏。
方案二:利用條件格式 + 進階篩選#
適用於想保留重複項,僅需要標記或篩選它們。
步驟#
-
選擇要尋找重複的欄位
- 例如,選取
A列(姓名)。
- 例如,選取
-
設定條件格式
首頁→條件格式→使用公式決定要設定的儲存格。- 輸入公式:
=COUNTIF($A:$A,$A1)>1 - 選擇一個突出顯示的顏色(如紅色),點擊
確定。
-
使用篩選功能
- 在任何已設定條件格式的列頭點擊
資料→篩選。 - 在下拉選單中,選擇「色彩」→「紅色」即可只顯示重複項。
- 在任何已設定條件格式的列頭點擊
-
(可選)使用「進階篩選」
資料→進階篩選,設置篩選條件區域為同一列,並勾選「僅顯示唯一記錄」或「複製到其他位置」。
常見變形#
-
多欄位重複:將公式改為
=COUNTIFS($A:$A,$A1,$B:$B,$B1)>1以同時考慮兩欄位。
-
忽略空白:在公式前加
AND($A1<>"")。
方案三:使用Excel 365/2021 的 UNIQUE 與 FILTER 函數#
這是最靈活、最具可編程性的方式,適合動態更新的資料集。
1. 只顯示唯一值(去重)#
=UNIQUE(A:A)- 在任何空白列輸入上述公式,即可得到
A列中所有唯一值。 - 若想保留整行,可使用多欄位版本:
=UNIQUE(A:C)
2. 只列出重複值#
=FILTER(A:A, COUNTIF(A:A, A:A)>1)- 這會返回所有重複出現的項目(含多次重複)。
3. 結合 SORT 與 UNIQUE 進行排序#
=SORT(UNIQUE(A:A))優點#
- 動態更新:資料改動時,公式結果自動刷新。
- 可嵌套:可配合
LET、SEQUENCE等函數進行複雜篩選。
注意#
- Excel 版本限制:
UNIQUE、FILTER只在 Office 365 / Excel 2021 以上版本可用。 - 性能問題:對超大資料集(> 100k 行)可能會影響計算速度。
常見問題解答 (FAQ)#
| 問題 | 解答 |
|---|---|
| Q1:刪除重複後,資料被覆蓋,還能恢復嗎? | 若未另存副本,請使用 Ctrl + Z 立即撤銷;若已儲存,則只能從備份恢復。 |
| Q2:如何只保留第一次出現的重複項? | 刪除重複 會保留第一筆;若使用公式,可結合 FILTER + ROW 判斷。 |
| Q3:我想保留重複項但在不同工作表中統計? | 使用 UNIQUE 取得唯一值,使用 COUNTIF 統計出現次數,最後在新工作表呈現。 |
| Q4:資料含有空格或大小寫差異,會被視為重複嗎? | 刪除重複 會忽略大小寫;若要嚴格比較,先使用 TRIM()、LOWER() 或 UPPER() 進行標準化。 |
| Q5:多欄位篩選重複,只保留某些欄位的重複? | 在「條件格式」中使用 COUNTIFS 或在 UNIQUE 中指定多個欄位範圍。 |
| Q6:如何在 Google Sheets 中做相同操作? | Google Sheets 也支援 UNIQUE、FILTER、COUNTIF 等函數,並有「資料」→「資料清理」→「刪除重複」功能。 |
| Q7:重複資料在某些列中才需要去重,其他列保留? | 只在需要去重的列上使用 刪除重複 或 UNIQUE,其他列保持不變。 |
| Q8:如何在篩選後保留原始資料順序? | 刪除重複 會保留原始行順序;使用 UNIQUE 時可配合 SORT 或 FILTER 先排序後去重。 |
小結#
- 刪除重複:最直接、最適合一次性處理大批資料。
- 條件格式 + 篩選:適合需要視覺標示、手動決策的場景。
- 公式(UNIQUE / FILTER):適合動態、可編程的資料處理,尤其在 Excel 365/2021。
根據你資料的性質、版本以及是否需要保留原始資料,選擇最合適的方案。祝你在 Excel 的世界中愉快且高效地處理重複資料!