当然,先拍个全家福
除B列的身份证号码由手动录入外,C-K列的所有信息都可以通过身份证号码计算出来,你相信吗?
在知道Excel函数之前,我也是不信的,肯定是有什么机关……
但是,不得不信啊。
我们先以其中一个身份证为例,来讲讲身份证号码中的秘密:
身份证号码由18位组成,其中:
前1、2位数字表示:所在省(直辖市、自治区)的代码;
第3、4位数字表示:所在地级市(自治州)的代码;
第5、6位数字表示:所在区(县、自治县、县级市)的代码;
第7—14位数字表示:出生年、月、日;
第15、16位数字表示:所在地的派出所的代码;
第17位数字表示性别:奇数表示男性,偶数表示女性;
第18位数字是校检码:也有的说是个人信息码,不是随计算机的随机产生,它是 用来检验身份证的正确性。校检码可以是0—9的数字,有时也用X表示。
在录入省、市、区县的的公式之前,我们需要在国家统计局获取到行政区划代码表,并处理为如下样式:
接下来就可以开始大干一场了~
省份:=VLOOKUP(LEFT(B2,2),行政区划数据!H:I,2,FALSE)
城市:=VLOOKUP(LEFT(B2,4),行政区划数据!K:L,2,FALSE)
区县:=VLOOKUP(LEFT(B2,6),行政区划数据!B:E,4,FALSE)
F-K列的信息都能根据身份证号码中的规律来获取
生日:=--TEXT(MID(B2,7,8),"0-00-00")
使用MID从身份证号码中的第7位数值开始截取8位连续数值,并利用TEXT转化为日期样式,利用减负运算,将文本型日期转化为数值日期
最后需要通过自定义格式设置为日期格式,确保生日是规范日期,可计算
年龄:=DATEDIF(F2,TODAY(),"y")
利用DATEDIF从生日计算年龄
性别:=IF(MOD(MID(B2,17,1),2),"男","女")
提取身份证号码中的第17位数值,并利用MOD求余判断数值奇偶,来判定性别
以及一些非常用的信息提取:
生肖:=MID("鼠牛虎兔龙蛇马羊猴鸡狗猪",MOD(TEXT(F2,"[$-130000]e")-4,12)+1,1)
利用MOD对修正顺序后的年份求余,获取到生肖位置,使用MID提取对应位置的字符
星座:=LOOKUP(--TEXT(F2,"mdd"),{0,"摩羯座";120,"水瓶座";219,"双鱼座";321,"白羊座";420,"金牛座";521,"双子座";622,"巨蟹座";723,"狮子座";823,"处女座";923,"天秤座";1024,"天蝎座";1123,"射手座";1222,"摩羯座"})
先排列出每个星座的开始日期,利用text格式化月日为mdd样式,使用LOOKUP获取对应的星座(注意摩羯座因为跨年的原因,在首尾都有出现)
幸运数字:=MOD(TEXT(F2,"emmdd"),9)
幸运数字通常将年月日各位数值逐位累加,至个位为止。利用9余数特性,使用MOD取巧算出幸运数字
快学好Excel函数,应用到工作中吧……
关注本君头条吧
从看不懂,到学会……
相差的只是这样一个机会。