Excel函数应⽤—Trim、Clean、Substitute函数
⼀、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  必需。需要替换其中字符的⽂本,或对含有⽂本(需要替换其中字符)的单元格的引⽤。trim函数的作用是删除文本的什么空格
  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数据
1数据
2BD122
3XY453
4BD 122
5MN987
公式说明(结果)=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、14
4、157的⾮打印字符与值为160空格字符替换成值为0的⾮打印字符,再⽤Clean进⾏删除。
 Unicode字符集:UnicodeConsortium开发的⼀种字符编码标准。该标准采⽤多个字节代表每⼀字符,实现了使⽤单个字符集代表世界上⼏乎所有书⾯语⾔。
 ANSI字符集:MicrosoftWindows使⽤的8位字符集,允许您使⽤键盘表⽰多达256个字符(0到255)。ASCII字符集是ANSI集的⼦集。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。