如何用EXCEL计算年龄,精确到月和天,并筛选?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用EXCEL计算年龄,精确到月和天,并筛选?相关的知识,希望对你有一定的参考价值。
因为我们要登记选民,由于有个截止时间,所以我们要把一些人在哪天满没满18岁,甄别出来,在网上查了一下,都是根据系统时间today(系统当前时间)计算的,如果计算哪一天满没满18岁,要调电脑的系统时间,非常不便且不准确,我测试了一下公式(=(TODAY()-A1)/365),有些没满18岁的,根据这个公式,1994.8.25-1994.8.29出生的也满了18岁。
问:1、EXCEL表里,已输入一些人的出生年月,如何计算他们在2012年1月1日或2012年5月1日他们是多少岁零几个月零几天?格式应该这样或相似格式:20岁零5个月零3天。
2、由于还要筛选大于18岁的人,如何在“20岁零5个月零3天”这样的格式的人中筛选出大于18岁的人。
3、非常急呀,谢谢大家帮忙,分数不多,略表心意。
实现的方法和详细的操作步骤如下:
1、第一步,打开excel表格,为演示目的任意输入姓名和出生年份,需要在C列中输出年龄,如下图所示,然后进入下一步。
2、其次,完成上述步骤后,在单元格C2的单元格中输入如下红框中的公式,按Enter键确认,如下图所示,然后进入下一步。
3、最后,完成上述步骤后,下拉单元格并复制格式以获取其他单元格的年龄,如下图所示。这样,以上的问题就解决了。
1、首先,我们打开excel表格,如图所示,任意输入姓名和出生年月做演示用,我们需要在C列输出他们的年龄。
2、如图所示,在C2单元格中输入公式:=(today()-b2)/365,按回车键。
3、然后我们下拉单元格,复制格式,得到其他人的年龄。
4、此时,我们发现年龄有小数形式,肯定是不对的,我们需要设置一下单元格格式,选中所有数据后,右键单击,选择“设置单元格格式”就可以了。
B1=DATEDIF(A1,"2012-5-1","Y")&“岁"&DATEDIF(A1,"2012-5-1","YM")&"个月零"&DATEDIF(A1,"2012-5-1","MD")&"天"
下拉即可得到详细年龄(精确到岁、月、天)
然后选中姓名所在的列,格式——条件格式——使用公式确定要设置格式的单元格
下面的编辑栏中输入
=--MID(B1,1,FIND("岁",B1)-1)>=18
设置“格式”,将字体或填充设置为红色,确定。
这样,大于等于18岁的人的姓名将会变色。追问
复制你的公式B1=DATEDIF(A1,"2012-5-1","Y")&“岁"&DATEDIF(A1,"2012-5-1","YM")&"个月零"&DATEDIF(A1,"2012-5-1","MD")&"天" 到B1,不对,不跳出几岁几月出来,还是你的公式。我修改了你的引号,也不行
追答=DATEDIF(A1,"2012-5-1","Y")&"岁"&DATEDIF(A1,"2012-5-1","YM")&"个月零"&DATEDIF(A1,"2012-5-1","MD")&"天"
我的公式是经过我自己验证过的,你再试试?
非常感谢!输入公式后1994-5-1,1994-4-30出生的答案分别是18岁0月0天,18岁0个月零1天(这两个好理解),1994-5-2出生的17岁零11月零29天(琢摩半天,不太好理解,说明这个公式按每月30天算的,而现实中12月份,是31天的,再解释一下更好)另问:你用格式对大于等于18的人筛选,我搞了半天也没成,我直接在筛选中,用大于等于18岁0个月零0天,操作的,只是筛选出来的,要另外做个表把它复制过去,麻烦了点,你再说说筛选法
追答不不不,这个公式绝对是按每年的实际天数计算的,2月29号都是四年一次的,不会错。
方便的话,将你的文件发到我扣扣邮件19165827,我帮你看看
则D2为岁数的年,E2为月,F2为日,真要计这么准吗?公式:
D2 =DATEDIF(B2,C2,"y")
E2 =IF(DATE(YEAR(C2),MONTH(B2),DAY(B2))>C2,12-DATEDIF(C2,DATE(YEAR(C2),MONTH(B2),DAY(B2)),"m"),DATEDIF(DATE(YEAR(C2),MONTH(B2),DAY(B2)),C2,"m"))
F2 =IF(DATE(YEAR(C2),MONTH(C2),DAY(B2))>C2,DATEDIF(DATE(YEAR(C2),MONTH(C2)-1,DAY(B2)),C2,"d"),DATEDIF(DATE(YEAR(C2),MONTH(C2),DAY(B2)),C2,"d"))
公式下拉复制。
2、对D列进行筛选,大于18的即符合条件。
3、答案正确,对你有帮助的请采纳、加分。追问
不太符合我的要求,因为我要的是18岁6个月20天,是要在一个栏里面的,也可以写成格式为18.011岁。
追答在G2输入公式:
=D2&"岁"&E2&"个月"&F2&"天"
下拉复制。你输入各种出生日期试试。
=INT((TODAY()-A2)/365)&"岁零"&INT(((TODAY()-A2)/365-INT((TODAY()-A2)/365))*365/30)&"个月零"&INT((((TODAY()-A2)/365-INT((TODAY()-A2)/365))*365/30-INT(((TODAY()-A2)/365-INT((TODAY()-A2)/365))*365/30))*30)&"天"
问2:C2公式为:=IF(INT((TODAY()-A2)/365)>=18,"此人大于18周岁","此人不足18周岁")追问
今天是8月26,用你的公式输入后,但1994.8.26出生的人,得到的答案是18岁0个月零4天。1994.8.30生的人才是18岁,和我原来用的那个简单的公式,差不多。我原来用的公式就是这样的问题。如果1994.8.24出生的人,假如截止日期是8月24,那么得到答案也是18岁多点。
以上是关于如何用EXCEL计算年龄,精确到月和天,并筛选?的主要内容,如果未能解决你的问题,请参考以下文章