Excel 地址看起來相同卻比對不到?清掉隱藏字元再逐欄核對

兩格地址看起來一模一樣,公式卻判定不同時,先建立清理副本:保留原始欄,在旁邊用 `CLEAN` 移除部分不可列印字元、用 `TRIM` 整理一般空白,再針對從網頁帶入的不換行空白做 `SUBSTITUTE`。不要直接覆蓋原值,也不要把所有符號一律刪掉。
一個可追查的清理流程
假設原始地址在 A2,可先在 B2 輸入 `=TRIM(CLEAN(A2))`。若仍無法比對,再用 C2 處理常見的不換行空白:`=TRIM(CLEAN(SUBSTITUTE(A2,CHAR(160)," ")))`。向下填滿後,新增長度欄 `=LEN(A2)` 與 `=LEN(C2)`,先找出清理前後長度有變的列。
Microsoft 說明 `TRIM` 主要處理 ASCII 空白 32,不能單獨移除 Unicode 不換行空白 160;外部資料還可能含其他不可列印字元。因此公式不應包裝成「什麼髒資料都能清掉」。若來源是 Google 試算表,也可以用資料清理的 Trim whitespace 功能,但仍要在副本操作並抽查。
不要誤刪有意義的內容
連字號、斜線、井號、全形空白,或數字中間的空格可能承載門牌、樓室或來源格式。清理前先看字元位在元件外還是數字內。若 `10-1號` 清理後變成 `101號`,那是資料被改壞,不是清理成功。台/臺、中文數字與阿拉伯數字也不是隱藏字元問題,應交給地址格式檢查另行分析。
成功、需確認與失敗
- 成功:只移除前後空白、換行或已確認的不可見分隔字元,清理後兩筆核心字串相同,原文與列號完整保留。
- 需人工確認:清理後仍只差門牌符號、段巷弄或樓室;送到地址比較工具看差異,不能只靠 `A2=C2`。
- 失敗:無法辨識字元來源,或公式改動數字與地址單位。回復到原文,將該列列為人工覆核。
清理後相同只表示文字更容易比較,不表示地址存在,也不表示兩筆一定是同一收件點。大量去重前先看重複地址名單清理的保留與合併流程。
資料來源
- TRIM function(Microsoft Support)
- Top ten ways to clean your data(Microsoft Support)
- 分割文字、移除重複項目或刪除空格(Google 文件編輯器說明)