DATEDIF 函数在 Excel 2000 开始就可以用了。可是不知道为什么,在 Excel 2000 之后更新版本的帮助文档里,就没有这个函数的相关描述了。。。 个人还是觉得这个函数挺有用的。
用途: 可以计算两个日期之间的差(按多少个年/月/日)。
语法:
DATEDIF(日期一,日期二,计算单位)
日期一,日期二 是需要计算差异的两个日期,日期二必须大于或等于日期一。
计算单位 说明到底是按年、月还是日季算两个日期的差异。需要是下面的其中一个内容。
计算单位 | 解析 |
m | 两个日期之间相隔几个完整的月 |
d | 两个日期之间相隔几个完整的天数 |
y | 两个日期之间相隔几个完整的年 |
ym | 不考虑年份(假定是同一年),两个日期之间相隔几个完整的月 |
yd | 不考虑年份(假定是同一年),两个日期之间相隔几个完整的天数 |
md | 不考虑年和月(假定是同一年同一个月),两个日期之间相隔几个完整的天数 |
例子:
日期一 | 日期二 | 计算单位 | 结果 | 解析 |
2010年01月01日 | 2010年01月10日 | d | 9 | 2010年01月01日和2010年01月10日相差9天 |
2010年01月24日 | 2010年03月24日 | m | 2 | 2010年01月24日和2010年03月24日相差2个月(不足一个月的不计) |
2010年01月25日 | 2010年03月24日 | m | 1 | 2010年01月25日和2010年03月24日相差1个月(不足一个月的不计) |
2010年02月01日 | 2012年01月24日 | y | 1 | 2010年02月01日和2012年01月24日相差1年(不足一年的不计) |
2010年01月01日 | 2012年03月24日 | ym | 2 | 01月01日和03月24日相差2个月(不考虑年份,不足一个月的不计) |
2010年06月01日 | 2012年03月24日 | ym | 9 | 06月01日和之后一年的03月24日相差9个月(不考虑年份,不足一个月的不计) |
2010年02月01日 | 2011年03月01日 | yd | 28 | 02月01日和03月01日相差28日(在日期一当年,即2010年) |
2008年02月01日 | 2011年03月01日 | yd | 29 | 02月01日和03月01日相差29日(在日期一当年,即2008年) |
2010年04月28日 | 2011年05月31日 | md | 3 | 28日和31日相差3日(不考虑年月) |
2010年04月28日 | 2011年06月01日 | md | 4 | 28日和01日相差4日(考虑日期二往前一个月的日数,即2011年5月,共31天) |
2010年04月28日 | 2011年05月01日 | md | 3 | 28日和01日相差3日(考虑日期二往前一个月的日数,即2011年4月,共30天) |
2010年04月28日 | 2011年03月01日 | md | 1 | 28日和01日相差1日(考虑日期二往前一个月的日数,即2011年2月,共28天) |
2010年04月28日 | 2012年03月01日 | md | 2 | 28日和01日相差2日(考虑日期二往前一个月的日数,即2012年2月,共29天) |
注意:
- 如果日期一比日期二大,会返回#NUM!
- 如果日期一或日期二不是日期值,会返回#VALUE!
- 如果计算单位不是可选清单中的一个,会返回#NUM!