Excel clean函式5個例項,不可刪除的非列印字元的刪除方法

Clean函式用於刪除Excel中文字中所有不可列印的字元。如果這些字元位於文字前後,則可以全部刪除;如果它們位於字元或單詞之間,則不會全部刪除,而是保留一個字元。Clean函式的工作方式與Trim函式類似,只是Trim函式用於刪除空間。

Clean函式只能刪除ASCII程式碼為0到31的非列印字元。無法刪除某些非列印Unicode字元。這種情況需要替換為替換函式;如果仍然不能刪除,則需要合併Left、Mid、Right、Code和其他函式。此外,Clean的文字引數可以是陣列,此函式可以一次刪除一列中的所有非列印字元。如果求和值包含非列印字元,則需要刪除這些字元,然後使用Clean對其求和。

一、 Excel Clean函式的語法

1、表示式:乾淨(文字)

2、說明:

A、 Clean函式用於刪除文字中的所有非列印字元。這些非列印字元是指在ASCII程式碼表中編碼為0-31的字元。有些是空間,有些不是。有關詳細資訊,請參閱文章“ASCII表”。

B、 除ASCII程式碼表中的非列印字元外,Unicode字符集也有非列印字元,其值為127、129、141、143、144和157,Clean函式不能刪除它們,要刪除,需要使用替換函式。

C、 引數文字是刪除非列印字元的文字;Clean函式可以刪除文字前後的所有非列印字元,也可以刪除文字之間的非列印字元,但它不會刪除字元之間的所有非列印字元,它會留下一個,這與用於刪除空間的Trim函式相同。

二、 Excel Clean函式例項

(一) 刪除文字前後的所有非列印字元

1、如果要刪除文字“Excel函式教程”前後的所有非列印字元。雙擊單元格A1,將公式=CHAR(9)&“Excel函式教程”&CHAR(11)複製到A1,選擇B1,輸入公式=CLEAN(A1),按enter,返回“Excel函式教程”;選擇A1:B1,按Ctrl+C複製,切換到空記事本視窗,按Ctrl+V貼上,刪除A1文字前後所有非列印字元,選擇“Excel函式教程”,複製到A2,在B2中輸入公式=CLEAN(A2),按回車鍵,返回“Excel函式教程”,操作過程步驟如圖1所示:

Excel clean函式5個例項,不可刪除的非列印字元的刪除方法

圖1

2、說明:

A、 CHAR(9)返回“水平製表符”,9是水平製表符的ASCII碼;CHAR(11)返回“垂直製表符”,11是垂直製表符的ASCII碼。

B、 Clean函式既可以刪除Char函式返回的非列印字元,也可以刪除從上面演示的文字複製到單元格的非列印字元。

(二) 刪除單詞之間的非列印字元

1、如果要刪除文字“Excel函式教程”中的非列印空間。在記事本視窗中選擇要刪除的文字,按Ctrl+C複製,切換到Excel視窗,雙擊A1,按Ctrl+V將文字貼上到A1,選擇B1,輸入formula=CLEAN(A1),按enter,返回“Excel函式教程”,文字之間仍有空格,將其複製回記事本視窗並比較原始文字;過程步驟如圖2所示:

Excel clean函式5個例項,不可刪除的非列印字元的刪除方法

圖2

2、公式說明:

A、 公式=CLEAN(A1)不能刪除“Excel函式教程”中的非列印空格,只留下一個,如果要刪除空格,請使用以下方法。

三、 Excel Clean函式不能刪除非列印字元的刪除方法

(一) 刪除字元之間的所有空格

1、如果要刪除“Excel func ti on tutorial”中的“func ti on”空格。雙擊單元格A1,選擇一個空格,按Ctrl+C進行復制;選擇B1,輸入公式=SUBSTITUTE(A1,”,按Ctrl+V將空格貼上為被替換的字元,然後鍵入“,”,按回車鍵,返回文字“Excel函式教程”;操作步驟如圖3所示:

Excel clean函式5個例項,不可刪除的非列印字元的刪除方法

圖3

2、公式=替換(A1,“,”)說明:

Substitute函式是一個替換函式,它將一個字元或一個字串替換為另一個字元或另一個字串;A1是替換某些字元的文字,“is replaced character”,“replaces The character in The formula=Substitute(A1,”,“”),公式的意思是:將A1中的“全部替換為”。

(二) 刪除Unicode非列印字元

某些Unicode非列印字元不能被Clean函式刪除,還需要用替換函式替換它,如下所示:

1、如果要刪除Unicode字符集中ASCII為127的字元;雙擊單元格A1,選擇文字後面的非列印字元,按Ctrl+C複製,選擇B1,輸入formula=SUBSTITUTE(A1,”,按Ctrl+V貼上複製的字元,繼續鍵入“,”),按enter,刪除所有非列印字元;雙擊B2,將公式=SUBSTITUTE(A1,CHAR(127),“”複製到B2,按Enter鍵,同時刪除A1中所有非列印字元;雙擊A3,將CHAR(127)表示的非列印字元,將公式=SUBSTITUTE(A3,CHAR(127),“”複製到B3,按Enter鍵,A3中所有非列印字元也被刪除,操作步驟如圖4所示:

Excel clean函式5個例項,不可刪除的非列印字元的刪除方法

圖4

2、公式說明:

A、 公式=SUBSTITUTE(A1,“,”)和=SUBSTITUTE(A1,CHAR(127),“”)用空文字“”替換ASCII程式碼為127的非列印字元;這兩個公式的區別在於前者將A1中的非列印字元複製到公式中,後者用CHAR(127)直接返回非列印字元。

B、 A3中的非列印字元用CHAR(127)返回,您也可以用CHAR(127)替換它們,作為替換公式=SUBSTITUTE(A3,CHAR(127),“”中的替換字元。

提示:如果使用上述方法不能刪除非列印字元,可以使用Left、Mid或Right函式擷取非列印字元作為替換字元,然後刪除。有關詳細資訊,請參閱文章“如何使用Excel Trim函式(6個示例,帶前導、尾隨、頑固空格和左鍵)”。

四、 Excel Clean函式的擴充套件應用例項

(一) Sum+Clean函式組合新增帶有非列印字元的數字

1、如果要對其值為文字且前面有非列印字元的列求和。雙擊單元格D9,輸入公式=SUM(D2:D8),按enter鍵,返回0;再次雙擊D9,將公式改為=SUM(VALUE(CLEAN(D2:D8)),按Ctrl+Shift+enter鍵,返回求和結果5028;操作過程步驟如圖5所示:

Excel clean函式5個例項,不可刪除的非列印字元的刪除方法

圖5

2、公式=和(值(乾淨(D2:D8)))說明:

A、 公式=SUM(D2:D8)返回0,因為D2:D8中的值前面有非列印字元。計算時,Sum函式無法將它們轉換為數值。

B、 公式=SUM(VALUE(CLEAN(D2:D8))是一個數組公式,陣列公式需要按Ctrl+Shift+Enter返回計算結果。

C、 D2:D8將D2到D8中的所有值作為陣列返回。然後,Clean函式刪除每個值前面的非列印字元,最後返回陣列{“638”;“982”;“897”;“892”;“528”;“329”;“762”}。

D、 公式變成=和(值({“638”;“982”;“897”;“892”;“528”;“329”;“762”}),進一步計算,陣列中的所有元素都是從文字轉換的數值。

E、 公式變為=SUM({638;982;897;892;528;329;762}),最後用SUM函式對陣列求和。

提示:如果在D9中一次求和後仍不能求和,則需要將D9的單元格格式設定為“數字”,按Ctrl+1組合鍵,開啟“格式單元格”視窗,選擇“數字”頁籤,最後選擇左側的“數字”。