一、TRIM 函數(shù)
語(yǔ)法:TRIM(text)
說(shuō)明:除了單詞之間的單個(gè)空格外,清除文本中所有的 7 位 ASCII 空格字符(值 32)。
TRIM 函數(shù)語(yǔ)法具有下列參數(shù) :
Text 必需。需要?jiǎng)h除其中空格的文本。
示例
=TRIM(' First Quarter Earnings ') 刪除公式中文本的前導(dǎo)空格和尾部空格 (First Quarter Earnings)
二、CLEAN 函數(shù)
語(yǔ)法:CLEAN(text)
說(shuō)明:刪除文本中7 位 ASCII 碼的前 32 個(gè)非打印字符(值為 0 到 31)。
示例:
A2=CHAR(7)&'text'&CHAR(7)
=CLEAN(A2) 值:text
三、SUBSTITUTE 函數(shù)
語(yǔ)法:SUBSTITUTE(text, old_text, new_text, [instance_num])
說(shuō)明:在文本字符串中用 new_text 替代 old_text。
如果需要在某一文本字符串中替換指定的文本,請(qǐng)使用函數(shù)SUBSTITUTE;如果需要在某一文本字符串中替換指定位置處的任意文本,請(qǐng)使用函數(shù) REPLACE。
SUBSTITUTE 函數(shù)語(yǔ)法具有下列參數(shù):
Text 必需。需要替換其中字符的文本,或?qū)形谋荆ㄐ枰鎿Q其中字符)的單元格的引用。
Old_text 必需。需要替換的舊文本。
New_text 必需。用于替換 old_text 的文本。
Instance_num 可選。用來(lái)指定要以 new_text 替換第幾次出現(xiàn)的 old_text。如果指定了 instance_num,則只有滿足要求的 old_text 被替換;否則會(huì)將 Text 中出現(xiàn)的每一處 old_text 都更改為 new_text。
示例:
=SUBSTITUTE('銷售數(shù)據(jù)', '銷售', '成本') 值:成本數(shù)據(jù)
=SUBSTITUTE('2011 年第一季度產(chǎn)值1200公斤', '1', '2', 1) 值:2021 年第一季度產(chǎn)值1200公斤
=SUBSTITUTE('2011 年第一季度產(chǎn)值1200公斤', '1', '2', 3) 值:2011 年第一季度產(chǎn)值2200公斤
=SUBSTITUTE('2011 年第一季度產(chǎn)值1200公斤', '1', '2') 值:2022 年第一季度產(chǎn)值2200公斤
—————————————————————————————————————————————————————
綜合運(yùn)用:刪除文本中的空格和非打印字符
以前在EXcelHome論壇看到一網(wǎng)友問(wèn):他的電子表格“求和”出現(xiàn)錯(cuò)誤(公式完全確),不知什么原因,起始想到的可能是數(shù)字前后出現(xiàn)空格,然后用Trim函數(shù)處理,不管用。為了進(jìn)一步找出原因,對(duì)每一個(gè)數(shù)據(jù)進(jìn)行查看,發(fā)現(xiàn)有空格,但為什么Time刪除不了呢?請(qǐng)看下文
有時(shí)文本值包含前導(dǎo)、尾部或多個(gè)嵌入空格字符(Unicode字符集值32和160),或者非打印字符(Unicode字符集值0到31、127、129、141、143、144和157)。在您執(zhí)行排序、篩選或搜索時(shí),這些字符有時(shí)會(huì)導(dǎo)致意外結(jié)果。例如,用戶可能由于不慎添加額外空格字符而導(dǎo)致錄入錯(cuò)誤,或者從外部源導(dǎo)入的文本數(shù)據(jù)可能包含在文本中嵌入的非打印字符。由于這些字符不容易引起注意,可能會(huì)導(dǎo)致難于理解的意外結(jié)果。要解決這些不需要的字符,您可以結(jié)合使用TRIM、CLEAN和SUBSTITUTE函數(shù)。
TRIM函數(shù)刪除文本中除單詞之間的單個(gè)空格外的所有空格。CLEAN函數(shù)刪除文本中的所有非打印字符。這兩個(gè)函數(shù)都設(shè)計(jì)用于7位ASCII,它是ANSI字符集的一個(gè)子集。7位ASCII中的前128個(gè)值(0到127)與Unicode字符集中的前128個(gè)值代表相同的字符,了解這一點(diǎn)很重要。
TRIM函數(shù)設(shè)計(jì)用于清除文本中的7位ASCII空格字符(值32)。在Unicode字符集中,有一個(gè)稱為不間斷空格字符的額外空格字符,其十進(jìn)制值為160。該字符通常在網(wǎng)頁(yè)中用作HTML實(shí)體 。TRIM函數(shù)本身不刪除此不間斷空格字符。
CLEAN函數(shù)設(shè)計(jì)用于刪除文本中7位ASCII代碼中的前32個(gè)非打印字符(值0到31)。在Unicode字符集中,有附加的非打印字符(值為127、129、141、143、144和157)。CLEAN函數(shù)自身不刪除這些附加的非打印字符。
要執(zhí)行此任務(wù),請(qǐng)使用SUBSTITUTE函數(shù)用7位ASCII字符(TRIM和CLEAN函數(shù)就是為這些字符設(shè)計(jì)的)替換較高值的Unicode字符。
示例
行與列號(hào)
A
1
數(shù)據(jù)
2
BD122
3
XY453
4
BD 122
5
MN987
公式
說(shuō)明(結(jié)果)
=TRIM(A2)
刪除字符串“BD122 ”中的尾部空格(BD112)
=CLEAN(A3)
從由表達(dá)式='XY'&CHAR(7)&'453'(XY453)生成的字符串值中刪除非打印BEL字符(ASCII值為7)
=TRIM(SUBSTITUTE(A4,CHAR(160),CHAR(32)))
通過(guò)使用SUBSTITUTE函數(shù),用一個(gè)空格字符(ASCII值為32)替換每個(gè)不間斷空格字符(Unicode值為160),然后從字符串“BD122”中刪除前導(dǎo)空格和多個(gè)嵌入空格(BD112)
=CLEAN(SUBSTITUTE(A5,CHAR(127),CHAR(7)))
通過(guò)使用SUBSTITUTE函數(shù),用BEL字符(ASCII值為7)替換非打印DEL字符(ASCII值為127),然后從字符串“MN987”中刪除BEL字符(MN987)
歸納如下:
1、使用Clean刪除值0到31的非打印字符;
2、使用Trim刪除值為32的非打印字符;
3、使用Substitute將值為127、129、141、143、144、157的非打印字符與值為160空格字符替換成值為0的非打印字符,再用Clean進(jìn)行刪除。
Unicode字符集:UnicodeConsortium開發(fā)的一種字符編碼標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)采用多個(gè)字節(jié)代表每一字符,實(shí)現(xiàn)了使用單個(gè)字符集代表世界上幾乎所有書面語(yǔ)言。
ANSI字符集:MicrosoftWindows使用的8位字符集,允許您使用鍵盤表示多達(dá)256個(gè)字符(0到255)。ASCII字符集是ANSI集的子集。