多语言展示
当前在线:1344今日阅读:86今日分享:14

LEFT、MID、RIGHT函数的进阶应用

在使用EXCEL制表时,经常要从单元格中提取部分数据出来作为新的数据,此时就要用到提取函数三剑客:LEFT、MID、RIGHT。
工具/原料
1

电脑

2

EXCEL软件

方法/步骤
1

LEFT函数,是根据指定的字符数,从左侧取出若干字符,此函数有两个参数,第一个参数是母文本字符串,也就是包含要提取字符的文本字符串,可以是字符、引用或表达式,第二个参数要从中提取字符的个数,可以是数字、引用或者返回数字的表达式。第二参数可以省略,省略后代表只取最左侧的一个字符。如取左侧四个字符,公式为:=LEFT(A2,4)。

2

RIGHT函数与LEFT函数类似,也有两个参数,参数的含义也相同,只是LEFT是从左侧取字符,RIGHT是从右侧取若干个字符,如取右侧的三个字符,公式为:=RIGHT(A2,3)。

3

MID函数是从中间取字符,此函数有三个参数,第一个参数含义与上面两个函数相同,第二个参数是提取字符的起始位置,第三个参数是提取字符的个数,与前两个函数的第二参数意义相同。如从第五个字符开始提取,提取三个字符,公式为:=MID(A2,5,3)。

4

如果MID的第二参数为1,此函数就相当于LEFT函数,也是从最左侧提取若干字符:=MID(A2,1,4),只不过有了LEFT函数,用不着画蛇添足,另外要注意的是,MID函数的三个参数都不能省略。

5

同样的,MID函数也可以取右侧的若干字符:=MID(A2,8,3),当然这是知道从哪个字符开始取,如果不知道,就要先判断一共有多少字符,再确定从哪个位置取:=MID(A2,LEN(A2)-3+1,3)。

6

当然,MID函数也可以由LEFT和RIGHT推出来,只是一般情况下公式会变长,不太方便,如:=LEFT(RIGHT(A2,LEN(A2)-4),3),或者:=RIGHT(LEFT(A2,5+3-1),3),都可以表示从第五个字符开始取,取出三个字符。

7

有时候在输入数据时,将文字和数字混在一体,现在要将其分开到不同单元格中,如姓名和电话数据在一个单元格中,现在要分别提取出姓名和电话,但姓名的字数并不相同,号码位数也不定相同,直接提取是无法确定字符数的,此时可以借用双字节字符函数,一个汉字按2个字节算,提取姓名的公式用:=LEFT(A2,LENB(A2)-LEN(A2))。

8

数字的个数是总字符数减去汉字的个数:LEN(A2)-(LENB(A2)-LEN(A2)),即:LEN(A2)*2-LENB(A2),提取号码公式为:=RIGHT(A2,LEN(A2)*2-LENB(A2))

9

如果除了姓名以外还有其它汉字,或者姓名中夹杂了空格,就不能用上面的方法提取了,首先要判断数字开始出现的位置,再进行下一步的提取,但现在并不知道第一个出现的数字是哪个,有的数字还没有出现,所以返回位置时,要利用技巧,将各数字补全,再从中取出各数字出现的位置的最小值。=MIN(FIND(ROW($1:$10)-1,A2&'')),这样输入是数组公式,即同时按住Ctrl+Shift+Enter结束公式编辑,会自动生成一对“{}”,将ROW($1:$10)-1改为数组参数,就可以按常规方法输入:=MIN(FIND({0;1;2;3;4;5;6;7;8;9},A2&''))。

10

知道了首数字出现的位置,再结合其它LEFT、RIGHT函数,就可以取出姓名了:=LEFT(A2,MIN(FIND({0;1;2;3;4;5;6;7;8;9},A2&''))-1)。

11

提取号码时,不知道右侧有没有其它字符,也不能直接取,此时要借助LOOKUP函数的向后兼容性来提取,公式为:=-LOOKUP(1,-MID(A2,MIN(FIND({0;1;2;3;4;5;6;7;8;9},A2&'')),ROW($1:$15))),有关此函数的用法,可参看:EXCEL中LOOKUP函数的高级应用。

12

从身份证号中提取出生日期,也是经常要做的事,现在是二代证,都是18位,从第七位开始的8位数,代表出生日期,但原来登记的可能是一代证,只有15位,从第七位开始的6位数,代表出生日期:=TEXT(RIGHT(19&MID(A2,7,6+(LEN(A2)=18)*2),8),'0-00-00')。

13

上面说了,一般情况下使用LEFT、RIGHT去替换MID函数,公式会变长,但从身份证号中判断性别,这样用就非常省事,要比使用MID函数简单了:=IF(MOD(RIGHT(LEFT(A2,17)),2),'男','女')。

推荐信息