在 Excel 中移除空白字元意味著去除那些在貼上真實文字時一併被複製過來的不可見空白字元,Excel 使用者會遇到的空白字元恰好有三種類型:儲存格值前後的填補空白、字串內部重複出現的空白,以及從網頁、PDF 或 HTML 片段匯入的不間斷空格 (CHAR 160)。每一種在工作表中的行為都不一樣,這也是為什麼單一函數很少能一次解決所有情況。Excel 內建的 TRIM 函數會移除外部及重複的內部 ASCII 空格,但不會動到不間斷空格;而 SUBSTITUTE 則可以在你指定要替換的字元時數下針對性地處理某一特定字元碼。當有上千個儲存格必須一次清理時,逐欄重複套用公式很快就會讓人厭煩,這時候使用一個具有明確模式的本機瀏覽器工具會是更快的途徑。正確的方法取決於空白從哪裡來、有多少,以及文字周圍的格式是否重要。

Excel 使用者最常遇到的三種空白問題
Excel 將空白視為資料,因此除非你明確指示,否則它不會對空白做任何處理。大多數清理工作可歸入以下三類之一,而辨別出你屬於哪一類,就已解決了一半的難題。
- 前後多餘的空格。在格式化報表中出現的可見性錯位、在 VLOOKUP、XLOOKUP 或 INDEX/MATCH 中比對失敗,以及在條件式格式設定規則中看起來像重複的列,通常都是由值周圍散落的填補空白所造成。
- 重複的內部空格。從 PDF、OCR 輸出或較舊的電子郵件用戶端複製內容,常常會在字與字之間產生雙重或三重空格。人類閱讀起來沒問題,卻會破壞那些假設只有單一空格的 TRIM 邏輯。
- 不間斷空格 (CHAR 160)。從 HTML、網頁擷取、匯出的 CSV 以及某些資料庫匯入的 CHAR 160,看起來與一般空格一模一樣,卻是不同的碼點,因此以 ASCII 為基礎的函數會忽略它。
定位字元 (CHAR 9) 與換行字元 (CHAR 13) 經常隨著複製貼上的動作一起被帶進來,也值得一提。它們會在儲存格中以額外水平空間的形式出現,並可能破壞欄位對齊的報表。
使用 Excel 內建函數移除空白
最快在儲存格內處理的方法就是公式,而有三個值得認識的函數。請在輔助欄中使用它們,然後將清理後的值以貼上值的方式覆寫回原本的欄位。
- 選取一個空白欄,位於含有凌亂文字的欄位旁邊。如果凌亂資料在 A 欄,請點選 B 欄的欄標將其選取。
- 在輔助欄的第一個儲存格中輸入 =TRIM(A1) 然後按 Enter。TRIM 會一次移除前導空格、尾端空格,以及重複的內部 ASCII 空格。
- 抓住儲存格右下角的小方塊 (填滿控點),向下拖曳以將公式套用至範圍內的每一列。
- 若要處理不間斷空格,請將公式改為 =TRIM(SUBSTITUTE(A1, CHAR(160), " "))。外層的 SUBSTITUTE 會將每個 CHAR 160 轉為真正的空格,接著 TRIM 會完成清理。
- 若要移除所有空格字元,包括單一的內部空格,請使用 =SUBSTITUTE(A1, " ", "")。這等同於「移除所有空白字元」這種破壞性模式的等價公式。
- 若同時要移除從貼上動作繼承而來的定位字元及其他不可列印字元,請將前面的公式包進 =TRIM(CLEAN(SUBSTITUTE(SUBSTITUTE(A1, CHAR(160), " "), CHAR(9), " ")))。CLEAN 會去除 ASCII 控制碼 0 到 31。
- 選取已清理的欄位,按 Ctrl+C 複製,然後在原始欄標上按右鍵,選擇「選擇性貼上 > 值」,以純文字覆蓋公式。確認無誤後刪除輔助欄。
當來源資料會持續變動,而且希望清理作業能自動更新時,公式是最佳選擇。但對於從網站、日誌檔或電子郵件進行的單次貼上,輔助欄和「選擇性貼上值」反而可能是多餘的步驟。
什麼時候瀏覽器工具會比公式更適合
公式會迫使你新增一欄、向下拖曳、複製結果,然後再以選擇性貼上值覆寫回去。在你能檢查輸出是否正確之前,這已是四個機械式步驟,而且在實際套用之前你無法預覽會移除哪些內容。如果你從網站、CRM 匯出或電子郵件複製了一整塊儲存格,只想在放回 Excel 之前先清理值,本機瀏覽器工具會更快:你只需貼上一次、選擇明確的模式、查看已移除字元的數量,然後再把結果複製回去。Whitespace Remover 完全在當前的分頁內執行,操作過程中不會上傳任何內容。
使用 Whitespace Remover 清理貼上的 Excel 文字
這套工作流程是為你已經從 Excel 複製出來的儲存格值設計的,並非用於即時公式或已格式化的範圍。請只貼上純文字。
- 在 Excel 中使用 Ctrl+C 選取並複製凌亂的儲存格值。如果範圍中含有公式,請先執行複製並「選擇性貼上 > 值」,以便使用原始字串進行處理。
- 開啟 Whitespace Remover,並將複製的文字貼到輸入欄位。
- 選擇符合資料的模式。Collapse horizontal whitespace 適用於散文類型的內容,且必須保留換行。Trim lines and remove blank lines 適用於貼上的清單、日誌行或表格片段。Remove every whitespace character 僅適用於像 SKU、ID 或雜湊輸入這類精簡的代記。
- 選取「Clean text」並檢視輸出面板。面板會回報已移除的 JavaScript UTF-16 碼位數,以及最終輸出的長度,因此你可以驗證清理作業是否符合預期。
- 選取「Copy」將清理後的字串放進剪貼簿,然後回到 Excel,以 Ctrl+V 貼到目標儲存格或範圍中。
變更輸入或模式會清除先前的輸出,以免你不小心複製到舊的結果。如果瀏覽器封鎖剪貼簿存取,頁面會提示並保留唯讀的結果以供手動選取,因此你的工作內容絕對不會遺失。
為你的資料選擇正確的清理模式
三種模式刻意設計為互不相同,選錯模式可能會悄悄改變文字的意義。下表摘要說明每個模式的用途、保留內容,以及容易出錯的地方。
| 模式 | 最適用於 | 保留 | 風險 |
|---|---|---|---|
| Collapse horizontal whitespace | 段落、地址、多行註解 | 段落之間的換行和空白行 | 不會縮排程式碼,也無法保留定位字元欄 |
| Trim lines and remove blank lines | 貼上的清單、日誌、表格片段、OCR 輸出 | 每個非空行之內的內部間距 | 如果某行僅包含空格,可能會誤刪你真正需要的該行 |
| Remove every whitespace character | SKU、ID、參考代碼、精簡的機器代記 | 無;所有空白都會被移除 | 會把相鄰的字詞或記錄連在一起 |
如果你的目標是清理一整欄來自網頁表格的貼上值,trim-lines 模式通常是最安全的選擇。如果你只需要從複製的清單中刪除散落的空白列,比較聚焦的空行工作流程可能更合適,而專門的 從 Excel 刪除空行的指南會詳細說明這種情況。
需要注意的限制,以及什麼時候該繼續使用 Excel
Whitespace Remover 是文字工具,不是試算表工具。它無法理解公式、條件式格式、合併儲存格、命名範圍或資料驗證。只能透過它貼上純粹的儲存格值,絕對不要貼上公式範圍。輸出長度與移除數量是以 JavaScript UTF-16 碼位表示,這對完全相同的輸入而言是確定性的,但並不等同於字符數、位元組數或字數。表情符號和某些歷史文字可能會使用多個碼位,而本工具並不會宣稱能處理這種情況。
本工具不會自動進行拼字檢查、標點符號修正、Unicode 正規化、引號智慧轉換、重複資料移除或大小寫轉換,因此你不會遇到未經要求的隱藏變更。對於原始碼、法律文字、固定寬度資料、YAML、Python 或任何縮排與行尾符號具有意義的語法,請先在樣本上預覽結果,或改用具備格式感知的編輯器。如果換行是你唯一想處理的問題,且希望保留所有空格與定位字元,相關的換行移除工具會是更聚焦的選項。
想進一步了解,請參閱 如何從 Excel 資料產生文字雲。