Excel-DATEDIF函数计算两日期天数差
问题场景
- 根据任务的开始时间和实际完成时间计算该任务花费了多少天。
- 根据任务的预计完成时间和实际完成时间判断该任务按期还是逾期。
场景一
- 计算每个任务从开始到完成花费了多少天。
目标
- 计算两日期之间的天数。
解决方案
用DATEDIF()函数实现。
- 函数解释:
=DATEDIF(start_date,end_date,unit)
#Start_date 开始日期
#End_date 结束日期。
#Unit 为所需信息的返回类型,一般有6个类型:"Y","M","D","YM","YD","MD"
- 例如:
=DATEDIF(A1,TODAY(),"Y")
#计算年数差
=DATEDIF(A1,TODAY(),"M")
#计算月数差
=DATEDIF(A1,TODAY(),"D")
#计算天数差
#TODAY()获取本地系统当前日期,再与A1单元格的日期做对比。
- 第一步:在G2单元格英文状态下输入:=DATEDIF(D2,E2,"D")。
- 公式解释:计算E2与D2两日期的天数差。
- 第二步:鼠标移到G2单元格的右下角,出现实心的黑色【+】号,双击填充此公式。
- 第三步:最后结果。
注意Days()函数:
- datedif()函数是WPS的函数库自带,Days()函数是office的函数库自带,都可以计算两日期天数差。
- WPS自带函数库不支持DAYS()函数。
- office可以输入datedif()函数计算,但在某些应用场景下,DATEDIF 函数计算结果可能并不正确。例:start_date大于 end_date,结果返回#NUM。
- 函数解释:
#Office支持DAYS()函数,WPS不支持
=DAYS(end_time,start_time)
#End_date 结束日期。
#Start_date 开始日期。
场景二
- 判断每个任务是否在按预计完成时间之前完成。
目标
- 用预计完成时间和实际完成时间对比,看任务是按期还是逾期。
解决方案
用IF()和datedif()函数嵌套实现。
- 第一步:在G2单元格英文状态下输入:=IF(DATEDIF(E2,F2,"d")>=0,"按期","逾期")。
- 公式解释:如果预计完成时间-实际完成时间返回的天数大于或等于0,则返回"按期",否则该任务“逾期”。
- 第二步:鼠标移到G2单元格的右下角,出现实心的黑色【+】号,双击填充此公式。
- 第三步:最后结果,圈出来的为逾期任务。
总结
实际业务场景复杂时,如果不能一次性解决问题,可择优使用、或可结合使用,多尝试,办法总比困难多!