判斷某年是否為閏年,有兩個(gè)判斷角度。 可以看年份。根據(jù)閏年規(guī)則“四年一閏,百年不閏,四百年一閏”,年份滿足下列條件之一,則為閏年。 (1)能被4整除且不能被100整除(如2004年是閏年,而1900年不是) (2)能被400整除(如2000年是閏年) 還可以看2月份天數(shù)。2月份有29日,則是閏年。 根據(jù)這兩個(gè)判斷角度,本文整理了五種方法。 一、從年份判斷 方法一、MOD+AND+OR函數(shù) 在C2單元格輸入公式 =IF(OR((MOD(B2,400)=0),AND((MOD(B2,4)=0),(MOD(B2,100)<>0))),"閏年",""),拖動(dòng)填充柄向下復(fù)制公式。 公式解析: (1)MOD函數(shù)為取余函數(shù)。MOD(B2,4)返回B2單元格數(shù)值被4除后的余數(shù)。如果B2能被4整除,則MOD(B2,4)=0。 (2)AND函數(shù)和OR函數(shù)用于邏輯運(yùn)算。對(duì)于AND函數(shù),如果所有條件參數(shù)的邏輯值都為真,則返回TRUE,只要有一個(gè)參數(shù)的邏輯值為假,則返回FALSE。 (3)AND((MOD(B2,4)=0),(MOD(B2,100)<>0))表示只有當(dāng)B2單元格只能被4整除且不能被100整除時(shí),AND函數(shù)返回TRUE。 (4)對(duì)于OR函數(shù),如果所有條件參數(shù)的邏輯值都為假,則返回FALSE,只要有一個(gè)參數(shù)的邏輯值為真,則返回True。OR((MOD(B2,400)=0),AND((MOD(B2,4)=0),(MOD(B2,100)<>0)))表示只要年份滿足上述判斷條件之一,就是閏年。 方法二、MOD函數(shù) 在C2單元格輸入公式 =IF((MOD(B2,400)=0)+(MOD(B2,4)=0)*(MOD(B2,100)<>0),"閏年",""),拖動(dòng)填充柄向下復(fù)制公式。 方法二的公式和方法一相似,只不過(guò)方法二用“+”代替OR函數(shù),用“*”代替AND函數(shù)。 二、從2月份是否有29日判斷 方法一、DATE+DAY函數(shù) 在C2單元格輸入公式=IF(DAY(DATE(B2,3,0))=29,"閏年",""),拖動(dòng)填充柄向下復(fù)制公式。 公式解析: (1)DATE函數(shù)用于返回指定年月日的日期,如DATE(2000,3,1)返回結(jié)果為“2000/3/1”。DATE(B2,3,0)指返回B2單元格年份即2000年3月0日,也就是2000年2月份的最后一天的日期。 (2)DAY函數(shù)用于返回一個(gè)日期中的第幾天,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函數(shù) 在C2單元格輸入公式=IF(MONTH(DATE(B2,2,29))=2,"閏年",""),拖動(dòng)填充柄向下復(fù)制公式。 公式解析: 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函數(shù) 在C2單元格輸入公式=IF(DAY(EOMONTH(DATE(B2,2,1),0))=29,"閏年",""),拖動(dòng)填充柄向下復(fù)制公式。 EOMONTH用于返回指定月數(shù)之前或之后月份的最后一天。EOMONTH(DATE(B2,2,1),0))返回2月份最后一天的日期。如果為閏年,2月份最后一天為29日,則DAY(EOMONTH(DATE(B2,2,1),0))=29。 |
|
來(lái)自: 初風(fēng)Excel教學(xué) > 《待分類》