广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    EXCEL精确计算两个日期之间的间隔月

    来源:网络收集  点击:  时间:2024-03-31
    【导读】:
    日期间隔月经常会遇到大小月问题,或者无法精确到小数后多位,或者就是月底计算会不足月问题工具/原料moreexceleomonth、datedif、date、year、month、day函数方法/步骤1/5分步阅读

    开始日期占当月天数的比例

    (EOMONTH(开始日期,0)- 开始日期+1)/DAY(EOMONTH(开始日期,0)),例如计算开始日期为2018/2/10日,则为2018/2/28-2018/2/10+1=19天,比上当月实际天数即为当月最后一天的天数28天。所以开始日期占当月天数比例为19/28。

    2/5

    结束日期占当月天数的比例DAY(结束日期)/DAY(EOMONTH(结束日期,0)),例如结束日期为2018/4/20日,与开始日期占比的计算类似,不过更加简单。即为20/30。

    3/5

    中间相隔月数使用datedif函数,但是我们要避免此函数结束日期中的“日”小于开始日期中的“日”,则按不足一月算的问题。敲黑板,此处是重点。改为计算每月1日之间的间隔月份。这样就巧妙的避开了“月大31”、“月平30”、“月小28,29”的问题:DATEDIF(EOMONTH(开始日期,0)+1, DATE(YEAR(结束日期),MONTH(结束日期),1),m),例如2018/2/10与2018/4/20掐头去尾的的中间相隔月数就变成计算2018/3/1与2018/4/1之间的间隔月了。

    4/5

    最终任意两个日期之间精确间隔月的函数为:(EOMONTH(开始日期,0)- 开始日期+1)/DAY(EOMONTH(开始日期,0))+ DAY(结束日期)/DAY(EOMONTH(结束日期,0))+ DATEDIF(EOMONTH(开始日期,0)+1, DATE(YEAR(结束日期),MONTH(结束日期),1),m)

    5/5

    此方法与其他几种方法的对比

    注意事项

    datedif函数要避免做月底日期之间的计算,因为会存在结束日期中的“日”小于开始日期中的“日”,则按不足一月算的问题。

    如果需要保留两位小数则再使用round函数

    EXCEL两个日期间月份
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_388215.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-05 15:47:52  耗时:0.025
    0.0254s