闰年是为了弥补因历法年度天数与地球实际公转周期的时间差而设立的,补上时间差的年份为闰年。
公历的全年天数不同:
公历平年全年有365天,而公历闰年全年有366天。
被整除的特性不同:
非整百年的年份中,能被4整除的为闰年,不能被4整除的为平年。如2004年就是闰年,2001年平年。
整百年的年份中,能被400整除的是闰年,不能被400整除的是平年。如2000年是闰年,1900年是平年。
2月份的天数不同:
闰年的2月有29天,平年的2月就只有28天。
如下图所示:
我们需要根据A列的日期判断该年份属于平年还是闰年,结果显示在对应的B列单元格中。
2
解题思路
解决这个问题,我们需要用到日期函数YEAR函数,计数函数COUNT函数,逻辑判断函数IF函数,下面我们来看一下它们是如何发生化学反应的。
首先在B2单元格输入函数公式:
=YEAR(A2)
使用YEAR(A2)计算A2单元格日期的年份为“2012”年。
继续完善B2单元格中的函数公式为:
=YEAR(A2)&"-2-29"
用YEAR(A2)与字符串"-2-29"连接,生成“2012-2-29”样式的字符串。如果该年份中的2月29日不存在,公式中的“年份-2-29”部分将会按文本方式进行处理。
继续完善B2单元格中的函数公式为:
=-(YEAR(A2)&"-2-29")
在YEAR(A2)&"-2-29"字符串前面加上负号“-”,如果字符串是真正的日期数据,则会返回一个负数(日期值实际为数值),否则会返回错误值#VALUE!。
继续完善B2单元格中的函数公式为:
=COUNT(-(YEAR(A2)&"-2-29"))
通过COUNT函数(计算区域中包含数字单元格的个数)判断该返回值是否为数值,我们可以明确的发现:如果返回数字1,即为数字,返回数字0,即为非数字。
继续完善B2单元格中的函数公式为:
=IF(COUNT(-(YEAR(A2)&"-2-29")),"闰年","平年")
在Excel中我们通常用“1”代表逻辑值TRUE,用0代表逻辑值FALSE,所以我们只需要用IF函数做一个逻辑判断即可:如果逻辑条件=1(即为数字时,逻辑值为TRUE(真值)时),返回“闰年”,否则返回为“平年”。
我们还可以用下面的公式判断闰年或者平年:
=IF(MONTH(DATE(YEAR(A2),2,29))=2,"闰年","平年")
DATE(YEAR(A2),2,29)部分表示使用DATE函数构造出该年度的2月29日,如果该年份没有2月29日,将返回该年份中3月1日的日期序列值。再用MONTH函数判断该日期是否为2月,如果是的话,则表示该年份为闰年。