Excel怎样让身份证号码在表格里显示出来(Excel表格怎样在单元格输入身份证号码)
上一篇《Excel:如何利用函数快速录入员工身份证信息?》给大家分享了在Excel中简化身份证信息录入以及利用函数自动填写年龄、生日的内容,今天继续给大家分享如何利用函数自动填写性别、身份证校验这两块内容。下面直接进入正题!
利用IF函数、MOD函数和MID函数填性别
身份证号码其实隐藏着很多信息,其中第十七位就代表着性别,偶数代表女性,奇数代表男性。我们利用这个信息,就可以用函数来自动填写性别啦!下面先介绍一下函数的用法。上一篇已经讲过了mid函数的用法,今天就直接说一下if函数和mod函数。
IF(logical_test,value_if_true,value_if_false):含义是根据逻辑计算的真假值,返回对应的结果。
- Logical_test 为 TRUE 或 FALSE 的任意值或 表达式
- Value_if_true logical_test 为 TRUE 时返回的值
- Value_if_false logical_test 为 FALSE 时返回的值
MOD(number,divisor):含义是求余数,即两个数值表达式作除法运算后的余数
- Number 为被除数
- Divisor 为除数
如下图所示,A2单元格内为身份证号“330522199508240925”,注意,这里没有使用上一篇的简要录入法。在B3单元格内输入函数“=IF(MOD(MID(A2,17,1),2),"男","女")”,含义是取身份证第17位数字,除2进行求余,如果余数是1,意味着是奇数,即返回结果“男”;如果余数是0,意味着是偶数,即返回结果“女”。
校验身份证录入是否正确
身份证有18位,我们在做录入的时候难免会有错误,那有什么办法可以检查录入是否正确呢?这里先跟大家普及一下,其实身份证的最后一位即为校验位。我们的身份证是按〖GB 11643-1999〗中规定的是18位身份证号码来排列的,而校验码则是根据前面的十七位数字,按照〖ISO 7064:1983〗.MOD 11-2校验码计算出来的。具体的校验规则我在这里就不赘述啦,想了解的朋友可以自行百度。
如下图所示,我们根据校验法则录入函数“=IF(LEN(A2)=18,IF(MID("10X98765432",MOD(SUM(MID(LEFT(A2,17),ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11) 1,1)=RIGHT(A2,1),"通过","校验未通过"),"")”,含义是如果计算出的校验码与身份证最后一位相符,则返回通过;相反,则返回校验未通过。这个函数运用到了比较多的函数,还涉及到数组,比较复杂,因此这里就不讨论了。大家可以直接复制使用~
重要提醒!由于函数中涉及数组,因此在录入完成后要按ctrl shift 回车结束,使公式处于{}括号中才能正确计算,同时也不能直接在公式头尾录入{}。
大家可能会好奇,为什么上图的结果是校验未通过?哈哈,因为这是我自己瞎编的。大家可以用自己的身份证号码验证一下哦!今天的分享就到这里,请大家继续关注我哦~