PeNg_Dr1988

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

问题场景


  • 根据任务的开始时间和实际完成时间计算该任务花费了多少天。

  • 根据任务的预计完成时间和实际完成时间判断该任务按期还是逾期。

场景一


  • 计算每个任务从开始到完成花费了多少天。

img

目标


  • 计算两日期之间的天数。

解决方案


用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两日期的天数差。

img

  • 第二步:鼠标移到G2单元格的右下角,出现实心的黑色【+】号,双击填充此公式。

img

  • 第三步:最后结果。

img

注意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 开始日期。

场景二


  • 判断每个任务是否在按预计完成时间之前完成。

img

目标


  • 用预计完成时间和实际完成时间对比,看任务是按期还是逾期。

解决方案


用IF()和datedif()函数嵌套实现。

  • 第一步:在G2单元格英文状态下输入:=IF(DATEDIF(E2,F2,"d")>=0,"按期","逾期")。

    • 公式解释:如果预计完成时间-实际完成时间返回的天数大于或等于0,则返回"按期",否则该任务“逾期”。

img

  • 第二步:鼠标移到G2单元格的右下角,出现实心的黑色【+】号,双击填充此公式。

img

  • 第三步:最后结果,圈出来的为逾期任务。

img

总结


实际业务场景复杂时,如果不能一次性解决问题,可择优使用、或可结合使用,多尝试,办法总比困难多!

posted on 2020-09-07 23:57  PeNg_Dr1988  阅读(1980)  评论(0编辑  收藏  举报