根据日期计算季度(8种方法)
A列是日期,部分内容截图如图3-12-8所示。
方法一:INT函数
公式解释说明:
比如,如果月份是12月,(12+2)/3=4.67,INT(4.67)=4。
B1公式=ROUNDUP(MonTH(A1)/3,0)
ROUNDUP函数功能是向上舍入,即将数字朝远离0的方向舍入。
和这个函数功能相反的函数是ROUNDDOWN,ROUNDDOWN(1/3,0)=0。
B1公式=CEILING(MonTH(A2),3)/3
CEILING函数功能是将数字向上舍入为最接近的整数,和ROUNDUP不同的是,ROUNDUP是按照小数位数取舍,CEILING是按照指定基数的整数倍取舍。
方法四:FLOOR函数
B1公式=FLOOR((MonTH(A1)+2)/3,1)
FLOOR函数功能是将数字向下舍入为最接近的整数,和ROUNDDOWN不同的是,ROUNDDOWN是按照小数位数取舍,FLOOR是按照指定基数的整数倍取舍。
比如,FLOOR(4.67,1)结果是4。
B1公式=LEN(2^MonTH(A1))
LEN函数是求文本的长度,如果月份是12月,2^12=4096,LEN(4096)=4。如果是8月,2^8=256,LEN(256)=3。
B1公式=MonTH(MonTH(A1)*10)
月份*10得到结果是2位数或3位数,Excel默认的是1900年的日期系统,如果月份是12,那120对应的日期是1900年4月29日,再对这个日期求月份就是4。
图3-12-9
B1公式=MonTH(A1),C1公式=LOOKUP(B1,{1,4,7,10},{1,2,3,4})
LOOKUP函数功能是返回向量(单行区域或单列区域)或数组中的数值,有3个参数,函数语法LOOKUP(要查找的值,在哪里查找,相对位置的值)。
需要提醒的是:
…、-2、-1、0、1、2、…、A~Z、FALSE、TRUE
我们再来看看公式=LOOKUP(B1,{1,4,7,10},{1,2,3,4}),如果B1等于5,在{1,4,7,10}中查找,没有这个数,就返回比5小的最大值4,而月份4对应的是第2季度。
B1公式=IF(MonTH(A1)<4,"1",IF(MonTH(A1)<7,"2",IF(MonTH(A1)<10,"3","4")))
如果月份小于4,就返回1,如果在4~6就返回2,7~9返回3,10~12返回4。
根据日期判断闰年还是平年
方法一:DATE函数
=DATE(YEAR(A1),12,31)-DATE(YEAR(A1),1,1)+1
方法二:IF函数
=IF(OR(AND(MOD(YEAR(A1),4)=0,MOD(YEAR(A1),100)<>0),MOD(YEAR(A1),400)=0),"366","365")
闰年特点:
- 四年一闰,百年不闰,四百年再闰。
- 即能被4整除而不能被100整除;
- 能被400整除。
- MOD函数是求余数。
- OR是逻辑函数,多个条件只要有一个成立就返回TRUE。
- AND函数是多个条件同时成立。

