如何刪除Excel中的不可打印字符?
在這篇文章中,我們將向您展示如何刪除 Excel 中的不可打印字符。ASCII 字符表(計算機間通信的標準數據編碼格式)中的前 32 個字符是不可打印的字符。這些字符不會顯示(或打印),但會告訴應用程序如何格式化數據。退格(ASCII 代碼 08)、回車(ASCII 代碼 13)、水平製表符(ASCII 代碼 09)和換行(ASCII 代碼 10)是不可打印字符的一些示例。
當您將數據從外部源導入或粘貼到 Microsoft Excel 中時,您最終可能會在工作表中出現一些不可打印的字符。Excel 將這些字符表示為方框。在本文中,我們將向您展示如何從 Excel 數據中識別和清除這些字符。
如何刪除Excel中的不可打印字符?
我們將討論以下兩種刪除 Excel 中不可打印字符的方法:
- 使用 SUBSTITUTE() 函數刪除不可打印的字符
- 使用 CLEAN() 函數刪除不可打印的字符
讓我們詳細了解這兩種方法
使用 SUBSTITUTE() 函數刪除 Excel 中的不可打印字符
Excel 提供了一個CODE() 函數,它返回給定字符的 ASCII 代碼。這基本上與用於將數字代碼轉換為字符的CHAR() 函數相反。使用 CODE() 和 CHAR() 函數識別不可打印字符後,您可以使用SUBSTITUTE() 函數用空字符串替換(或替換)該字符。
CODE() 函數的語法是:
代碼(文本)
- 其中text是需要 ASCII 字符代碼(第一個字符)的文本字符串。
CHAR() 函數的語法是:
字符(數字)
- 其中number是 1-255(擴展 ASCII 字符代碼)之間的數值。
並且,SUBSTITUTE() 函數的語法是:
替換(文本,舊文本,新文本,[instance_num])
在哪裡,
- text是指需要替換其中子串的文本串。
- old_text是指需要替換為new_text 的子串。
- new_text指的是要替換 old_text 的子字符串。
- [instance_num]指需要替換為new_text 的old_text 實例。如果未指定此參數,則每次出現的 old_text 都將替換為 new_text。
現在假設我們有一個工作表,其中單元格 A1 中有一個示例字符串,如上圖所示。該字符串在最右側包含一個不可打印的字符。要從字符串中刪除該字符,我們可以按以下方式使用上述函數:
將光標置於單元格 B1 中。在頂部的公式欄中鍵入以下公式:
=CODE(RIGHT(A1))
當按下回車鍵時,上述函數會返回11,即本例中Vertical Tab的ASCII碼。
現在將光標放在單元格 A2 中並輸入以下公式:
=SUBSTITUTE(A1,CHAR(11),"")
作為函數的結果,不可打印的字符將從原始字符串中刪除。
使用 CLEAN() 函數刪除 Excel 中的不可打印字符
Excel 中的CLEAN()函數從給定的文本字符串中刪除所有不可打印的字符。這是刪除Excel 中不可打印字符的最簡單、最直接的方法。
CLEAN() 函數的語法是:
清潔(文字)
- 其中text表示需要從中刪除不可打印字符的文本字符串。
對於上面的例子,我們可以使用 CLEAN() 函數通過以下方式去除不可打印的字符:
=CLEAN(A1)
簡單的?但是,我們稍後要介紹它的原因是它只刪除ASCII字符表中字符代碼介於0-31 之間的字符。因此,當您從某些外部源複製/粘貼數據時,它不會刪除可能潛入的不間斷空格( )。
不間斷空格是不能被文字處理器和其他應用軟件中的“自動換行”功能打斷的空格。如果要從文本字符串中刪除所有不可打印字符以及不間斷空格,則需要同時使用 CLEAN() 函數、SUBSTITUTE() 函數和 TRIM() 函數。
TRIM() 函數可用於修剪給定字符串兩端的空格。它用於修復Excel中的不規則間距。
TRIM() 函數的語法是:
修剪(文本)
- 其中text是指需要刪除前導和尾隨空格的文本字符串。
160 是不間斷空格的 ASCII 碼。使用 CHAR() 函數獲取不間斷空格的字符值。然後使用 SUBSTITUTE() 函數將不間斷空格替換為普通空格。然後使用 TRIM() 函數刪除原始文本字符串兩端的所有空格。
對於上面的例子,我們可以使用下面的公式從原始字符串中刪除不可打印字符和不間斷空格:
=TRIM(SUBSTITUTE(A3,CHAR(160),""))
我希望你覺得上面的帖子有幫助。
發佈留言