Excel 儲存格內的換行字元是一個不可見的字元——通常是 LF 的 CHAR(10) 或 CR 的 CHAR(13)——它會將文字推到下一個視覺行,但所有內容仍保留在同一個儲存格中。若要從 Excel 儲存格中移除換行,請將儲存格的內容貼到 Line Break Remover 工具中,選擇一種模式(以空格取代、完全移除,或保留段落),然後將清理後的文字複製回儲存格。這種方法可處理 Excel 在貼上資料時實際能接受的五種換行符記號:CRLF、單獨的 CR、單獨的 LF、U+2028 以及 U+2029。在 Excel 本身中,您也可以使用 Ctrl+J 的 Find & Replace、SUBSTITUTE 函數、CLEAN 或 Power Query——但每種方法處理的字元子集略有不同,這就是為什麼隱藏的分隔符即使在您以為已清理完畢後,仍然經常殘留的原因。這個差異很重要,因為 Excel 匯入的資料經常會從來源繼承 CRLF 或 LF,而從文件系統或頁面編輯器複製出來的文字則可能帶有 U+2028 或 U+2029,在儲存格檢視畫面中看起來與一般換行完全相同。

為什麼 Excel 儲存格會累積隱形的換行符
最常見的原因是從網頁或 PDF 複製貼上。HTML 原始碼使用 CRLF,PDF 擷取通常使用 LF,而 Word 的剪貼簿格式則常常保留文件原本的換行格式。一旦換行字元進入儲存格,Excel 的自動換行設定會以視覺方式重新繪製它,而不變更底層字元,這就是為什麼即使您關閉自動換行,儲存格看起來仍然包含換行。
Alt+Enter 是直接手動插入這類字元的快捷鍵。進階使用者也會透過以下方式產生這些字元:匯入欄位內含嵌式換行的雙引號 CSV 檔、在公式中串接 CHAR(10),或接收來自 API 且 JSON 回應中包含字面 \n 的資料。這些來源都不會區分 LF、CR、CRLF 以及兩種 Unicode 分隔符,因此同一個儲存格很容易在同字串中包含一種以上的換行字元。
這之所以與移除作業有關,是因為只搜尋 Excel 所稱 Char(10) 這「換行字元」字面值的工具,將會默默地遺漏儲存格內的其他字元。這通常就是當您在執行多次清理後,儲存格看起來仍然損壞的原因。
使用 Excel 內建工具移除換行
如果您希望完全留在 Excel 中操作,常用的方法有四種。每種方法的範圍不同,正確的選擇取決於您的資料實際包含哪些內容。
- 使用 Ctrl+J 的 Find and Replace。選取範圍,按 Ctrl+H 開啟 Replace,將游標移至 Find what 方塊內,然後按 Ctrl+J 插入換行字元。將 Replace with 留空以刪除換行,或輸入一個空格以連接各行。按一下 Replace All。此方式可處理 Excel 通常儲存的 LF 與 CRLF,但無法對應 U+2028 或 U+2029。
- SUBSTITUTE 公式。在輔助欄中,輸入 =SUBSTITUTE(A1, CHAR(10), " ") 以將 LF 取代為空格,或輸入 =SUBSTITUTE(SUBSTITUTE(A1, CHAR(13), " "), CHAR(10), " ") 同時處理 CR 與 LF。如果您還希望壓縮取代所產生的雙空格,請將結果以 TRIM 包起來。
- CLEAN 函數。=CLEAN(A1) 會從 7 位元 ASCII 範圍中移除前 32 個不可列印字元,涵蓋 LF 與 CR。但它不會處理 U+2028、U+2029、Tab 字元或不中斷空格。
- Power Query。將範圍載入 Power Query,使用 Replace Values 並以特殊字元 #(lf)、#(cr) 或兩者作為要尋找的值。這是針對您會定期重新整理的檔案,在 Excel 中最可靠的選項。
若您只想要快速進行單次清理,且不想撰寫公式或載入 Power Query,單步驟 Excel 清理 會更詳細地逐步說明 Ctrl+J 的操作流程。不過,如果您還希望在同一次處理中移除 U+2028 與 U+2029,或是想知道實際偵測到多少個換行、以及實際移除了多少個,那麼 Excel 的內建工具本身無法提供這類確認資訊。
能處理所有換行類型的更快速選項
Lizely 上的 Line Break Remover 工具可在一次操作中辨識全部五種換行符記號:CRLF 算作一個組合記號,加上單獨的 CR、單獨的 LF,以及 Unicode 行分隔符 U+2028 與 U+2029。辨識作業是依據實際的 Unicode 字碼點進行,而非視覺呈現,因此看起來與一般換行相同、但實際上是 U+2029 的分隔符,仍會被計數並取代。
整個轉換程序完全在目前的瀏覽器分頁中執行。不會上傳任何資料,文字永遠不會離開此頁面,而輸出區域會持續顯示結果,以便在剪貼簿按鈕無法存取系統剪貼簿時,您仍可手動複製。由於此工具會報告已偵測、已移除與剩餘的記號數量,您可以在將清理後的文字貼回 Excel 之前,先驗證輸入內容是否確實包含您預期的換行。
在儲存格內容上使用 Line Break Remover
若要透過此工具處理一個或多個儲存格,請從 Excel 複製儲存格內容,切換到託管 Line Break Remover 的瀏覽器分頁,貼上文字,然後選擇與您希望呈現的結果相符的模式。
- 貼上儲存格文字並選擇模式。將內容放入輸入區,然後從三個明確選項中選擇一個:將每個換行記號取代為一個普通空格、將每個記號取代為空字串(完全移除),或保留段落邊界同時連接單行換行的內容。
- 處理文字並檢視計數。觸發轉換後,結果面板會顯示輸入中偵測到多少個換行記號、移除了多少個,以及剩下多少個。取代與移除模式一律回報剩餘數量為零;段落模式回報的剩餘記號數量,等於來源中代表段落邊界之多換行連續段數的兩倍。
- 複製輸出,或手動選取。若瀏覽器具有剪貼簿權限,請使用複製按鈕。若無法存取剪貼簿,轉換後的文字仍會顯示在輸出區域,可用滑鼠選取並進行一般複製。複製完成後,請返回 Excel,將清理後的文字貼回原本的儲存格。
如果您需要編輯輸入或切換模式,請在將輸出貼回 Excel 之前完成。編輯輸入或變更模式會清除面板中的先前結果、計數以及任何剪貼簿狀態,如此您便不會不小心貼到舊的結果。
哪種模式符合您的資料
這三種模式無法互相替代。每種模式都會對每個辨識到的換行記號進行特定且有記錄的修改,因此請選擇與您從 Excel 複製出來的來源形狀相符的模式。
| 模式 | 對每個記號的處理方式 | 結果統計 | 最適合的情境 |
|---|---|---|---|
| 以一個空格取代 | 每個辨識到的換行記號都會變成正好一個 U+0020 空格。因此,兩個連續記號會變成兩個空格。 | 偵測數等於移除數;剩餘數為零。 | 連接硬換行的散文、清理聊天匯出、準備提示文字、連接地址行。 |
| 完全移除 | 每個辨識到的換行記號都會變成空字串。僅由換行分隔的詞彙會直接連在一起。 | 偵測數等於移除數;剩餘數為零。 | 移除記錄分隔符、扁平化機器產生的匯出、連接識別項。 |
| 保留段落 | 正好一個記號的連續段會變成一個空格。兩個或以上記號的連續段會變成正好兩個 LF 字元。記號之間的非換行空白字元會使它們維持在不同的連續段中。 | 偵測數等於移除數加剩餘數。每個多記號連續段會回報兩個剩餘;連續段中超過兩個的記號會計入移除數。 | 正規化使用空行作為邊界的段落,清理因分頁而產生空行間距的 PDF 文字。 |
如有疑問,請從「以一個空格取代」開始。這是唯一對自然語言安全的模式,因為它不會意外地將兩個詞彙合併。只有在您已確認換行從未作為承載語意的分隔符時(例如在固定格式記錄或識別項中),才切換到「完全移除」模式。
Line Break Remover 刻意保留的內容
此工具的範圍嚴格限定於五種已辨識的換行記號。空格、重複空格、Tab 字元、不中斷空格,以及任何位於開頭或結尾的非換行空白字元皆會原封不動地保留。標點符號、字母、數字與組合記號不會被修改、正規化或移除。此工具絕不會修剪輸入的開頭或結尾、壓縮重複空格、展開 Tab 字元,或處理不中斷空格。
有兩項限制規範此工具可接受的內容。輸入上限為 1,000,000 個 UTF-16 字碼單位;超過一個單位會在轉換前以明確訊息拒絕,而不會被默默切割。空輸入同樣會回報錯誤,而不是顯示誤導性的成功訊息。相比之下,僅含空白的輸入則視為有效,因為保留非換行空白屬於此工具契約的一部分。
若您的目標是移除所有類型的空白字元,而非僅限於換行,則需要使用其他工具。針對換行作業而言,明確的模式、精確的計數,以及可直接複製的本機輸出,使此工具成為 Excel 自身清理方法的可靠補充,特別是當來源資料可能帶有 Find and Replace 搭配 Ctrl+J 無法看見的 Unicode 行分隔符時。
相關閱讀:如何精準計算 Google Docs 中的行數。