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

2024-04-24 18:32 来源:爱美欣 浏览量:

今天我要教大家一个跟日期有关的函数 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,也就是当月天数


很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。

现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。

友情链接: