判断某年是否为闰年,有两个判断角度。 可以看年份。根据闰年规则“四年一闰,百年不闰,四百年一闰”,年份满足下列条件之一,则为闰年。 (1)能被4整除且不能被100整除(如2004年是闰年,而1900年不是) (2)能被400整除(如2000年是闰年) 还可以看2月份天数。2月份有29日,则是闰年。 根据这两个判断角度,本文整理了五种方法。 一、从年份判断 方法一、MOD+AND+OR函数 在C2单元格输入公式 =IF(OR((MOD(B2,400)=0),AND((MOD(B2,4)=0),(MOD(B2,100)<>0))),"闰年",""),拖动填充柄向下复制公式。 公式解析: (1)MOD函数为取余函数。MOD(B2,4)返回B2单元格数值被4除后的余数。如果B2能被4整除,则MOD(B2,4)=0。 (2)AND函数和OR函数用于逻辑运算。对于AND函数,如果所有条件参数的逻辑值都为真,则返回TRUE,只要有一个参数的逻辑值为假,则返回FALSE。 (3)AND((MOD(B2,4)=0),(MOD(B2,100)<>0))表示只有当B2单元格只能被4整除且不能被100整除时,AND函数返回TRUE。 (4)对于OR函数,如果所有条件参数的逻辑值都为假,则返回FALSE,只要有一个参数的逻辑值为真,则返回True。OR((MOD(B2,400)=0),AND((MOD(B2,4)=0),(MOD(B2,100)<>0)))表示只要年份满足上述判断条件之一,就是闰年。 方法二、MOD函数 在C2单元格输入公式 =IF((MOD(B2,400)=0)+(MOD(B2,4)=0)*(MOD(B2,100)<>0),"闰年",""),拖动填充柄向下复制公式。 方法二的公式和方法一相似,只不过方法二用“+”代替OR函数,用“*”代替AND函数。 二、从2月份是否有29日判断 方法一、DATE+DAY函数 在C2单元格输入公式=IF(DAY(DATE(B2,3,0))=29,"闰年",""),拖动填充柄向下复制公式。 公式解析: (1)DATE函数用于返回指定年月日的日期,如DATE(2000,3,1)返回结果为“2000/3/1”。DATE(B2,3,0)指返回B2单元格年份即2000年3月0日,也就是2000年2月份的最后一天的日期。 (2)DAY函数用于返回一个日期中的第几天,DAY("2021/10/21")返回21。DAY(DATE(B2,3,0))返回2月份的最后一天。如果是闰年,DAY(DATE(B2,3,0))=29,否则DAY(DATE(B2,3,0))=28。 方法二、DATE+MONTH函数 在C2单元格输入公式=IF(MONTH(DATE(B2,2,29))=2,"闰年",""),拖动填充柄向下复制公式。 公式解析: MONTH用于返回月份值,如MONTH("2021/10/21")返回10。 2000年是闰年,2月份有29日,那么DATE(B2,2,29)=2000/2/29,MONTH(DATE(B2,2,29)=2。 2001年是平年,2月份只有28日。那么DATE(B3,2,29)=2001/3/1,MONTH(DATE(B3,2,29)=3。 方法三、EOMONTH+DAY函数 在C2单元格输入公式=IF(DAY(EOMONTH(DATE(B2,2,1),0))=29,"闰年",""),拖动填充柄向下复制公式。 EOMONTH用于返回指定月数之前或之后月份的最后一天。EOMONTH(DATE(B2,2,1),0))返回2月份最后一天的日期。如果为闰年,2月份最后一天为29日,则DAY(EOMONTH(DATE(B2,2,1),0))=29。 |
|