Excel判断身份证号码数据的第17或15位数字的奇偶性决定男女性别

时间:2015-07-02   作者:snow   来源:互联网

身份证号码分为18位或15位数,如图 75‑1所示,之前使用15位数字,其中第15位数字为奇数表示男性,升级后以第17位数字的奇偶表示性别,要判断奇偶性就必须取得后3位以同时满足15、18位身份证号的取数要求。公式中使用到了MOD函数,由于此函数的限制,所以仅判断15位身份证号返回正确结果,超过则视为0。下面与大家分享根据B列18位或15位数的身份证号码判断性别男女的方法。

份证号码判断性别
图75‑1 根据身份证号码判断性别

解决方案

判断18位身份证号的第17位或15位身份证号的末位数字奇偶性。

操作方法

在C3单元格输入以下公式并向下复制:

=IF(MOD(RIGHT(LEFT(B3,17),3),2),"男","女")

原理分析

取得身份证号中性别数字

中国公民身份证号码原使用15位数字表示,其中第15位数字为奇数表示男性,升级后的身份证号码以第17位数字的奇偶表示性别。RIGHT(LEFT(B3,17),3)截取身份证前17位数字的后3位,同时可以满足15、18位身份证号的取数要求。

公式中使用到了MOD函数,下面是MOD函数功能的简要介绍:

mod 就是返回除法中余数,如10处以3余1为:

公式为

=mod(10,3)结果为1

被除数 除数也可为小数,返回剩余小数,但由于2进制的转化,数据有所差值,建议最好不要公式中有小数,误差会较大。

MOD函数的限制

在D3单元格输入以下公式将返回#NUM!错误:

=IF(MOD(LEFT(B3,17),2),"女","男")

这是由于MOD函数无法计算被除数与除数的商达到或超过2^40的数据。Excel 2003、2007版中,MOD函数参数之商限制为2^27倍。

ISODD、ISEVEN函数虽然不受参数之商限制,但受15位数字计算精度的限制,在E3单元格输入以下公式并向下复制:

=IF(ISODD(LEFT(B3,17)),"男","女")

仅E6判断15位身份证号返回正确结果,其他均将超过15位的数字视为0,即判别未偶数而返回性别为"女"。

以上便是为大家介绍的有关在Excel中根据身份证号码判断性别的方法,原理就是判断末位数字的奇偶性,公式中使用到了MOD函数及RIGHT和LEFT,至于函数使用的详细说明可以参阅相关文档。如果你是从事财务、销售、HR等办公人士,建议将此技巧学会,以备不时之需。

tag : 身份证   性别
发表评论