该文节选自《函数宝典》OFFICE365EXCEL 5.20版本 DAYS 函数
DATEDIF函数是一个Excel中隐藏的、但功能非常强大的日期函数,在Excel的函数库中是找不到这个函数的,主要用于计算两个日期之间的天数、月数或年数。
如图:365版本截图,列表中没有这个函数。

DATEDIF 函数详解
函数定义:计算期间内的年数、月数、天数。
官方说明:计算期间内的年数、月数、天数.以指定的"单位"进行天数计算,通过更改"单位",可以进行6种类型天数的计算。
解赋大白话:从已知的一段时间内,求年数、月数、天数。
使用格式:
DATEDIF(start_date,end_date,"y")
DATEDIF(start_date,end_date,"m")
DATEDIF(start_date,end_date,"d")
DATEDIF(start_date,end_date,"ym")
DATEDIF(start_date,end_date,"yd")
DATEDIF(date1,date2,"md")
解赋白话格式:DATEDIF(开始日期,结束日期,间隔单位)
参数定义:
start_date:必需。指定表示日期的数值(序列号值)或单元格引用。"start_date"的月份被视为"0"进行计算。
end_date:必需。指定序列号值或单元格引用。
y、m、d、ym、yd、md:必需。
y:计算满年数,返回值为0以上的整数;
m:计算满月数,返回值为0以上的整数;
d:计算满日数,返回值为0以上的整数;
ym:计算不满一年的月数,返回值为1~11之间的整数;
yd:计算不满一年的天数,返回值为0~365之间的整数;
md:计算不满意一个月的天数,返回值为0~30之间的整数。
要点:不能从"插入函数"对话框中输入。全使用时必需直接键盘输入单元格中。
注意事项:当start_date或end_date中指定的值无法识别为日期时返回错误值"#VALUE!"。当返回值为负数时,或者y、m、d、ym、yd、md参数没有用双引号括住时,返回错误值"#NAME!"。
警告:Excel 提供了 DATEDIF 函数,以便支持来自 Lotus 1-2-3 的旧版工作簿.在某些应用场景下,DATEDIF 函数计算结果可能并不正确。有关详细信息,请参阅本文中的""已知问题"部分"。
例1

嵌套函数说明
TODAY:计算当前的日期
例2、计算周岁
例3、生日提醒

=TEXT(10-DATEDIF(C4-10,$C$2,"yd"),"还有0天生日;;今天生日")
用TEXT函数的特性,这里把DATEDIF函数的计算结果作为TEXT函数的参数.
“还有0天生日;;今天生日”的意思是:
DATEDIF函数的计算结果大于0的,显示为“还有N天生日”;
小于0的不显示;
等于0的显示为“今天生日”.由于DATEDIF函数第二参数在使用“YD”时有特殊的计算规则,因此当结束日期是3月份时,计算结果可能会出现一天的误差.
如需得到精确结果,可以使用以下数组公式完成,详细内容参看《函数宝典》。
