文章目录
- 使用文本截取字符串
- 1、Left函数
- 2、Right函数
- 3、Mid函数
- 4、示例 使用MID函数与文本函数,提取身份证号性别信息
- 获取文本中的信息
- 1、Len与Lenb函数
- 2、Find函数
- 关于身份证
- 1、通过身份证前六位判断地区
- 2、通过身份证计算出生年月日
- 3、通过身份证判断性别
- 4、身份证验证真伪
关于处理字符串,截取增删
使用文本截取字符串
1、Left函数
left(字符串,返回的字符个数)
例:要截取左三位绰号
2、Right函数
right(字符串,返回的个数)
例:取后四位编码
3、Mid函数
mid(字符串,从第几开始,几个字符)
4、示例 使用MID函数与文本函数,提取身份证号性别信息
例:当15位和18位身份证同时出现,要提取他们的性别位:
15 位身份证是最后1位
18位是倒数第2位
- 首先从左取17位,15位的原封不动,18位的去掉了最后一位。性别位就都在最后一位了。这时从右取一位即可。
- =RIGHT(LEFT(B13,17),1)
获取文本中的信息
1、Len与Lenb函数
len(text)——求字符数
lenb(text)——求字节数
下图是求得的字符、字节数
- 中文双字节,所以字节数总是字符数的2倍;而其他文字符号是没有区别的。于是我们可以以这个来区分汉字
- 例:把A列的单位分离出来
思路:中文都在右侧,所以要用到Right函数,但要取的个数不清楚。
由于字节数比字符数多出的数,正是汉字的个数,如下图:
- 所以,得到公式:=RIGHT(A2,LENB(A2)-LEN(A2))
2、Find函数
用于查找某个字符处于整个字符串的第几个
参数:查找字符,字符串,起始位置
例:
-
用户名和域名位数都是随机的,不能简单的用Left和Right
但一个在@前,一个在@后,于是知道@的位置就知道截取多少位
-
那么,Find("@",F2)就是@的位置,再-1就是截取的个数。
于是用户名公式:=LEFT(F2,FIND("@",F2)-1)
-
同理,域名从@的位置后一位开始取,得加一。
要精准知道取几位,用f2的字符数减去@的位置
=MID(F2,FIND("@",F2)+1,LEN(F2)-FIND("@",F2))
-
如果要简单粗暴,将第三参数换成一个很大的数,比域名长度要大得多,就能保证域名都被包括在内了。
如:=MID(F2,FIND("@",F2)+1,100)
关于身份证
1、通过身份证前六位判断地区
已有身份证地区码,和身份证号,得出地区信息。
——先用left函数提取身份证前6位,由于身份证是文本格式,那么要转换成数字,乘以1,除以1,负负都行。
——再用得到的数去表中VLOOKUP
2、通过身份证计算出生年月日
已知身份证第7位之后的8位表示生日,那么就分开截取其中的年、月、日
即Mid(b2,7,4);Mid(b2,11,2);Mid(b2,13,2)。
然后对应放到Date函数中去,即=DATE(MID(B2,7,4),MID(B2,11,2),MID(B2,13,2))
3、通过身份证判断性别
通过倒数第二个数判断,偶数(包括0)为女,奇数为男。
4、身份证验证真伪
将前17位号码分别与B列对应的值一 一相乘,得到的17个值的和 除以11,它的余数对应F列的一个数,这个数就是身份证最后一位。