处理身份证号
上节课我们讨论了几种最常用的字符串函数,这节课我们就来做一个简单的应用。
我们知道居民身份证号码是国家根据标准编制的,有15位或18位,我们这节只讨论18位的身份证号。
身份证号规律:
18位身份证号码,前6位位行政区划代码;第7至第14位是出生年月日;第17位代表性别(奇数为男,偶数为女)。
那么,我们根据这个规律就可以编写出来一段代码,实现批量处理身份证信息。
我们先看效果:
我们用字符串处理函数,写出了三个自定义函数,分别求地址、出生年月日、性别。
地区函数:
Function diqu(str1 As String)
num = Left(str1, 6)
Set Rng = Worksheets("代码表").Range("c38:c10000").Find(num, , LookIn:=xlValues, lookat:=xlWhole)
'查找行政区域,前提需要在本工作簿放置一个区域划分的代码工作表,作为数据源
If Not Rng Is Nothing Then
diqu = Rng.Offset(0, -1).Value
Else
MsgBox "未查取到"
End If
End Function
生日函数:
Function shengri(str1 As String)
shengri = Mid(str1, 7, 4) & "年" & Mid(str1, 11, 2) & "月" & Mid(str1, 13, 2) & "日"
'分别将年月日用mid函数求得
End Function
性别函数:
Function xingbie(str1 As String)
x = Mid(str1, 17, 1)'mid函数应用
a = x Mod 2
If a = 0 Then
xingbie = "女"
Else
xingbie = "男"
End If
End Function
只需要上述三段代码,即可实现查取身份证信息功能。
本节附件链接:https://pan.baidu.com/s/1pMPjsef密码:dj4j
欢迎点赞、关注、转发。
在这个寒冷的时节里
因为有你的关注
而变得温暖
领取专属 10元无门槛券
私享最新 技术干货