年月日函数(year、month、day)
小伙伴们好,今天来分享3个日期函数,年月日函数,也就是year,month和day。这3个函数都很简单,year返回一个日期的年份,month返回一个日期的月份,day返回一个日期的天数。
-01-
year函数
1.函数说明
year返回某个日期的年份值,一个1900-9999之间的整数。昨天我们说过excel中日期的范围,相信大家对这2个数字不陌生了。
语法如下,只有一个参数:
YEAR(serial_number)
Serial_number 必需。 某个日期。 可以是日期范围内的一个序列数或日期,也可以是能转化为日期的文本型日期,比如"2020-3-15"。
2.示例解释
下图A列是一些日期时间,B列是用year函数提取出的年份。比如,2008/7/5提取的年份就是2008。这相当好理解。主要看下最后一个"2019-12",其实它是一个文本形式。如果你直接输入2019-12,会变为Dec-19,也就是2019-12-1,只是excel自动设置了自定义数字格式。而"2019-12"通过year也能提取出2019,是因为它会把"2019-12"转化为2019-12-1。
3.具体应用
a.计算当前日期所在年份有多少天
如下图所示,计算当前日期所在的年份有多少天,比如,2008年有366天。计算的思路是用2009-1-1减去2008-1-1。在C2单元格输入公式=SUM((YEAR(A2)+{0,1}&"-1")*{-1,1}),下拉填充。这个公式就是为了构建2009-1-1和2008-1-1,然后用2009-1-1减去2008-1-1。
YEAR(A2)提取出年份2008,YEAR(A2)+{0,1}就是用2008+{0,1},得到{2008,2009};YEAR(A2)+{0,1}&"-1"就是用{2008,2009}&"-1",得到{"2008-1","2009-1"};其中{"2008-1","2009-1"}可以看作{"2008-1-1","2009-1-1"}。再乘以{-1,1}相当于把2008-1-1变为负数,2009-1-1变为正数,最后sum求和就是2009-1-1减去2008-1-1。如果你理解不了,也可以写为=(YEAR(A2)+1&"-1-1")-(YEAR(A2)&"-1-1")。
b.计算平年还是闰年
计算当前日期所在的年份是平年还是闰年。这里主要判断2月有没有29号,有29号的是闰年,没有的是平年。在D2单元格输入公式=IF(ISERR(-(YEAR(A2)&"-2-29")),"平年","闰年"),下拉填充。
YEAR(A2)&"-2-29"这部分提取出年份2008,再连接上2-29变为"2008-2-29"。-(YEAR(A2)&"-2-29")这部分将文本型的日期进行数学运算,如果2008年有2月29号,那么就会返回对应的日期序列数,当然这里是负的,因为只给了一个负号。否则,如果没有2月29号就会返回错误值。
iserr判断是否是错误值,如果是错误值返回true,不是错误值返回false。最后用if判断,如果是错误值的说明2月没有29号,那么就返回平年,否则返回闰年。
-02-
month函数
1.函数说明
month返回某个日期的月份值,是一个1到12之间的整数。
语法如下,有一个参数:
MONTH(serial_number)
Serial_number 必需。 某个日期。 可以是日期范围内的一个序列数或日期,也可以是能转化为日期的文本型日期,比如"2020-3-15"。
2.示例解释
下图A列是一些日期时间,B列是用month提取的月份。比如39634提取出的月份是7,因为39634对应的日期是2008-7-5。"2019-12"被转化为2019-12-1,所以提取出的月份是12。
3.具体应用
a.判断上半年还是下半年
如下图所示,判断当前的日期是上半年还是下半年。这个主要是看月份,小于等于6月份的就是上半年,否则就是下半年。在C8单元格输入公式=IF(MONTH(A8)>6,"下","上")&"半年",下拉完成。
b.计算季度
如下图所示,计算出当前日期是第几季度。季度还是和月份有关,在D8单元格输入公式=ROUNDUP(MONTH(A8)/3,0),下拉完成。这里用的是数学函数roundup。计算季度的方法有很多。
-03-
day函数
1.函数说明
day返回某个日期的天数,也就是一个月中的第几天,是一个1到31之间的整数。
函数语法如下,有一个参数:
DAY(serial_number)
Serial_number 必需。 某个日期。 可以是日期范围内的一个序列数或日期,也可以是能转化为日期的文本型日期,比如"2020-3-15"。
2.示例解释
下图A列是一些日期时间,B列是用day提取出天数。比如2008/7/5提取出5。最后一个"2019-12"提取的天数为1,证明是把"2019-12"转化为2019-12-1。转化的方式可以通过函数转化,也可以通过数学运算转化,比如--,+0,*1等等。
3.具体应用
计算当前日期所在月份的天数。比如,2008/7/5所在的月份是7月,7月的天数是31天。这里用的是数组公式,在C14单元格输入公式=MATCH(,0/(MONTH(A14)=MONTH(A14+ROW($1:$30))))+DAY(A14),按ctrl+shift+enter三键结束,向下填充。
year,month,day这3个函数只是提取年,月,日的话是很简单,从示例解释中就可以看到。但如果还要进行其他的运算,也会很难,从具体应用中可以看到。当然,如果我们学了更多的日期函数,上面的题目可能会有更简单的方法。
文件链接:
https://pan.baidu.com/s/1imCXWZ7RyQVTpEO4QkM-hw
提取码:79nj