在EXCEL表格中怎样根据身份证号筛选出截至2011年1月1日男女满60周岁的人,身份证号有15位和18位的

如题所述

假如身份证号码在A列,从第2行开始,那么可以在后面空列中输入:
=DATEDIF(TEXT(MID(A2,7,INT(LEN(A2)/2-1)),"#-00-00"),“2011-1-1”,"Y")
往下复制公式。
完成后再对该列进行筛选,筛选>=60的就可以了。
以上公式对15位18位号码都适用。追问

利用这个公式为什么30年以前出生的身份证号码就不能识别

追答

不可能吧?怎么会不能识别呢?是不是公式输错了?

追问

你可以试一下用个身份证号码15位的1930以前的不识别,18位的还是识别的

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-16
最好新建一列年龄 然后根据年龄排序
比如身份证号在D列,从D1开始,可在E1(或者你想要的某一列都行)输入公式:
=DATEDIF(TEXT(MID(D1,7,6+(LEN(D1)=18)*2),"00-00-00"),"2011-1-1”,"y")
将公式向下拉填充复制就可以得到从出生年月日到当前日期的年龄了,一天不差,而且15、18位证号都适用。
第2个回答  2011-07-13
=IF(LEN(A1)=18,MID(A1,9,6),MID(A1,7,6))
以上的A1假定为身份证号,加入一列,用这个公式提出出生年月日就可以筛选了。
第3个回答  2011-07-13
b1=if(datedif(textif(len(a1)=18,text(mid(a1,7,8),19&mid(a1,7,6)),"0000-00-00"),"2011-1-1","y")>=60,1,""),下拉,筛选b列为1的即可
第4个回答  2011-07-13
用排序方法