返回首页
当前位置: 主页 > Excel教程 > Excel函数教程 >

Excel和身份证不得不说的那些事儿(3)

时间:2013-12-10 15:25来源:Office教程学习网 www.office68.com编辑:麦田守望者

 

因此,可以通过下面这个公式来计算A1单元格中18位身份证号码的最后一位校验码:

=MID("10X98765432",1+MOD(SUMPRODUCT(MID(LEFT(A1,17),ROW($1:$17),1)*MOD(2^(18-ROW($1:$17)),11)),11),1)

通过这个公式计算得到的字符与A1当中实际的末位字符相对照,就可以判断这个身份证号码的有效性

通过这个算法,还可以计算得到一代身份证升级到二代身份证的号码结果,假定一代15位号码位于A1单元格内:

=REPLACE(A1,7,,19)&MID("10X98765432",1+MOD(SUMPRODUCT(MID(REPLACE(A1,7,,19),ROW($1:$17),1)*MOD(2^(18-ROW($1:$17)),11)),11),1)

12

 

在2013年1月1日以后,政策上不再允许使用一代身份证,15位号码将逐渐淡出视线,前面的许多公式都是为了自适应15位和18位两种号码而存在的,如果仅仅需要针对18位号码,这些公式将变得更简单。

验证输入:

=AND(LEN(A1)=18,ISNUMBER(-LEFT(A1,17)),OR(ISNUMBER(-A1),RIGHT(A1)="X"))

提取生日:

=TEXT(MID(A1,7,8),"0-00-00")+0

计算年龄:

=DATEDIF(TEXT(MID(A1,7,8),"0-00-00"),NOW(),"Y")

判别性别:

=IF(-1^MID(A1,15,3)=1,"女","男")

13

------分隔线----------------------------
标签(Tag):excel excel2007 excel2010 excel2013 excel2003 excel技巧 excel教程 excel实例教程
------分隔线----------------------------
推荐内容
猜你感兴趣