excel中能否用身份证号筛选出年龄小于18岁的人?

如题所述

可以,不过要用辅助列,先用身份证号算出出生日期:
=--text(mid(A1,7,6+(len(A1)=18)*2),"#-00-00")
再按此列来筛选
或直接用公式:
=text(datedif(--text(mid(A1,7,6+(len(A1)=18)*2),"#-00-00"),today(),"Y")-18,"大于18;小于18;等于18")
来筛选
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-10
假设身份证号在A列,在B1输入:=IF(DATEDIF(TEXT(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00"),"e-mm-dd"),TODAY(),"y")<18,"是","") ,选中B1向下填充公式,筛选B列中显示“是”的行就是你要的结果。
第2个回答  2012-04-10
18位身份证号的话,如******####********,提取7-10个字符,也就是示例中的#。这个应该是生日年份。将今年减去该年份即可
第3个回答  2012-04-10
可以在后面插入一列,用身份证算出年龄后再筛选,否则好像就只有用vba了
第4个回答  2012-04-10
这个貌似不行,因为身份证代表年龄的数字在中间。
相似回答