文本函数trim和clean的用法
接着说文本函数,今天主要讲下trim函数,顺便提一下clean函数。trim函数是个修剪函数,它的功能是除了单词之间的单个空格之外,移除文本中的所有空格。clean函数是删除文本中所有不能打印的字符。
-01-
函数说明
TRIM 函数语法结构如下,只有一个参数
TRIM(text)
Text 必需。要从中移除空格的文本。
-02-
示例解释
如下图所示在A列是一些字符串,B列是trim函数的结果,C列是B列的字符数。在B2单元格中输入公式=TRIM(A2),向下拖动就是B列的结果。C2单元格的公式为=LEN(B2)。
请注意,A列是左对齐的,单元格中有很多空格,有的在2端,有的在中间,有的2端和中间都有。我在A2单元格中双击鼠标,可以看见下图的光标,说明在A2单元格中两端和中间都是有空格的,再看B2单元格和C2单元格的结果。B2单元格有5个字符,“abc”占了3个,还有它们中间的空格占了2个。
说明了2点:第1,trim把两端的空格全部去掉。第2,把单词和单词之间的空格还保留1个,而不是全部去掉。我想这可能是英文单词之间要留一个空格吧,要不然英语都连在一起还怎么看。
下图是B2单元格的结果。其他单元格也是一样的效果,中文汉字也是如此。
-03-
具体应用
1.提取尺码
如下图所示,A列是一些产品的属性,现要求将最后的尺码提取出来。在B8单元格中输入公式=TRIM(RIGHT(SUBSTITUTE(A8,"-",REPT(" ",9)),9)),向下拖动。现在B列的对齐方式是居中。
思路是这样的,把所有的“-”替换为多个空格“ ”,这里我替换为9个空格。然后从右边提取9位,这时左边肯定有多余的空格,最后用trim把左侧的空格删掉。
将“-”替换为9个空格,结果是下图这样的。如果你对substitute不了解,看这篇文章查找替换函数,substitute和replace你知道它们的区别吗?
9个空格用的是重复函数rept,前几天刚说过的,不了解查历史文章。
从右边提取9位,是下图这样的结果。现在的对齐方式是左对齐,最左边是有多余的空格的。最后外层套个trim就是上面的结果。
2.提取类型和颜色
如下图所示,将中间的2个属性提取出来。在B13单元格中输入公式=SUBSTITUTE(TRIM(MID(SUBSTITUTE(A14,"-",REPT(" ",99)),99,99*2))," ","-"),向下填充。
和上1题的思路差不多,先将“-”全部替换为多个空格,只不过这次替换为99个。然后用mid从第99位开始提取,提取的位数为99*2,这样就把中间的部分提取出来了。再用trim将空格修剪掉,最后把中间的一个空格替换为“-”。
当然除了这种解法,还有其他多种解法,我列出了1种,在C14单元格中输入公式=MID(A14,FIND("-",A14)+1,MATCH(1,0/(MID(A14,ROW($1:$30),1)="-"))-FIND("-",A14)-1),向下填充。希望你也能想到更多的解法。
好了,trim就说到这里,下面简单提提clean函数。
它是将非打印字符删掉,比如制表符char(9)和换行符char(10)等。函数语法结构为clean(text),只有1个参数。
如下图所示,A19单元格有换行,说明有换行符。在B19单元格输入公式=CLEAN(A19),是如下结果,没有换行了,说明把换行符删掉了。