分享

Excel函数应用—Trim、Clean、Substitute函数

 昵称30835430 2016-02-21

一、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公斤

—————————————————————————————————————————————————————
 综合运用:删除文本中的空格和非打印字符Excel函数应用—Trim、Clean、Substitute函数 - 一片白云 - 一片白云Excel函数应用—Trim、Clean、Substitute函数 - 一片白云 - 一片白云
  以前在EXcelHome论坛看到一网友问:他的电子表格“求和”出现错误(公式完全确),不知什么原因,起始想到的可能是数字前后出现空格,然后用Trim函数处理,不管用。为了进一步找出原因,对每一个数据进行查看,发现有空格,但为什么Time删除不了呢?请看下文

有时文本值包含前导、尾部或多个嵌入空格字符(Unicode字符集值32160,或者非打印字符(Unicode字符集值031127129141143144157。在您执行排序、筛选或搜索时,这些字符有时会导致意外结果。例如,用户可能由于不慎添加额外空格字符而导致录入错误,或者从外部源导入的文本数据可能包含在文本中嵌入的非打印字符。由于这些字符不容易引起注意,可能会导致难于理解的意外结果。要解决这些不需要的字符,您可以结合使用TRIMCLEANSUBSTITUTE函数。

TRIM函数删除文本中除单词之间的单个空格外的所有空格。CLEAN函数删除文本中的所有非打印字符。这两个函数都设计用于7ASCII,它是ANSI字符集的一个子集。7ASCII中的前128个值(0127)与Unicode字符集中的前128个值代表相同的字符,了解这一点很重要。

TRIM函数设计用于清除文本中的7ASCII空格字符(值32)。在Unicode字符集中,有一个称为不间断空格字符的额外空格字符,其十进制值为160。该字符通常在网页中用作HTML实体 TRIM函数本身不删除此不间断空格字符。

CLEAN函数设计用于删除文本中7ASCII代码中的前32个非打印字符(值031)。在Unicode字符集中,有附加的非打印字符(值为127129141143144157)。CLEAN函数自身不删除这些附加的非打印字符。

要执行此任务,请使用SUBSTITUTE函数用7ASCII字符(TRIMCLEAN函数就是为这些字符设计的)替换较高值的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)

归纳如下:Excel函数应用—Trim、Clean、Substitute函数 - 一片白云 - 一片白云Excel函数应用—Trim、Clean、Substitute函数 - 一片白云 - 一片白云Excel函数应用—Trim、Clean、Substitute函数 - 一片白云 - 一片白云

 1、使用Clean删除值031的非打印字符;

 2、使用Trim删除值为32的非打印字符;

 3、使用Substitute将值为127129141143144157的非打印字符与值为160空格字符替换成值为0的非打印字符,再用Clean进行删除。

 Unicode字符集:UnicodeConsortium开发的一种字符编码标准。该标准采用多个字节代表每一字符,实现了使用单个字符集代表世界上几乎所有书面语言。

 ANSI字符集:MicrosoftWindows使用的8位字符集,允许您使用键盘表示多达256个字符(0255)。ASCII字符集是ANSI集的子集。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多