最魔性的文本函数,75%的Excel人都被它坑过,或许下一个轮到你……
每天一点小技能
职场打怪不得怂
编按:在Excel中,文本函数看似简单,运用起来却常常让人摸不着头脑。因为,我们常常忽略了要更好的掌握一门技术,首先要具备牢固的基础知识。于是,小E邀请小可,写了关于文本函数的一系列教程,让你从九大基础经典案例中,轻松掌握。今天,讲的是文本函数中的LEFT、RIGHT函数,LEN、LENB函数,EXACT函数…
大家好,我是部落窝教育的小可,好久不见~
文本函数是工作中必备的函数,使用频率高,大家多多少少都会一些它的基础用法。可是在实际工作中,很多童鞋面对数据的提取、查找、转化、替换等问题时,却还是看着LEFT、MID、FIND等函数,不知怎么灵活运用。导致这一现象的一个很大原因是没有系统的学习过文本函数!下面给大家总结了各个文本函数的经典案例,很高兴和大家分享~
本期目录先呈上~~~
先介绍一点基础知识——字符和字节
字节:表示数据量的多少,是计算机信息技术用于计量存储容量的一种计量单位;
字符:是指计算机中使用的文字和符号。
注意:一般在英文状态下一个字母或字符占用一个字节,一个汉字用两个字节表示。
一、LEFT和RIGHT
1.1提取混合内容中的姓名
要求:A列是姓名和学号,需要将姓名提取到B列。
方法:在B3单元格输入公式:=LEFT(A3,LENB(A3)-LEN(A3)),向下复制填充公式。
解读:LENB(A3)-LEN(A3)表示用LENB计算出字节数,用LEN函数计算出字符数后,两者相减得出文本中双字节(即汉字)的字符长度。最后,再用LEFT函数从左边提取双字节的文本。
扫码群里下载练习课件
1.2将编号变成“0000”形式
要求:将E列的编号设置成“0000”格式。
方法:在F3单元格输入公式:=RIGHT("000"&E3,4),向下复制填充公式。
解读:因为最终编号限制在四位数,少于四位用“0”在前面补位,所以可以在每个编号前面加上“000”(也可以加上四个0),再用LEFT函数从右边提取最后四位数。
补充:将编号设置成“0000”格式,也可以用自定义格式,但上述方法也是很机智的哦~~~
1.3提取字符串左侧的连续数字
要求:提取出A列右侧的连续数字到B列。
方法:在B12单元格输入公式:=LOOKUP(9E+307,--RIGHT(A12,ROW($1:$10))),向下复制填充公式。
解读:先使用RIGHT函数从A12单元格右侧,截取长度为1~10的文本字符串,再使用减负运算将文本数字转换为可运算的数值,将文本内容(汉字、英文、标点)转换为错误值“#VALUE!”。最后使用VLOOKUP函数,以9E+307作为查找值,在由错误值和数值组成的内存数组中,提取最后一个数值。
注意:9E+307是使用科学记数法表示的9*10^307,近似Excel允许输入的最大值。
1.4姓氏+先生/女士
①无复姓
要求:在C列设置尊称为“姓氏+先生/女士”(无复姓)
方法:在C19单元格输入公式:=LEFT(A19,1)&IF(B19="女","女士","先生"),向下复制填充公式。
解读:用LEFT函数从左边提出字符长度为1的姓氏。再利用IF函数判断,如果性别为“女”则加上“女士”;反之,则加上“先生”。
②有复姓
要求:在H列设置尊称为“姓氏+先生/女士”(有复姓)
方法:在H19单元格输入公式:=LEFT(E19,OR(LEFT(E19,{1,2})=$E$30:$E$32)+1)&IF(F19="男","先生","女士"),按<Ctrl+Shift+Enter>三键结束,向下复制填充公式。
解读:
LEFT(E19,{1,2})部分,在姓名中用LEFT函数从左边分别提取1个和2个文本字符串,以内存数组的形式保存在公式中。(笔者把结果展示在了G列)
LEFT(E19,{1,2})=$E$30:$E$32部分,将提取出的内存文字与$E$30:$E$32复姓区域分别进行匹配,如果有一个提取出的内存文字能够与某个复姓匹配,则在OR函数的外层嵌套下为TURE,反之为则FALSE。再在最后+1,让单姓显示为1,复姓显示为2.
LEFT(E19,OR(LEFT(E19,{1,2})=$E$30:$E$32)+1),若有复姓LEFT函数提取2个文本字符串,若没有复姓LEFT函数提取1个文本字符串。(结果如图I列)
二、LEN和LENB
2.1分离出中文
方法:在B3单元格输入公式:=RIGHT(A3,LENB(A3)-LEN(A3)),向下复制填充公式。
2.2分离出英文
方法:在C3单元格输入公式:=LEFT(A3,2*LEN(A3)-LENB(A3)),再向下复制填充公式。
解读:LENB函数将每个汉字(双字节字符)的字符数按2计数,LEN函数则对所有的字符数都按1计算。所以,“LENB(A3)-LEN(A3)”返回的结果就是文本字符串中的汉字个数;“LENB(A3)-LEN(A3)”返回的结果就是文本字符串中的英文字母(单字节字符)个数。
三、EXACT函数
EXACT函数,用来判断两个单元格的内容是否完全相同,如果文本字符串完全相同,那么函数的返回TRUE;如果不完全相同,那么返回FALSE。
EXACT函数的语法:
EXACT(text1,text2)
注意:在excel中使用等号比较文本值时不区分字母大小写,而用EXACT可以区分字母大小写!
如图,用EXACT函数比较“A”和“a”结果显示FALSE,用等于号(=)连接结果则显示TRUE。
补充:EXACT函数的参数还可以是单元格区域引用。
3.1一对多的比较
第一个参数是一个单元格引用;第二个参数是多个单元格区域引用。
如图,在C8单元格输入公式:=EXACT(B8,A8:A12),并向下复制填充。则EXACT函数将返回B8与A8:A12单元格区域每个元素比较的结果。
3.2多对多的比较
如图,在H8单元格输入公式:=EXACT(F8:F12,G8:G12),并向下复制填充。则两个参数的每一个元素会分别进行比较。
今天的文本函数典型案例就分享到这里咯,如果对你有帮助,还请多多支持哟^0^~~
扫一扫,在线咨询Excel课程
Excel教程相关推荐
想要全面系统学习Excel,不妨关注部落窝教育《一周Excel直通车》视频课或者《Excel极速贯通班》。
主讲老师:滴答