身份证号码分为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的数据。excel2003、2007版中,mod函数参数之商限制为2^27倍。
isodd、iseven函数虽然不受参数之商限制,但受15位数字计算精度的限制,在e3单元格输入以下公式并向下复制:
=if(isodd(left(b3,17)),"男","女")
仅e6判断15位身份证号返回正确结果,其他均将超过15位的数字视为0,即判别未偶数而返回性别为"女"。
以上便是为大家介绍的有关在excel中根据身份证号码判断性别的方法,原理就是判断末位数字的奇偶性,公式中使用到了mod函数及right和left,至于函数使用的详细说明可以参阅相关文档。如果你是从事财务、销售、hr等办公人士,建议将此技巧学会,以备不时之需。