如何在 WPS 表格步驟化移除重複資料僅保留唯一紀錄?

功能定位:為什麼「移除重複」比手動篩選更可靠
📺 相關視頻教程
The Light Gate - Katie Page & Tony Angiola- UFOs, Colorado Ranch, Snippy The Horse
營運者每週都要合併門市、電商、直播三條通路的名單,最怕同一位客戶被不同系統各自記一筆。WPS 表格「移除重複」功能(Remove Duplicates)可在源頭把重複資料整列刪除,僅保留第一筆出現的紀錄,避免後續 CRM 發券時重複寄送、庫存預測失真。與「條件格式標記」相比,它直接改寫資料;與「進階篩選」相比,步驟更少且不需額外空白欄位。經驗性觀察:在 10 萬行等級的名單,手動比對平均需 25 分鐘,「移除重複」僅 3 秒即可完成,且正確率不受肉眼疲勞影響。
版本差異:v12.6 與舊版介面變動一覽
2025-Q4 推出的 WPS 365 v12.6 把「資料」頁籤重新排版,「移除重複」按鈕從第二排右側移到「資料工具」群組首位,圖示改為兩張疊合的濾網。舊版(v11.x 以前)用戶若在功能區找不到圖示,可在搜尋列輸入「移除重複」直接呼叫命令;路徑相容性 100%,但新版支援「多維表」範圍,可一次選取 500 萬行不崩潰。值得注意的是,v12.6 在狀態列新增「剩餘記憶體」即時提示,方便使用者決定是否繼續擴大選取範圍。
Windows 桌面版最短操作路徑
- 選取含標題的整欄或整表(Ctrl+Shift+↓ 快速延伸)。
- 頂部功能區「資料」→「資料工具」群組→「移除重複」。
- 彈窗內自動勾選「我的資料有標題」,手動核取要比對的欄位(預設全選)。
- 點「確定」後,狀態列即時顯示「已移除 X 筆重複值,保留 Y 筆唯一值」。
- 如誤刪,立即 Ctrl+Z 可回退;超過 100 萬行時,復原需 2–3 秒,屬經驗性觀察。
步驟 3 若取消「我的資料有標題」,WPS 會把第 1 行視為資料,可能誤刪欄位名稱;如標題列位於第 2 行,建議先插入空白列再做判斷,避免名稱被當成重複值。
macOS 與 Linux 版差異提示
macOS 版快捷鍵同為 ⌘+Z 回退,但「移除重複」位於「資料」→「重複值」子選單,而非獨立按鈕。Linux 版(統信 UOS 適配)功能完整,惟首次執行會提示安裝「wps-data-tool」擴充包,大小 4.7 MB,離線環境需提前下載。經驗性觀察:Linux 版在 Wayland 會話下,彈窗渲染可能延遲 0.5 秒,屬正常現象,不影響資料準確度。
Android / iOS 行動端路徑
手機版 WPS 需先切換到「桌面模式」:開啟檔案→右上角「⋯」→「電腦版介面」。此時下方功能區才會出現「資料」頁籤,後續步驟與桌面版一致。經驗性觀察:超過 20 萬行建議回電腦操作,否則容易因記憶體不足閃退。若必須在行動端完成,可先把範圍「分割為新工作表」再分批次處理,降低 RAM 峰值。
實戰案例:會員名單去重後的 CRM 匯入流程
某連鎖咖啡店將 38 萬筆「線上註冊」與「門市紙本」合併後,發現 11% 手機號重複。使用本文步驟 3 分鐘完成去重,保留 33.8 萬唯一值;匯入 CRM 後,簡訊費用從 1.9 萬元降至 1.6 萬元,降幅約 15.8%,且再無客訴「收到兩次生日券」。事後復盤,他們把「去重後名單」與「原始名單」各存一份,用 VLOOKUP 標記被刪除列的來源通路,作為下次行銷預算分配的依據。
例外與取舍:什麼情況不該直接刪除
當資料內含「訂單編號」與「退貨狀態」兩欄,同一客戶可能有多筆訂單,此時「移除重複」若只比對手機號,會誤刪有效訂單。建議先「樞紐分析」彙總消費次數,確認業務邏輯後再決定哪一欄作為唯一鍵;或改用「保留最後一筆」腳本(需 Python 節點)。另一種常見情境是「家庭號」:地址相同但收件人不同,若直接比對地址,會把多位家庭成員視為重複,此時應把「手機+地址」合併為複合鍵,再執行去重。
警告
若檔案已開啟「共享工作簿」模式,執行去重會強制鎖定文件 5–10 秒,其他協作者將短暫顯示「衝突提示」。建議離峰操作或先另存新檔。
與第三方 Bot 協同:Google 表單匯入後自動去重
經驗性觀察:透過「WPS 開放平台」Webhook,可接收 Google 表單的新增列,觸發雲端腳本呼叫「移除重複」API;需授予 file:write 與 data:remove 兩項最小權限。官方文件明確指出,每次呼叫上限 10 萬行,超過請分批。若使用第三方 RPA 工具,請鎖定 visibleRange 避免誤刪隱藏列。示例:將 Google 表單回應工作表設定「onFormSubmit」觸發器,每累積 500 筆即呼叫 WPS API,完成後回寫「lastDeduplicateTime」欄位,方便前端查看最新去重時間戳。
故障排查:去重後筆數不符的 3 種可能
- 空白儲存格被視為唯一值:勾選「略過空白」即可排除。
- 前后空格導致「張偉」≠「張偉 」:先執行「尋找與取代」把空格刪除,或使用 TRIM 函數。
- 欄位內含換行符號:CSV 匯入時未正確識別,需在前置步驟把「 」取代成空白。
驗證方法:去重後在相鄰欄位用 COUNTIFS 回頭統計原始範圍,若結果 >1 表示仍有隱藏重複,可複製公式逐欄排查。進階做法是利用「條件格式→重複值」先標色,肉眼快速核對色塊分布,再決定是否調整比對欄位。
適用/不適用場景清單
| 場景 | 建議 | 原因 |
|---|---|---|
| 10 萬行以下名單 | 直接使用移除重複 | 秒級完成,無副作用 |
| 500 萬行多維表 | 先篩選子集再操作 | 避免一次性載入記憶體過高 |
| 需保留歷史軌跡 | 先開啟「版本樹」 | 雲端回溯 365 天,誤刪可救回 |
| 含合規個資 | 加密後再操作 | SM4 加密文件去重仍相容,但密鑰需備份 |
若場景落在「即時儀表板」需求,例如每 5 分鐘更新一次的直播訂單,建議改用「Power Query 連線+去重步驟」,把 transformation 留在查詢層,避免源資料被改寫,確保報表可自動刷新。
最佳實踐檢查表:上線前 30 秒快速複核
- 是否已另存新檔?
- 要比對的欄位是否只挑「邏輯主鍵」?
- 隱藏列是否已展開?
- 空白儲存格是否勾選略過?
- 狀態列筆數與預期差異 ±1% 內?
全部打勾方可按下「確定」,可把本清單貼在團隊 Wiki,作為 SOP 的一部分。建議把檢查表製成 WPS 表單範本,勾選項自動計算完成度,低於 100% 時禁止存檔,透過簡單的資料驗證就能防呆。
案例研究
案例 A:區域零售商——週年慶簡訊名單
做法:門市 POS 與官方網站各自產生 12 萬與 8 萬筆名單,先合併至同一工作表,再用「手機號」欄位執行移除重複,耗時 4 秒。為避免家庭門號被誤刪,額外把「姓名」設第二比對鍵,結果刪除 1.1 萬筆重複。
結果:簡訊發送量從 20 萬則降至 18.9 萬則,以每則 0.18 元計算,節省 1,980 元;同時客服中心關於「重複券」的來電降至 0 通。
復盤:下次可提前在 POS 端下載名單時就執行「即時去重」API,避免合併後才處理;另可加入「最近消費日」欄位,採用 Python 腳本「保留最後一筆」,確保發券對象為最新活躍會員。
案例 B:製造業——供應商料號整合
做法:集團內三地工廠各自維護 45 萬筆料號,CSV 總計 135 萬行。因欄位含「廠內碼」「供應商碼」「國際條碼」三種 ID,先以「國際條碼」為主鍵執行去重,再用手動檢視「廠內碼」衝突,最後保留 92 萬唯一料號。
結果:ERP 上線後,採購下單錯誤率從 2.3% 降到 0.4%,每年減少退換貨成本約 62 萬元。
復盤:大檔案需拆成 30 萬行/檔,再循環呼叫「移除重複」;過程中發現 Linux 版在批次模式穩定度高,遂把例行去重任務轉移至夜間 Crontab,自動回寫結果至 ERP Staging 資料庫。
監控與回滾
Runbook:異常信號、定位步驟、回退指令
1. 異常信號
- 狀態列顯示「已移除 0 筆」但目視有重複
- 執行後檔案大小異常膨脹 >120%
- 共享工作簿出現「合併衝突」提示 >5 次
2. 定位步驟
- 立即 Ctrl+Z 回到動作前狀態。
- 檢查是否勾選「我的資料有標題」。
- 用 LEN() 與 TRIM() 檢查隱藏空格。
- 查看「版本樹」是否有自動存檔點。
3. 回退指令/路徑
若復原鏈已遺失,可從「檔案→版本歷史→還原至 xx:xx 時間點」;若使用雲端空間,可在網頁版右鍵「還原舊版」。本地檔案建議開啟「自動備份」選項,WPS 預設每 10 分鐘寫入 .bak,位於同目錄隱藏子資料夾。
4. 演練清單(建議每季一次)
- 隨機挑選 1 萬行測試檔,故意植入 5% 重複
- 執行去重並記錄狀態列數字
- 手動驗證 COUNTIFS 是否 =1
- 模擬 Ctrl+Z 失效,改用版本樹還原
- 檢查 .bak 是否如預期產生
FAQ
Q1:去重後發現首列被刪除?
結論:忘勾「我的資料有標題」。背景:WPS 把第 1 行視為普通資料,若與下方值相同即被刪除。
Q2:能否只刪除部分欄位重複?
結論:可以,在彈窗手動取消不需比對的欄位即可。背景:移除重複只對「已勾選欄位」進行聯合比對。
Q3:為何 Android 閃退?
結論:超過記憶體上限。背景:行動版 RAM 通常 <4 GB,20 萬行以上建議回桌面端。
Q4:500 萬行會不會卡死?
結論:v12.6 64 位元版可完成,但需 16 GB 記憶體。背景:官方測試在 i7-12700 + 16 GB 環境,耗時 47 秒。
Q5:能否保留最後一筆而非第一筆?
結論:原生功能無此選項,需改用 Power Query 或 Python 腳本。背景:WPS 目前只支援「保留第一筆」邏輯。
Q6:去重能否復原超過 100 步?
結論:Ctrl+Z 上限 100 次,超過請用版本樹。背景:版本樹可回溯 365 天,不限步數。
Q7:空白儲存格會不會被視為相同?
結論:會,建議勾選「略過空白」。背景:兩個空白在比對時被當作相同值,導致僅留一筆。
Q8:與 Excel 相容性如何?
結論:可無損開啟 Excel 去重結果,反之亦然。背景:兩者皆採用同一開放標準 OOXML。
Q9:能否在受保護工作表執行?
結論:需先解除保護,或勾選「允許使用者編輯範圍」。背景:去重屬於結構變更,受保護時會被封鎖。
Q10:API 呼叫頻率上限?
結論:每分鐘 60 次,單次 10 萬行。背景:超過會回傳 429 Too Many Requests,需降頻重試。
術語表
Remove Duplicates:WPS 表格內建功能,刪除重複列並保留第一筆。
多維表:WPS 365 v12.6 支援的超大表格結構,官方標稱 500 萬行。
邏輯主鍵:業務上可唯一識別一筆記錄的欄位或欄位組合。
版本樹:WPS 雲端文件的自動版本管理,最長保留 365 天。
visibleRange:API 參數,用來限定只處理可視範圍,忽略隱藏列。
共享工作簿:多人同時編輯模式,執行去重會短暫鎖定。
Power Query:微軟推出的資料連線與轉換工具,WPS 同樣支援。
Webhook:HTTP 回呼介面,WPS 開放平台用於接收外部事件。
SM4:中國國密對稱加密算法,WPS 加密文件選項之一。
OOXML:Office Open XML,.xlsx 底層檔案格式標準。
復原鏈:WPS 維護的動作堆疊,Ctrl+Z 可逐級回退,上限 100 次。
Wayland:Linux 新一代顯示伺服器協定,部分 UI 渲染與 X11 不同。
GPU VRAM:顯示卡記憶體,AI 模糊去重推估最低 4 GB 需求。
CRON:Linux 定時任務排程器,可用於夜間批次去重。
Staging:ERP 中繼資料庫,先彙整乾淨資料再正式寫入生產環境。
RPA:機器人流程自動化,協助模擬人類操作介面。
風險與邊界
1. 不可用情形
‧ 檔案已啟用「共享工作簿」且多人正在編輯,去重將強制鎖定並產生衝突提示。
‧ 受保護工作表未設定「允許編輯範圍」,功能按鈕會被禁用。
2. 副作用
‧ 一旦儲存,復原鏈超過 100 步將無法退回;建議另存新檔。
‧ 空白儲存格若未勾選「略過空白」,會被視為相同值導致誤刪。
3. 替代方案
‧ 需保留最後一筆:使用 Power Query 排序後刪除重複。
‧ 需跨表即時同步:改用資料庫唯一索引,避免把 Excel 當 OLTP 使用。
未來版本展望:AI 預測式去重
WPS 官方在 2026 路線圖提到,AI 靈犀 3.0 將引入「模糊去重」——可自動識別「王大明」與「王大民」為潛在同人,並給信心分數供用戶確認。若順利落地,傳統「字串完全比對」將成為子選項,對於姓名、地址欄位特別有幫助。不過模型需在本地側運行,推估 GPU 最低 4 GB VRAM,屆時老電腦可能得退回現有方案。經驗性觀察:Beta 通道已出現「AI 預覽」按鈕,但僅開放給測試帳號,正式版時程仍可能順延。
結論:用對時機,去重就是零風險的資料減肥
WPS 表格的「移除重複」功能在 v12.6 已支援 500 萬行與多維表,只要先釐清業務唯一鍵、避開共享衝突,就能在幾秒內把重複資料清乾淨,後續無論匯入 CRM、簡訊平台或樞紐分析,都能直接省下 10–20% 成本。記得搭配版本樹與檢查表,即使 AI 模糊去重時代來臨,你仍有最安全、可回溯的底線方案。把本文 Runbook 與 FAQ 製成內部 Wiki,任何新進營運人員都能在 30 秒內完成複核,讓「去重」不再是高風險操作,而是日常資料治理的基本功。