2009年4月10日星期五

从身份证中提取出生时间

谁都知道,这并不是难事,身份证中包含的出生时间的数据是很明白的。但是如果在EXCEL中批量提取呢?应该也不是难事。我今天也是这么想的,于是便开始了做。假如登记的身份证都是规范正确的,应该也没有问题,我采取这样的步骤:
1、把所有的尾数X都转换成0(不知道公安部编制规则时为什么不直接使用0而用X)。
2、去除前面6位的地址识别码,本地的编码有两种,分别是330323、330382,用替换的办法删除这些数字,其他外地的身份证毕竟不多,重新排序后用手工的办法删除。同时检查一下有没有把出生在1933年3月23日的倒霉蛋,或者有其他数字长度异常的,若有则人工补上。
3、因身份证有18位与15位两种格式(现在回头想想当年编制15位规则的专家们实在没有眼光),重新排序,区分出两种格式的身份证,18位的(此时只剩下12位了)删除最后4位数,采用函数=INT(A/10000)或;15位的(此时只有9位了)删除最后3位,然后在前面加上19,采用函数=INT(A/1000)+19000000.
我对于自己摸索出这样的办法挺得意的。但是今天在单位里替同事整理农民培训的登记资料时却遇到了难题,那些号码五花八门。一句话,基础工作没有弄好,最好的办法也是白搭。

没有评论: