身份证号码分为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等办公人士,建议将此技巧学会,以备不时之需。