一、TRIM 函数 语法:TRIM(text) 说明:除了单词之间的单个空格外,清除文本中所有的 7 位 ASCII 空格字符(值 32)。 TRIM 函数语法具有下列参数 : Text 必需。需要删除其中空格的文本。 示例 =TRIM(' First Quarter Earnings ') 删除公式中文本的前导空格和尾部空格 (First Quarter Earnings) 二、CLEAN 函数 语法:CLEAN(text) 说明:删除文本中7 位 ASCII 码的前 32 个非打印字符(值为 0 到 31)。 示例: A2=CHAR(7)&'text'&CHAR(7) =CLEAN(A2) 值:text 三、SUBSTITUTE 函数 语法:SUBSTITUTE(text, old_text, new_text, [instance_num]) 说明:在文本字符串中用 new_text 替代 old_text。 如果需要在某一文本字符串中替换指定的文本,请使用函数SUBSTITUTE;如果需要在某一文本字符串中替换指定位置处的任意文本,请使用函数 REPLACE。 SUBSTITUTE 函数语法具有下列参数: Text 必需。需要替换其中字符的文本,或对含有文本(需要替换其中字符)的单元格的引用。 Old_text 必需。需要替换的旧文本。 New_text 必需。用于替换 old_text 的文本。 Instance_num 可选。用来指定要以 new_text 替换第几次出现的 old_text。如果指定了 instance_num,则只有满足要求的 old_text 被替换;否则会将 Text 中出现的每一处 old_text 都更改为 new_text。 示例: =SUBSTITUTE('销售数据', '销售', '成本') 值:成本数据 =SUBSTITUTE('2011 年第一季度产值1200公斤', '1', '2', 1) 值:2021 年第一季度产值1200公斤 =SUBSTITUTE('2011 年第一季度产值1200公斤', '1', '2', 3) 值:2011 年第一季度产值2200公斤 =SUBSTITUTE('2011 年第一季度产值1200公斤', '1', '2') 值:2022 年第一季度产值2200公斤 ————————————————————————————————————————————————————— 综合运用:删除文本中的空格和非打印字符  以前在EXcelHome论坛看到一网友问:他的电子表格“求和”出现错误(公式完全确),不知什么原因,起始想到的可能是数字前后出现空格,然后用Trim函数处理,不管用。为了进一步找出原因,对每一个数据进行查看,发现有空格,但为什么Time删除不了呢?请看下文 有时文本值包含前导、尾部或多个嵌入空格字符(Unicode字符集值32和160),或者非打印字符(Unicode字符集值0到31、127、129、141、143、144和157)。在您执行排序、筛选或搜索时,这些字符有时会导致意外结果。例如,用户可能由于不慎添加额外空格字符而导致录入错误,或者从外部源导入的文本数据可能包含在文本中嵌入的非打印字符。由于这些字符不容易引起注意,可能会导致难于理解的意外结果。要解决这些不需要的字符,您可以结合使用TRIM、CLEAN和SUBSTITUTE函数。 TRIM函数删除文本中除单词之间的单个空格外的所有空格。CLEAN函数删除文本中的所有非打印字符。这两个函数都设计用于7位ASCII,它是ANSI字符集的一个子集。7位ASCII中的前128个值(0到127)与Unicode字符集中的前128个值代表相同的字符,了解这一点很重要。 TRIM函数设计用于清除文本中的7位ASCII空格字符(值32)。在Unicode字符集中,有一个称为不间断空格字符的额外空格字符,其十进制值为160。该字符通常在网页中用作HTML实体 。TRIM函数本身不删除此不间断空格字符。 CLEAN函数设计用于删除文本中7位ASCII代码中的前32个非打印字符(值0到31)。在Unicode字符集中,有附加的非打印字符(值为127、129、141、143、144和157)。CLEAN函数自身不删除这些附加的非打印字符。 要执行此任务,请使用SUBSTITUTE函数用7位ASCII字符(TRIM和CLEAN函数就是为这些字符设计的)替换较高值的Unicode字符。 示例 行与列号 | A | 1 | 数据 | 2 | BD122 | 3 | XY453 | 4 | BD 122 | 5 | MN987 | 公式 | 说明(结果) | =TRIM(A2) | 删除字符串“BD122 ”中的尾部空格(BD112) | =CLEAN(A3) | 从由表达式='XY'&CHAR(7)&'453'(XY453)生成的字符串值中删除非打印BEL字符(ASCII值为7) | =TRIM(SUBSTITUTE(A4,CHAR(160),CHAR(32))) | 通过使用SUBSTITUTE函数,用一个空格字符(ASCII值为32)替换每个不间断空格字符(Unicode值为160),然后从字符串“BD122”中删除前导空格和多个嵌入空格(BD112) | =CLEAN(SUBSTITUTE(A5,CHAR(127),CHAR(7))) | 通过使用SUBSTITUTE函数,用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进行删除。 Unicode字符集:UnicodeConsortium开发的一种字符编码标准。该标准采用多个字节代表每一字符,实现了使用单个字符集代表世界上几乎所有书面语言。 ANSI字符集:MicrosoftWindows使用的8位字符集,允许您使用键盘表示多达256个字符(0到255)。ASCII字符集是ANSI集的子集。
|