在excel中如何使用公式根据身份证号筛选出每天60岁以上的人(每天都统计)?

比如今天是2012年10月28日,身份证号放在excel中的A2,在excel中如何使用公式根据身份证号筛选出60岁以上的人(不用分男女,身份证都是18位的)?请详细解释公式的含义。如果今天是2012年10月29日呢,公式又是怎样?因为工作原因,我的每天都对60岁以上的人进行统计,而且我每次统计都涉及15万人左右。还有没有更简单而省力办法?!恳请高手帮忙!!谢谢!!

1、首先在excel表格中输入需要筛选的身份证号码。

2、然后在B1单元格中输入提取年龄的计算公式:=DATEDIF(TEXT(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00"),"e-mm-dd"),TODAY(),"y")。

3、点击回车,即可将函数公式生成计算结果,可以看到对应身份证号码的年龄为“64”。

4、向下拖动公式批量填充公式,即可在单元格中得到年龄数据。

5、选中年龄数据列并点击工具栏中的“条件格式”,选择“突出显示单元格规则”中的“大于”选项。

6、然后在弹出的“大于”对话框中输入数字“60”,点击确定。

7、即可将选中的年龄单元格中大于“60”的单元格标红显示。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-29
每天都要统计,且数据量大,建议用VBA完成,直接得到你要的统计表都可以
用函数也可以做到,但15万条数据,好几个工作表呢,复制公式都麻烦,还得再筛选追问

我想要的统计表就是所有大于等于60的人的姓名、身份证号码这两样信息。

追答

你的这两列数据在表的哪列?你的数据表中有什么内容,都在哪些列中?或直接发文件到[email protected]

第2个回答  2012-10-29
B2单元格输入公式
=datedif(mid(a2,7,8),today(),"Y")
下拉填充公式
然后通过自动筛选B列,自定义大于等于60,
就可以知道结果了
公式不解释追问

你的公式,B2里显示#NUM!。

追答

一直想修正,但推荐了答案不给修改.试试下面这个公式
=datedif(text(mid(a2,7,8),"0-00-00"),today(),"Y")

追问

45233119511210032163452331195210293333634523311952102833337945233119521030333373
你公式计算结果好像有误。我电脑系统时间现在是2012年10月29日,452331195210293333应该是60才对呀。我想要确切的年龄,比如452331195210303333不能显示60,因为他还没有到60,还差一天。

追答

差一天, 是显示59岁

本回答被提问者和网友采纳
第3个回答  2012-10-29
在B2中输入(或复制粘贴此公式)
=IF(DATEDIF(--REPLACE(REPLACE(MID(B2,7,8),7,,"-"),5,,"-"),TODAY(),"Y")>=60,"60岁老人","")
下拉填充。追问

你公式很好。还问你一个问题:如果我找2011年7月1日以前满60岁的人呢,公式怎么改?谢谢您。

追答

公式改为
=IF(DATEDIF(--REPLACE(REPLACE(MID(B2,7,8),7,,"-"),5,,"-"),"2011-7-1","Y")>=60,"60岁老人","")

追问

fan4di先生,很感谢您回答我的问题,您让我在工作效率更加快捷,领导都夸我呢!太谢谢您了!现在我又碰到一个难题,还请您不吝赐教。我的Excel文档里想找出2011年7月2日到2013年3月18日所有满60岁的人员,还是向上面公式一样有"60岁老人"这样标记。这个公式=IF(DATEDIF(--REPLACE(REPLACE(MID(B2,7,8),7,,"-"),5,,"-"),"2011-7-1","Y")>=60,"60岁老人","")怎么改呢?,小弟在此先谢了!!

追答

公式修改为
=IF(OR(DATEDIF(--REPLACE(REPLACE(MID(B2,7,8),7,,"-"),5,,"-"),{"2011-7-1","2013-3-18"},"Y")>=60),"60岁老人","")

追问

fan4di老师,我想要2011年7月2日到2013年3月18日所有满60岁的人员(就这个时间段满60岁的),2011年7月1日以前满60岁的不要。您的上面公式2011年7月1日以前满60岁的也跟着出来了。麻烦您再帮我改改。谢谢您。

第4个回答  2012-10-31
先在表中增加“出生日期”一列,用=TEXT(MID(C3,7,8),"#-00-00")函数计算出每个人的出生日期,然后做数据透视表,将“出生日期”放到行字段,再把“姓名”拖到数据项处,“出生日期”会按顺序排好,汇总中是出生于某个日期的人数。假如查找2012年10月23日满60岁的人的信息,找着1932年10月23日出生的汇总人数双击,即新建一个关于这些人参保信息的工作表。以此类推,想找哪个日期,只须双击即可。
相似回答