当Excel的TRIM功能不工作时该怎么办

当您复制或导入时文本数据成一个Excel工作表,电子表格偶尔会在你插入的内容之外保留额外的空格。通常情况下,TRIM()函数本身就可以删除这些不需要的空格它们是否出现在单词之间或文本字符串的开头或结尾。然而,在某些情况下,TRIM()不能完成这项工作。

在电脑上,单词之间的空格不是空白区域,而是一个字符——而且空格字符的类型不止一种。一个通常在网页中使用的、TRIM()不会删除的空格字符是插入空格

如果您已经从Web页面导入或复制了数据,那么如果这些额外的空格是由非中断空格创建的,那么使用TRIM()函数可能无法删除它们。

不间断和常规的空间

Excel修剪函数
泰德法国

空格是字符,每个字符由其ASCII码值引用。ASCII代表美国信息交换标准代码-电脑操作环境的文本字符国际标准,为电脑程序中使用的255个不同字符和符号编制一套代码。

不间断空格的ASCII码为160.的ASCII码常规的空间是32

TRIM()函数只能删除ASCII码为32的空格。

ASCII代码集表。
维基共享

不同的类型类型支持不同范围的ASCII码。标准表提供了127个可能的值;字体必须最低限度地支持127个字符的ASCII映射才被认为有效。但是“扩展”ASCII字符,也就是附加代码,经常会在您喜欢的字体中添加额外的字符。事实上,不间断空格本身就是一个扩展的ASCII字符,而标准空格是…好吧,标准。

删除不换行空格

使用TRIM()、SUBSTITUTE()和CHAR()函数从一行文本中删除不间断的空格。

因为SUBSTITUTE()和CHAR()函数嵌套在TRIM()函数中,所以必须将公式输入到工作表中,而不是使用函数'对话框进入参数

假设单元格A1中有不间断空格的数据,则公式为:

公式是如何运作的

每个嵌套函数执行一个特定的任务:

  • CHAR函数为公式中两个不同的空格规定了相关的ASCII码——160和32
  • SUBSTITUTE函数用规则空格替换或替换单词之间的所有非间断空格
  • TRIM函数删除单词之间额外的规则空格,以便语句在工作表中正常显示

给定Excel公式的操作顺序逻辑,公式调用SUBSTITUTE()函数,并告诉它用包含在单元格A1中的标准空格CHAR(32)替换每个出现的CHAR(160)——非间断空格。然后,TRIM()函数从被替换字符串中删除标准空格。

注意事项

如果TRIM()不能完成工作,除了不间断的空格之外,您可能还有其他问题,尤其是在使用HTML呈现的原始源材料时。当您将材料粘贴到Excel中时,将其粘贴为纯文本,以从字符串中去除背景格式,并删除特殊格式,如呈现为白色对白色的字符看起来像一个空间,但不是。还可以检查嵌入式制表符,它可以使用与上面相同的公式替换,但是将ASCII码160替换为9。

SUBSTITUTE()用于替换anyASCII代码与任何其他。

这个页面有用吗?