Left、Right、Mid函数

Left、Right、Mid函数的作用就是字符截取

公式 注解 返回值
=LEFT("中华人民共和国",2) 从左边截取 中华
=RIGHT("中华人民共和国",3) 从右边截取 共和国
=MID("中华人民共和国",3,4) 从第三个字符开始,截取4个字符 人民共和

Left、Right函数,在企业管理的数据报表中,经常对品牌、类别等的截取并展开运用;
MID函数,常用的如行政人员通过此函数截取员工身份证号码中个人出生年月或生日、然后计算出年龄,并预算生日礼品;

MID、Right函数经常会结合LEN、FIND函数一起使用,比如以下表中,我们在B列填出省份,在C列填出市区(其实这个用分列更简单、更快):

  A B C
1 江苏 镇江市 句容区 江苏 镇江市
2 黑龙江 哈尔滨市 宾县 黑龙江 哈尔滨市
3 重庆 沙坪坝区 小龙坎街道 重庆 沙坪坝区

非标准答案:
(1)取省份公式:
=MID(A1,1,FIND(" ",A1,1)-1) 或 =LEFT(A1,FIND(" ",A1,1)-1)
公式解释:
前面一段略过,找到A1中空格首次出现的位置,然后用LEFT或MID函数即可,至于为什么要减去1,自己理解;
(2)取市区(两空格之间的部分)的公式:
=LEFT(RIGHT(A1,LEN(A1)-FIND(" ",A1,1)),FIND(" ",RIGHT(A1,LEN(A1)-FIND(" ",A1,1)),1)-1)
公式解释:
先用LEN函数算出整个字符串的字数,然后用FIND函数截取出第一个空格后面的字符串,最后用再从左边取空格之前的字符即可;
(3)如果要截取最后的“街道”也是一样的思路。

【说明】以上2、3方法很傻, 列出只是需要有种思路。

像这种,按空格或指定字符截取每一组字符串,最实用的办法:
1、分列(按字符)虽没技术含量,但最快,不演示;
2、借助辅助表,或辅助列、或辅助行,然后用公式(Left、Right、Len函数)实现,演示一下:

如果有几千上万组类似数据,请借助辅助表,先写好公式先向右、向下填充,然后再另外写一个公式向右、向下填充就很完美了,1万条数据也就2分钟搞定!
3、如果您的工作中经常有这样的工作需要完成,且你不会宏语言,您可以做个带公式的动态模板,思路:
(1)借助SUBSTITUTE函数最后一个参数(替换第几个)做文章;
(2)插入两列,作为辅助列(用SUBSTITUTE函数分别算出N和N+1次出现的位置);
假设A1单元格可引用的动态值,下列公式中的$A$1,Z是字符串中没出现的字符,可随便定义;
假设C2单元格(取N次出现的位置):=FIND("Z",SUBSTITUTE(A2," ","Z",$A$1),1)
假设D2单元格(取N+1次出现的位置):=FIND("Z",SUBSTITUTE(A2," ","Z",$A$1+1),1)
(3)最后用MID公式,想截取哪段就截取哪段!!
然后B2单元格的公式:=MID(A2,C2+1,D2-C2)
如果超出空格出现的次数,请自个用IFERROR处理,这里不继续啦。