当前位置: 首页>学习园地>文章详情

干货技巧 | Excel日期函数

发布时间:2022-05-13

信息来源:

提取当日的日期

“今天”的英文单词为today。在Excel中也有一个TODAY函数。

在F5单元格中输入公式“=TODAY()”,如图①所示,便得到了当天的日期:2019/6/4。

1_调整大小.png

图①TODAY函数


公式得到的今天的日期与【Ctrl+;】组合键得到的日期有什么区别吗?在F6单元格按下【Ctrl+;】组合键,同样得到当天的日期2019/6/4,如图②所示。

2_调整大小.png

图②按快捷键生成当前日期


这时,我们看下公式编辑栏,在图①中显示的是“=TODAY()”,它是一个函数,今天打开该文件看到的是6月4日,明天打开看时就会变成6月5日。

在图②中,编辑栏显示2019/6/4,它就永远停留在6月4日了。

3_调整大小.png

案例:计算得到指定的日期

已经有了当天日期,那么在计算时还需要一个指定日期。

日期的英文单词是date,于是就有日期函数“=DATE(2017,2,8)”,如图③所示,得到结果2017/2/8,DATE函数的语法为DATE(year,month,day),3个参数分别指定年、月、日。

3_调整大小.png

图③DATE函数


如果使用DATE函数生成1月最后一天的日期,怎么操作?有些人可能会说,这很简单,输入公式“=DATE(2017,1,31)”就可以了。那么2月、3月、4月的最后一天的日期怎么生成呢?还要逐个预先判断每个月一共有多少天吗?

10.1节讲过一句话:日期就是数字。从这个角度考虑,1月的最后一天比2月1日提前一天,即比2月1日小1,公式为:=DATE(2017,2,1)-1

通过减法的操作方式得到的结果完全正确,那还有没有其他表达方式呢?比2月1日小1,比1日小1就是0日,那么DATE函数是否可以接受数字0呢?在D12单元格中试着输入公式:

=DATE(2017,2,0)

如图④所示,结果完全正确,1月最后一天的日期为2017/1/31。

4_调整大小.png

图④生成月底日期


那么它的参数能不能写成负数呢?

我们结合一些可能发生的实际情况思考一下,如有的公司财务结账日是在每个月的倒数第5天,这个日期要怎样生成?

DATE函数的参数day写为0,表示倒数第1天,那么以此为基准推算:-1表示倒数第2天,-2表示倒数第3天,-3表示倒数第4天,-4表示倒数第5天。在E12单元格中输入公式“=DATE(2017,2,-4)”,如图⑤所示,得到结果2017/1/27,结果完全正确。

5_调整大小.png

图⑤月底倒数第5天


同理,输入公式“=DATE(2017,3,-4)”,得到结果2017/2/24,即2月的倒数第5天。

在DATE函数中,参数day和month支持正数、零、负数,所以计算时要始终记得日期就是数字的本质。

生成某年最后一天的日期就更简单了,那么2016年最后一天的日期怎么表示?

第一种方法=DATE(2016,12,31),因为每年最后一天都是12月31日,所以不绕圈子,直接写。

第二种方法=DATE(2017,1,0),2016年最后一天也就是2017年1月0日,如图⑥所示。

6_调整大小.png

图⑥年底日期


案例:提取日期中的年月日信息

我们可以得到今天的日期及生成指定的日期,反过来,也可以使用YEAR函数、MONTH函数、DAY函数从一个标准日期中提取出它的年、月、日信息,如图⑦所示。

7_调整大小.png


图⑦年月日信息


在D20单元格中输入公式“=YEAR($C$20)”,结果返回年份2017。

在D21单元格中输入公式“=MONTH($C$20)”,结果返回月份2。

在D22单元格中输入公式“=DAY($C$20)”,结果返回日期8。

很多Excel函数理解起来很简单,只要稍稍有点英语基础,就大约能猜出来它们是用来做什么的。

这3个函数还有其他的作用。例如,以后做透视表,你的基础数据源中有一列是日期,那么可以加几个辅助列,把年、月、日信息提取出来,在做透视表时就可以轻松选择相应的字段并完成统计。

计算月底、年底等日期的通用思路

首先说明,接下来谈到的月底、年底是指每月的最后一天和年度的最后一天。

上个月最后一天

我们在做月报时,经常要将上个月的最后一天,作为月报的一个节点。那么这个日期如何不用手动输入就能自动更新呢?

下面先来分解思路。

(1)在现有的知识体系下,要得到某一个日期,直接就想到了DATE函数,需要将年月日的数字组合到DATE公式中即可。

(2)上月最后一天,根据前面介绍的获取月底日期的方式可得,获取月底日期就是要获取本月的0日,因此参数day就确定了数字0。

(3)本月的0日,还需要知道本月是几月。我们可以先确定今天的日期,用TODAY函数,再提取月份公式为MONTH(TODAY())。

(4)虽然前面都在说月份,其实这里有隐含条件,即要获取的年份与今天的年份是一致的,也就是公式YEAR(TODAY())能得到今天的年份。

至此,年、月、日参数全都分析、拆解完毕,就剩下组装了,如图⑧所示,在D25单元格中输入公式:

8_调整大小.png

图⑧上月最后一天


=DATE(YEAR(TODAY()),MONTH(TODAY()),0)

这个公式是一个三层嵌套公式,分析之后,就会发现嵌套公式也不过如此。

声明:官网刊载此文,是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请及时与我们联系,我们将及时更正、删除或依法处理。