一个案例学会了10个常用文本函数,结合实际学的快!
商品编码规则类别+_+3位编号,现在我们要提取类别,可以使用LEFT函数处理
=LEFT(A2,2)
LEFT函数:
1、语法:LEFT(文本,[从左边截取的长度])
2、说明:截取长度可以不写,默认截取一位!
文本截取02 | RIGHT函数-右边截取
编号是末尾的3位,所以我们可以使用RIGHT右边截取函数来处理
=RIGHT(A2,3)
用法基本和LEFT一致,只是一个从头,一个从尾巴开始截取
RIGHT函数:
1、语法:RIGHT(文本,[从右边截取的长度])
2、说明:截取长度可以不写,默认截取一位!
文本截取03 | MID函数-中间截取
由于人工录入收据,经常一不小心就多录入一个空格,所以导致我们上面截取编号的方法就行不通了 ,bs_004后面被多输入了2个空格,如果截取3只能截取到4,这个是否,我们就需要从中间截取
使用MID从第四位开始截取,这样就算文末有空格,我们也可以正常截取到!
=MID(A2,4,3)
MID函数:
1、语法:MID(文本,开始位置,截取长度)
2、说明:截取长度超过文本开始位置之后长度,不影响结果!
这样似乎一个小小的商品编码分离问题就解决了,但是实际工作中并没有那么简单,坑很多!
文本长度 | LEN函数-计算文本长度
上面截取的时候发现结果不对,是因为有空格,那么如何发现有空格的呢?
因为有的空格是不可见的!可以使用LEN函数看看他的长度!
=LEN(A2)
长度不等于6的都是有问题的,因为编码规则是2类别+1下划线+3编号=6
LEN函数:
1、语法:LEN(文本)
2、结果:返回文本的长度!
现在我们可以通过LEN函数来检查哪些录入的有问题了,可能大部分是末尾有空格,如果头部有空格,我们使用刚刚的MID也解决不了问题,这种情况下,我们就要找到下划线的位置,从这个位置的下一个位置截取3位即可!
这个查找下划线的位置,就需要使用查找函数
文本查找 | FIND函数 + SEARCH函数 - 文本查找
=FIND("_",A2)
FIND函数:
1、语法:FIND(查询关键词,字符串,[开始查找的位置])
2、结果:返回关键词在文本中的首次出现的位置
3、说明:
① 如果字符串中不存在查找内容,返回错误值#VALUE!
② 区分 大小写
③ 如果我们不想区分大小写怎么办?
=SEARCH("SA",A2)
想要进一步研究FIND和SEARCH的联系和区别的,看文末推荐文章!
④ 第三参数开始位置,可以让我们从第几个字符开始查找(前面跳过)
这里我们第一次E出现在第5位,现在我们不想查Excel中的E的位置,想要查询"E精精"中的E位置,所以我们可以指定查询的开始位置从6开始!
小综合 | FIND+MID截取编码
我们把前面学习的MID和FIND结合起来就可以解决前后有空格的问题,成功截取!
=MID(A2,FIND("_",A2)+1,3)
1、FIND查找下划线的位置+1,从下一位开始作为文本开始截取的位置
2、编号的长度总是3位的,所以MID第三参数为3
这样我们算顺利解决了编号提取问题,但是类别还是有问题,公式的类别要求都是大写的,但是大写有的时候录入不方便,很多人就直接使用小写录入,所以我们还需要转成大写!而且前面有空格,我们LEFT函数也无法直接使用了!
删除空格 | TRIM函数
=TRIM(A6)
TRIM函数:
1、语法:TRIM(文本)
2、结果:删除文本左右的空格,中间多个空格保留一个
我们图中标记的,中间我特意加了多个空格,我们使用TRIM后,长度为7!
多了一位就是中间的空格!
大小写转换 | UPPER函数+LOWER函数
空格删除后,我们就可以使用LEFT函数正常截取类别码了,但是我们要求都是大写!
=UPPER(LEFT(TRIM(A2),2))
UPPER函数:
1、语法:UPPER(文本)
2、结果:文本全部转成大写!
如果需要小写,可以使用LOWER -全部转小写!
LOWER函数:
1、语法:LOWER(文本)
2、结果:文本全部转成小写!
是否一致 | EXACT函数-严格区分大小写比较
一般比较两个文本是否一致,我们经常直接让二者相等即可!但是这种方式是不区分大小写的!比如下面
结果都是TRUE,显然不对,人工录入的大小写非常混乱,系统要求全部写大写!
这种情况下,我们可以使用EXACT函数来处理!
=EXACT(A7,B7)
只有两个完全一致,其他都因为大小写不同而返回FALSE!
EXACT函数:
1、语法:EXACT(文本1,文本2)
2、结果:区分大小写,返回文本1和文本2是否完全相同
E精精:没有目的的学习总是枯燥的,在解决一个一个小问题的过程中,不知不觉大家已经学会了10个比较常用的文本函数!可以解决很多实际问题。如果你遇到的问题,现在还解决不了,那么你可能需要下篇!