对身份证号码查重,最精确的就是利用countif函数,公式会自动将身份证号码转换为数值格式,这样的话后4位就会被舍去,不够精确,这里我们是使用连接符号让身份证号码依旧保持文本格式。
对身份证号查重也可以通过菜单-数据-重复项-设置高亮重复项,切记一定要选择“精确匹配15位以上的长数字”,否则所有身份证号都会高亮显示。

判断身份证号码是否正确,主要是判断身份证位数是否为18位(旧号15位提示),以及第18位校验码是否符合身份证编号规则。这个公式比较复杂,大家直接复制使用,更改A2单元格为你的数据位置即可
=IF(LEN(A2)=0,'空',IF(LEN(A2)=15,'旧号',IF(LEN(A2)<>18,'位数不对',IF(CHOOSE(MOD(MID(A2,1,1)*7+MID(A2,2,1)*9+MID(A2,3,1)*10+MID(A2,4,1)*5+MID(A2,5,1)*8+MID(A2,6,1)*4+MID(A2,7,1)*2+MID(A2,8,1)*1+MID(A2,9,1)*6+MID(A2,10,1)*3+MID(A2,11,1)*7+MID(A2,12,1)*9+MID(A2,13,1)*10+MID(A2,14,1)*5+MID(A2,15,1)*8+MID(A2,16,1)*4+MID(A2,17,1)*2,11)+1,1,0,'X',9,8,7,6,5,4,3,2)=IF(ISNUMBER(RIGHT(A2,1)*1),RIGHT(A2,1)*1,'X'),'正确','错误'))))
第1个是判断单元格是否为空值,然后判断身份证号是否为15位的个号,再者判断单元格的数字是否为18位数字,最后根据规则判断18位的数字是否符合规则。

公式:=TEXT(MID(A3,7,8),'0000-00-00')
在身份证号码中,第7到14位是每个人的出生日期,我们可以使用mid函数将其提取出来。最后再利用text函数来设置下日期的显示格式即可

公式:=DATEDIF(TEXT(MID(A3,7,8),'0000-00-00'),TODAY(),'y')
在这里主要是利用的DATEDIF,它的作用是计算2个日期的差值,参数一共有3个
第一参数:TEXT(MID(A3,7,8),'0000-00-00'),每个人的出生日期,表示开始的时间
第二参数:TODAY(),获取今天的日期,表示结束时间
第三参数:'y',计算类型,类型为Y DATEDIF表示计算年份的差值
在Excel中根据身份证号码计算年龄,这个方法是最准确的,只要没用DATEDIF,那么这个方法肯定不准确。

公式:=IF(ISEVEN(MID(A3,17,1)),'女','男')
性别是由身份证号码的第17位决定的,偶数为女性,奇数为男性
首先我们使用MID将第17位的数字提取出来,随后使用ISEVEN来判断下这个数字是不是偶数,最后利用IF函数返回对应的性别即可

在D2单元格输入公式 =DATE(MID(C2,7,4)+60-(B2='女')*5,MID(C2,11,2),MID(C2,13,2)+1)
公式解析:
(1)MID函数用于从身份证号码中提取员工的出生年月日。身份证号码的第7位到第14位是出生年月日。
MID(C2,7,4)用于提取出生年份,MID(C2,11,2)用于提取出生月份,MID(C2,13,2)用于提取出生日。
(2)Date函数用于生成指定年月日的日期,其语法为Date(year,month,day)。
本例中参数year为MID(C2,7,4)+60-(B2='女')*5。按照男性60岁,女性55岁退休,男性退休的年份为出生年份加60,女性退休的年份为出生年份加55。退休年份用公式表达为MID(C2,7,4)+60-(B2='女')*5。B2=“男”,因此B2=“女”返回False,(B2='女')*5=0,退休年份为MID(C2,7,4)+60。假如B2=“女”,B2=“女”返回True,(B2='女')*5=5,MID(C2,7,4)+60-(B2='女')*5= MID(C2,7,4)+60-5= MID(C2,7,4)+55。
参数month为MID(C2,11,2),员工出生的月份。
参数day为MID(C2,13,2)+1,员工出生日加1。表示在员工满60岁或55岁的第二天为退休日期。
