分享

Excel – 几千行日期,如何快速算出每个日期当月有几天?

 恶猪王520 2022-05-16

今天我要教大家一个跟日期有关的函数 eomonth。

eomonth 就是 end of month 的简写,因此该函数顾名思义,就是求月最后一天的日期。

说实话这个函数见过的人极少,可偏偏最近某个读者的求助问题中,正好就需要用到这个函数。

Excel 中每个函数都不白给,书到用时方恨少,不如提早学习,以备不时之需。

EOMONTH 函数说明:

作用:

  • 返回 start_date 前或后若干月的最后一天的日期所转换而成的数字。

  • EOMONTH 函数可以用于计算正好在特定月份中最后一天到期的到期日。

语法:

  • EOMONTH(start_date, months)

参数:

  • start_date:

    • 必需,起始日期;

    • 该参数必需为日期格式,日期可以有多种输入方式,比如带英文半角符号的文本字符(如'2020/12/12'),或者表示日期的一个序列数,或者用其他函数(如 date 函数)转换的结果,或者是对日期单元格的引用。

  • months:

    • 必需,start_date 之前或之后的月份数;

    • months 为正值将生成未来日期,为负值将生成过去日期。

案例 1:计算有效天数

某线上课程的报名规则如下:

  • 成功报名当天即为起效日;

  • 无论哪天报名,有效期截止日都为当月最后一天

请根据下图 1 中的起效日计算出截止日和有效天数,效果如下图 2 所示。

图片
图片

解决方案 1:

1. 在 B2 单元格中输入以下公式:

=EOMONTH(A2,0)

公式释义:

  • 计算 A2 单元格中日期当月的最后一天

图片

此时 B2 单元格中的结果是一串数字,代表了我们需要计算的日期。

图片

2. 用格式刷将 A 列的日期格式复制到 B2 单元格

图片

3. 下拉复制 B2 单元格的公式

图片

4. 在 C2 单元格中输入以下公式 --> 下拉复制公式:

=B2-A2

图片
图片

案例 2:计算若干月前(后) 的最后一天

某公司统计内部一批小礼品兑换券,A 列是统计日的当天日期。

这批券有的将在几个月后到期,有的已经过期,如 B 列所示,默认都在每个月的最后一天到期。

请在 C 列中计算出精确的到期日,效果如下图 2 所示。

图片
图片

解决方案 2:

1. 在 C8 单元格中输入以下公式 --> 下拉复制公式:

=EOMONTH(A8,B8)

图片
图片
图片

案例 3:计算每个月的天数

自动计算出 A 列中每个日期所在月的总天数,效果如下图 2 所示。

图片
图片

解决方案 3:

1. 在 B3 单元格中输入以下公式 --> 下拉复制公式:

=DAY(EOMONTH(A2,0))

公式释义:

  • EOMONTH(A2,0):计算出日期所在月的最后一天

  • DAY(...):

    • day 函数的作用是返回日期中的日;

    • 该公式表示返回上述函数计算出的最后一天的日。比如,31/07/2019 的日就是 31,也就是当月天数

图片
图片
图片

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多