加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

在Excel中如何按某个统计日期计算周岁?

(2013-03-13 22:43:22)
标签:

杂谈

分类: 技术资料之offices秘技

比如以2006年8月31日为统计日期,如何让Excel以出生日期批量计算周岁呢?经过搜索和实践,有如下一些可试的办法:

假设表格中A列中从A2起,存放着出生日期,B列为周岁。如图

http://s7/middle/4881c53f07bfb3987d756&690第一种方法:在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)第三种方法:在B2中复制公式:=(2006-YEAR(A2))+IF((8-MONTH(G2))<0,-1,0)第四种方法:在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)),"还没出世呢!")第五种方法:在B2中复制公式:=DATEDIF(A2,"2006-8-31","y")这个函数是Excel的一个隐藏函数,只是为了沿袭Lotus123的一个函数。语法为: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,即时间段中有两个整年。DATEDIF("2001/6/1","2002/8/15","D") 等于 440,即在 2001 年 月 日和 2002 年 月 15 日之间有 440 天。DATEDIF("2001/6/1","2002/8/15","YD") 等于 75,即在 月 日与 月 15 日之间有 75 天,忽略日期中的年。DATEDIF("2001/6/1","2002/8/15","MD") 等于 14,即开始日期 和结束日期 15 之间的差,忽略日期中的年和月。经实践,只有第五种方法没有出现错误。如图,C到F列依次用第一到第四种方法。B列用第五种方法。统计时间用2006年8月31日来做。只有B列好象没出问题。C到F列出错原因待查。http://s13/middle/4881c53f4d7d03f50316c&690

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有