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

用datedif()函数计算两个日期之间的年数和月数等

(2010-04-23 09:05:12)
标签:

月数

天数

年数

md

excel

杂谈

分类: 计算机
大家在用excel插入公式时,一定不会找到DateDif这个函数,甚至在帮助里面也没有。其实这个函数在2000的版本里面已经有了,现在我们常用的Excel2003里还是不能找到这个函数,不知道微软是出于什么原因不愿把这个函数公开化,也不知道还有多少这样的函数,姑且称之为神秘函数吧。

言归正传,我们现在来讲解一下这个函数的用法。

1、函数的作用:用于计算两个日期之间的天数、月数、年的差,例如=DATEDIF("2006-3-1","2006-4-5","d"),excel的计算结果就是两个日期的差:35.

2、函数的原型:
datedif(Start_date,End_Date,unit):
Start_date:表示开始日期
End_Date:表示结束日期
unit:上面我们看到了计算天数的差额,第三个参数是"d",如果要计算年份、月份,怎么办呢?聪明的你肯定猜到了,奥妙就在这里。第三个参数unit可以有6种选择,见下表:
 
unit可选值
含义
y
返回两个日期之间的整年数
m
返回两个日期之间的整月数
d
返回两个日期之间的天数
md
返回两个日期之间的天数,忽略日期中的年和月
ym
返回两个日期之间的天数,忽略日期中的年和日
yd
返回两个日期之间的天数,忽略日期中的月和日

3、例子:
下面的例子大家要注意是只取日做差(参数为d),还是结合年、月一起做差(参数为md),
起始日期 终止日期 公式 公式的值  
2008-1-1 2009-1-1 DATEDIF($A$26,$B$26,"d") 366 第三个参数为"d"表示返回两个日期“天数”的差
2007-1-1 2008-1-1 DATEDIF($A$27,$B$27,"d") 365 (平年与闰年?)第三个参数为"d"表示返回两个日期“天数”的差
2007-1-1 2008-1-1 DATEDIF($A$28,$B$28,"md") 0 等于从两个日期中用day()函数取出日进行相减操作
2007-1-1 2008-1-5 DATEDIF($A$29,$B$29,"md") 4 等于从两个日期中用day()函数取出日进行相减操作
2008-1-1 2009-3-1 DATEDIF($A$30,$B$30,"yd") 60 返回两个日期之间的天数,忽略日期中的年
2008-1-1 2009-1-1 DATEDIF($A$31,$B$31,"m") 12 返回两个日期之间的月数
2008-1-1 2009-12-2 DATEDIF($A$32,$B$32,"ym") 11 返回两个日期之间的月数,忽略年,年不参与运算
2008-1-1 2009-1-1 DATEDIF($A$33,$B$33,"y") 1 第三个参数为"y"表示返回两个日期“年份”的差
2008-1-1 2009-12-2 DATEDIF($A$34,$B$34,"y") 1 第三个参数为"y"表示返回两个日期“年份”的差,超过1年不足2年,返回1
2008-1-1 2008-12-31 DATEDIF($A$35,$B$35,"y") 0 第三个参数为"y"表示返回两个日期“年份”的差,小于1年,返回0
2008-1-1 2007-3-1 DATEDIF($A$36,$B$36,"y") #NUM! 终止日期早于起始日期,返回错误值

0

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

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

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

新浪公司 版权所有