1. 函数释义
| 类别 | 描述 |
|---|---|
| 函数写法 | DATEDIF(start_date,end_date,unit) |
| 函数作用 | 返回两个指定日期间的天数、月数或年数 |
| 参数说明 | start_date:表示指定时间段的起始日期,仅支持日期类型。 end_date:表示指定时间段的结束日期,仅支持日期类型。 unit:指定返回结果的单位类型。其中支持: “Y”:返回指定日期之间的整年数。 “M”:返回指定日期之间的整月数。 “D”:返回指定日期之间的天数。 “MD”:忽略年份和月份,返回指定日期之间的天数。 “YM”:忽略年份,返回指定日期之间的整月数。 “YD”:忽略年份,返回指定日期之间的天数。 |
| 参数个数 | 3 |
| 参数类型 | 日期,日期,文本 |
| 返回值类型 | 返回数值: 若 unit=“Y”,则 DATEDIF 返回指定时间段的年差数 若 unit=“M”,则 DATEDIF 返回指定时间段的月差数 若 unit=“D”,则 DATEDIF 返回指定时间段的日差数 若 unit=“MD”,则 DATEDIF 忽略年和月,返回指定时间段的日差数 若 unit=“YM”,则 DATEDIF 忽略年和日,返回指定时间段的月差数 若 unit=“YD”,则 DATEDIF 忽略年,返回指定时间段的日差数 |
下表中有一些简单的公式示例:
| 公式 | 结果 |
|---|---|
DATEDIF(DATE(2001,2,28),DATE(2004,3,20),"Y") | 3 在2001年2月28日与2004年3月20日之间有3个整年。 |
DATEDIF(DATE(2001,2,28),DATE(2004,3,20),"M") | 36 在2001年2月28日与2004年3月20日之间有36个整月 |
| DATEDIF(DATE(2001,2,28),DATE(2004,3,20),"D") | 1116 在2001年2月28日与2004年3月20日之间有1116天。 |
2. 示例
2.1 计算员工工龄
可以使用 DATEDIF 来计算员工的工龄,使用公式:DATEDIF([入职时间],TODAY(),"Y"),计算出员工入职至今的年数。如下图所示:

2.2 计算项目完成所用的天数
项目记录表中有每个项目的开始时间和结束时间,可以使用公式:DATEDIF([开始时间],[结束时间],"D"),计算每个项目完成所用的天数。如下图所示:

