ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > 函数与公式 > 如何判断某一年是否是闰年?

如何判断某一年是否是闰年?

作者:绿色风 分类: 时间:2022-08-17 浏览:131
楼主
水星钓鱼
Q:如何判断某一年是否是闰年?
A:由于具体情况,涉及到的提取年份的公式多种多样,所以这里仅假定A1单元格即是年份1900,则在B1单元格中输入如下公式:
  1. =IF((MOD(A1,400)=0)+(MOD(A1,4)=0)*MOD(A1,100),"闰年","平年")
或者
  1. =IF(OR(MOD(A1,400)=0,AND(MOD(A1,4)=0,MOD(A1,100))),"闰年","平年")
2楼
水星钓鱼
  闰年含义:闰年是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的。补上时间差的年份,即有闰日的年份为闰年。

  公历闰年判定遵循的规律为: 四年一闰,百年不闰,四百年再闰。
  公历闰年的简单计算方法(符合以下条件之一的年份即为闰年。
  1:能被4整除而不能被100整除。(如2100年就不是闰年)。
  2:能被400整除。
  (能被100整除但是不能被400整除的,不是闰年)。


  详情如下:
  闰年(leap year),指在公历(格里历)或夏历中有闰日的年份,以及在中国旧历农历中有闰月的年份。

  地球绕太阳运行周期为365天5小时48分46秒(合365.24219天),即一回归年(tropical year)。公历的平年只有365日,比回归年短约0.2422 日,每四年累积约一天,把这一天加于2月末(2月29日),使当年的历年长度为366日,这一年就为闰年。 按照每四年一个闰年计算,平均每年就要多算出0.0078天,经过四百年就会多出大约3天来,因此,每四百年中要减少三个闰年。所以规定公历年份是整百数的,必须是400的倍数才是闰年,不是400的倍数的就是平年。比如,1700年、1800年和1900年为平年,2000年为闰年。

  由于地球的自转速度逐渐降低,而公转速度则相对更加稳定,所以上述的系统经过更长的周期也会发生微小的误差。据计算,每8000年会有一天的误差,所以英国的天文学家John Herschel提议公元4000为平年,以后类推12000年,20000年亦为平年。但此提议从未被正式采纳。原因是到了4000年,地球自转的精确速度并非现在可以预测,所以届时参照真实数据方可做出判断。因此,在长远的将来,微小的调整应该不是由预定的系统决定,而是随时不定性的。

  需要注意的是,现在的公历是根据罗马人的"儒略历"改编而得。

  由于当时没有了解到每年要多算出0.0078天的问题,从公元前46年,到16世纪,一共累计多出了10天。为此,当时的教皇格雷果里十三世,将1582年10月5日人为规定为10月15日。并开始了新闰年规定。此后,平均每年长度为365.2425天,约4年出现1天的偏差。

  夏历的平年只有354日,比12个朔望月短0.3671日,为使每月初一与月朔相合,规定每30年中有11年的年底增加1日,这一年的历年有355日,即为闰年。中国旧历农历作为阴阳历的一种,每月的天数依照月亏而定,一年的时间以12个月为基准,平年比一回归年少约11天。为了合上地球围绕太阳运行周期即回归年,每隔2到4年,增加一个月,增加的这个月为闰月。在加有闰月的那一年有13个月,历年长度为384或385日,这一年也称为闰年。
3楼
罗刚君
简化版本:
=IF(DAY(EOMONTH(DATE(A1,3,),0))=28,"平年","闰年")
=TEXT(DAY(EOMONTH(DATE(A1,3,),0)),"[=28]平年;闰年")
4楼
willin2000
再简化一点:
=IF(DAY((A1&"/2/28")+1)=1,"平年","闰年")
5楼
wshcw
再简化2字:
=IF(DAY((A1&"-3")-1)=29,"闰年","平年")
6楼
gouweicao78
4楼、5楼公式很棒,只可惜没能修正Excel日期中1900年为“闰年”的错误。
7楼
willin2000
=IF(DAY((A1&"-3")-1)=29-(A1=1900),"闰年","平年")
8楼
x.f.zhao
=TEXT(A1&-2&-29,"[>60]闰年;;平年;平年")
=TEXT(A1+400&-2&-29,"闰年;;;平年")
9楼
xcd
赵氏经典之作。

当A1为1500时,第二个公式有点小问题,还是错误判断为闰年
10楼
悟空师弟
路过,学习……
11楼
有山有海
学习了闺年知识,学习了计算公式,谢谢!
12楼
传递
  1. =IF(COUNT(-(YEAR(A1)&"-2-29")),"是","不是")
13楼
paul001
这么多公都可以达到啊  楼上诸位强悍
14楼
ifljh
震撼了。
15楼
xpm130
=IF(MOD(IF(MOD(A1,100),A1,A1%),4),"平年","闰年")
这个公式貌似上面没出现过.

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap