EXCEL中有身份证号如何统计出年龄?

我是大学生村官,正在登录新农保数据,有全村人的身份证号和名字,先要通过身份证号统计出16周岁以下、16周岁以上、16-60周岁人数,身份证号在D列,函数该如何设定,怎么能算的最快最准确!
急,明天就要上报,谢谢~~~~

在excel中可以利用DATEDIF函数组合mid函数,利用身份证的编码特性,统计出年龄。

如图,B列是身份证号码,C列是年龄。C列的公式为:=DATEDIF(--TEXT(MID(B2,7,8),"0000-00-00"),TODAY(),"y")

公式解析:根据身份证的编码特性,从七位开始是年龄信息,该信息一共是8位,用MID函数提出年龄信息,并用TEXT函数将年龄信息转化为真正的时间序列号,再使用DATEDIF函数求出两个日期之间的年数,即年龄。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-10-04
一般第一行是标题,第二行是具体的数据,18位身份证在第二行空白列空白列输入:
=YEAR(NOW())-YEAR(TEXT(MID(D2,7,8),"#0000-00-00"))
15位身份证在第二行空白列空白列输入:
=YEAR(NOW())-YEAR(TEXT(MID(D2,7,6),"#00-00-00"))
这样年龄就出来了。根据年龄排序,或筛选,或条件格式,把不同年龄段用颜色区分开来。
也可以加IF函数,自动识别18位和15位身份证。本回答被网友采纳
第2个回答  2011-03-28
比如证号在D列,从D1开始,可在E1输入公式:
=DATEDIF(TEXT(MID(D1,7,6+(LEN(D1)=18)*2),"00-00-00"),NOW(),"y")
将公式向下拉填充复制就可以得到从出生年月日到当前日期的年龄了,一天不差,而且15、18位证号都适用。
第3个回答  2011-03-28
加一列年龄
=year(today())-mid(D1,7,4),计算出年龄。
用年龄筛选,或者条件计数,这样简单些。直接用身份证号算也行,比较麻烦。本回答被提问者采纳
第4个回答  2011-03-28
=IF(LEN(D1)>15,YEAR(NOW())-VALUE(MID(D1,7,4)),YEAR(NOW())-VALUE("19" & MID(D1,7,2)))
如果身份证全部都是18位的话就是=YEAR(NOW())-VALUE(MID(D2,7,4))
相似回答