VBA自定义身份证信息处理函数

2024-10-14 09:27:57

Excel内置了几百多个函数,对于大多数问题都可以应用内置函数轻松解决,但有些问题用内置函数解决起来很复杂,甚至是无能为力。比如要验证身份证号是否正确,提取出生日期、性别及年龄,后者应用组合函数还是比较容易解决,但前者却无法解决,这时就可以利用VBA开发自定义函数。

工具/原料

Excel办公软件

一、身份证号含义及校验规则说明

1、中国居民身份证目前都已经升级到18位,其中每一位数字都有特殊的含义,说明如下:①1-2 省级行政区代码②3-4 地级行政区划分代码③5-6 县区行政区分代码④7-10 11-12 13-14 出生年、月、日⑤15-17 顺序码,同一地区同年、同月、同日出生人的编号,奇数是男性,偶数是女性⑥18 校验码,如果是0-9则用0-9表示,如果是10则用X(罗马数字10)表示因此只要能够验证身份证号的正误,我们就可以根据居民身份证编码规则提取出生日期及性别,并进一步计算出年龄,那么如何判断证件号码正误呢?第二代居民身份证拥有一套明确的校验位校验算法,第一步:获取余数,前17位号码与加权因子的乘积和除以11得出余数;第二步:用余数比照校验码对照表得出的校验码,再与身份证号最后一位比对,如一致则正确,否则证件错误。

VBA自定义身份证信息处理函数
猜你喜欢