发布网友 发布时间:2022-04-28 13:49
共3个回答
热心网友 时间:2023-10-11 08:44
假设表格中A列中从A2起,存放着出生日期,B列为周岁。
第1种方法:在B2中复制公式:=INT(("2006-8-31"-A2)/365.25)
第二种方法:在B2中复制公式:=IF("2006-8-31">=DATE("2006",MONTH(A2),DAY(A2)),2006-YEAR(A2),2006-YEAR(A2)-1)
第3种方法:在B2中复制公式:=(2006-YEAR(A2))+IF((8-MONTH(G2))<0,-1,0)
第4种方法:在B2中复制公式:=IF("2006-8-31">=A2,IF(MONTH("2006-8-31")>MONTH(A2),YEAR("2006-8-31")-YEAR(A2),IF(MONTH("2006-8-31")=MONTH(A2),(IF(DAY("2006-8-31")>=DAY(A2),YEAR("2006-8-31")-YEAR(A2),YEAR("2006-8-31")-YEAR(A2)-1)),YEAR("2006-8-31")-YEAR(C7)-1)),"还没出世呢!")
第5种方法:在B2中复制公式:=DATEDIF(A2,"2006-8-31","y")
这个函数是Excel的1个隐藏函数,只是为了沿袭Lotus123的1个函数。语法为:DATEDIF(start_date,end_date,unit),“start_date”为开始日期,“end_date”为结束日期,“unit”返回:
"Y"时间段中的整年数;
"M"时间段中的整月数;
"D"时间段中的天数;
"MD"start_date与end_date日期中天数的差,忽略日期中的月和年;
"YM"start_date与end_date日期中月数的差,忽略日期中的日和年;
"YD"start_date与end_date日期中天数的差,忽略日期中的年。
示例:DATEDIF("2001/1/1","2003/1/1","Y")等于2,即时间段中有2个整年。DATEDIF("2001/6/1","2002/8/15","D")等于440,即在2001年6月1日和2002年8月15日之间有440天。
DATEDIF("2001/6/1","2002/8/15","YD")等于75,即在6月1日与8月15日之间有75天,忽略日期中的年。
DATEDIF("2001/6/1","2002/8/15","MD")等于14,即开始日期1和结束日期15之间的差,忽略日期中的年和[)月。
经实践,只有第5种方法没有出现错误。如图,C到F列依次用第一到第4种方法。B列用第5种方法。统计时间用2006年8月31日来做。只有B列好象没出问题。C到F列出错原因待查。
参考资料:网页链接
热心网友 时间:2023-10-11 08:44
=DATEDIF(G15,"2012/8/31","Y")&"岁"&DATEDIF(G15,"2012/8/31","YM")&"月"&DATEDIF(G15,"2012/8/31","MD")追答=DATEDIF(G15,"2012/9/1","Y")
热心网友 时间:2023-10-11 08:44
假设表格中A列中从A2起,存放着出生日期,B列为周岁。
第1种方法:在B2中复制公式:=INT(("2006-8-31"-A2)/365.25)
第二种方法:在B2中复制公式:=IF("2006-8-31">=DATE("2006",MONTH(A2),DAY(A2)),2006-YEAR(A2),2006-YEAR(A2)-1)
第3种方法:在B2中复制公式:=(2006-YEAR(A2))+IF((8-MONTH(G2))<0,-1,0)
第4种方法:在B2中复制公式:=IF("2006-8-31">=A2,IF(MONTH("2006-8-31")>MONTH(A2),YEAR("2006-8-31")-YEAR(A2),IF(MONTH("2006-8-31")=MONTH(A2),(IF(DAY("2006-8-31")>=DAY(A2),YEAR("2006-8-31")-YEAR(A2),YEAR("2006-8-31")-YEAR(A2)-1)),YEAR("2006-8-31")-YEAR(C7)-1)),"还没出世呢!")
第5种方法:在B2中复制公式:=DATEDIF(A2,"2006-8-31","y")
这个函数是Excel的1个隐藏函数,只是为了沿袭Lotus123的1个函数。语法为:DATEDIF(start_date,end_date,unit),“start_date”为开始日期,“end_date”为结束日期,“unit”返回:
"Y"时间段中的整年数;
"M"时间段中的整月数;
"D"时间段中的天数;
"MD"start_date与end_date日期中天数的差,忽略日期中的月和年;
"YM"start_date与end_date日期中月数的差,忽略日期中的日和年;
"YD"start_date与end_date日期中天数的差,忽略日期中的年。
示例:DATEDIF("2001/1/1","2003/1/1","Y")等于2,即时间段中有2个整年。DATEDIF("2001/6/1","2002/8/15","D")等于440,即在2001年6月1日和2002年8月15日之间有440天。
DATEDIF("2001/6/1","2002/8/15","YD")等于75,即在6月1日与8月15日之间有75天,忽略日期中的年。
DATEDIF("2001/6/1","2002/8/15","MD")等于14,即开始日期1和结束日期15之间的差,忽略日期中的年和[)月。
经实践,只有第5种方法没有出现错误。如图,C到F列依次用第一到第4种方法。B列用第5种方法。统计时间用2006年8月31日来做。只有B列好象没出问题。C到F列出错原因待查。
参考资料:网页链接
热心网友 时间:2023-10-11 08:45
这样就可以了。=DATEDFI(G15,DATE(YEAR(TODAY()),8,31),"Y")。YEAR(TODAY())也可指定为2012热心网友 时间:2023-10-11 08:44
=DATEDIF(G15,"2012/8/31","Y")&"岁"&DATEDIF(G15,"2012/8/31","YM")&"月"&DATEDIF(G15,"2012/8/31","MD")追答=DATEDIF(G15,"2012/9/1","Y")
热心网友 时间:2023-10-11 08:45
这样就可以了。=DATEDFI(G15,DATE(YEAR(TODAY()),8,31),"Y")。YEAR(TODAY())也可指定为2012