2023-02-11 02:17来源:m.sf1369.com作者:宇宇
方法1:在B1单元格输入公式
=IF((MOD(A1,400)=0)+(MOD(A1,4)=0)*MOD(A1,100),"闰年","平年")
方法2:在B1单元格输入公式
=IF(DAY((A1&"-3")-1)=29-(A1=1900),"闰年","平年")
假设要被判断的年份在A1单元格,假设A1单元格存放的是1990,则可以使用以下几种公式来判断是否为闰年。
闰年含义:闰年是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的。补上时间差的年份,即有闰日的年份为闰年。公历闰年判定遵循的规律为: 四年一闰,百年不闰,四百年再闰。 公历闰年的简单计算方法(符合以下条件之一的年份即为闰年。 1:能被4整除而不能被100整除。(如2100年就不是闰年)。 2:能被400整除。 (能被100整除但是不能被400整除的,不是闰年)。
用datedif函数
在A1中输入入职时间,在A2中输入离职时间,
A3中输入=datedif(A1,A2,"Y")为计算整年数;
A3中输入=datedif(A1,A2,"M")为计算整月数;
A3中输入=datedif(A1,A2,"D")为计算所有天数;
此函数根本不用考虑闰年之类的全部自动完成。
1、非整百年:能被4整除的为闰年。(如2004年就是闰年,2001年不是闰年)
2、整百年:能被400整除的是闰年。(如2000年是闰年,1900年不是闰年)
3、对于数值很大的年份:这年如果能被3200整除,并且能被172800整除则是闰年。如172800年是闰年,86400年不是闰年(此按一回归年365天5h48'45.5''计算)。
世纪闰年:能被400整除的为世纪闰年。2100属于世纪年,可以被4整除,但不能被400整除,因此也不是闰年。
计算两个日期的天数通常运用阳历的一些规律,用加法或减法去计算。
根据题意做如下计算,依据阳历的年有闰年和平年(2月有29天和2月28天)之分,一年有12个月有大小月(31天和30天)之分。举例,2016年1月1日到8月20日的天数?计算:因为2016年是闰年,列式计算31×4+29+30×2=213,
通过实例计算,说明上面的结论。
能用4整除的是闰年,不能整除的就是平年
如果要在Excel中确定某年是否为闰年,可以用下面的方法,假如指定的日期在A1单元格。使用公式:=IF(OR(MOD(YEAR(A1),400)=0,AND(MOD(YEAR(A1),4)=0,MOD(YEAR(A1),100)<0)),"闰年","非闰年")
例如A1单元格为“1900-1-1”,公式返回“非闰年”。
还可以使用下面的公式,对于闰年公式返回“1”,非闰年返回“0”。
=(MOD(YEAR(A1),4)=0)-(MOD(YEAR(A1),100)=0)+(MOD(YEAR(A1),400)=0)
下面的公式比较简洁,除1900年外都能正确判断:
=IF(DAY(DATE(YEAR(A1),2,29))=29,"闰年","非闰年")
使用自定义函数:
按Alt+F11,打开VBA编辑器,单击菜单“插入→模块”,在右侧的代码窗口中输入下面的VBA代码:
PublicFunctionIsLeapYear(ByValDate1AsDate)AsBoolean
Y=Year(Date1)
IsLeapYear=Month(DateSerial(Y,2,29))=2
EndFunction或:FunctionIsyLeapYear(ByValDate1AsDate)AsBoolean
Y=Year(Date1)
IsyLeapYear=IIf(YMod100=0,YMod400=0,YMod4=0)
EndFunction
关闭VBA编辑器,在A1单元格中输入日期格式的数据,在另一单元格中输入:
=IsLeapYear(A1)或:=IsyLeapYear(A1)
对于闰年公式将返回“TRUE”,非闰年返回“FALSE”。
上述公式或自定义函数对1900年以前年份的判断也是正确的。如果只需要判断1900年以后的年份,还可以用下面的几个公式:
=IF(DAY(DATE(A1,3,0))=29,"闰年","非闰年")
=IF(MONTH(DATE(A1,2,29))=2,"闰年","非闰年")
1、本次演示使用的软件为Excel电子表格,软件版本为Microsoft office家庭和学生版2016。
2、首先打开Excel电子表格,新建电子表格,并在表格中输入用于演示判断闰年操作的数据。
3、在表格中输入公式“=IF((MOD(A1,400)=0)+(MOD(A1,4)=0)*MOD(A1,100),"闰年","平年")”,该公式利用了平年闰年的计算方法,也就是能被4整除,但不能被100整除的年份都是闰年,能被400整除的年份是闰年。4、输入完成后,点击回车键即可得到结果,对于批量数据可以使用自动填充进行填充来得到结果。
工具:office excel步骤
判断公式一:=COUNT(--(B1&"-2-29"))含义:B1&"-2-29"部分返回一个文本日期格式,比如"2008-2-29"。再用减减该文本,如果2008-2-29这个日期存在(也就是闰年时),文本会变成数字,否则变成错误值。而COUNT函数只统计数字的个数,所以如果是闰年COUNT返回1,是平年返回0。
判断公式二:=MONTH(DATE(B1,2,29))=2含义:DATE(年,月,日)返回一个日期,DATE(B1,2,29)这个函数如果B1年份2月只有28天,就会自动变成DATE(B1,3,1),也就是“日”会自动进位到“月”。只要判断DATE(B1,2,29)这个日期的月份就可以了。而MONTH函数就返回日期的月份,只要判断返回结果是不是2就可以了。
判断公式三:=DAY(DATE(B1,3,0))=29含义:DATE(B1,3,0)由于最后的“日”输入的是0,所以返回3月1日前一天的日期。DAY()函数返回日期“年月日”中的“日”。如果3月1日的前一天是29号(也就是闰年时)结果返回TRUE,否则返回FALSE。
判断公式四:=TEXT(B1+400&-2&-29,"闰年;;;平年")含义:B1是年份,加上400不影响闰年的判断,但屏蔽了excel表格中对1900年的特殊规定。“年份&-2&-29”返回一个日期格式,如果确实是日期,则TEXT返回大于0时的结果“闰年”,如果不是日期则判断为一个文本,返回文本时对应的“平年”。
TEXT(参数,"结果1;结果2;结果3;结果4"),TEXT对第一参数判断,分大于0、小于0、等于0和文本四种情况分别返回:=TEXT(参数,"大于0时;小于0时;等于0时;是文本时")。上例中第一参数是日期,是一个大于0的数字,则返回第一个分号之前的内容,如果是文本则返回最后一个分号后的内容。
判断公式六(基础的IF函数判断):=IF(MOD(B1,4)>0,"平",IF(MOD(B1,100)>0,"闰",IF(MOD(B1,400)>0,"平","闰")))含义:MOD()函数是取余数的函数,比如说MOD(10,4)就是10除以4的余数,返回2。MOD(8,4)返回0,因为8能被4整除,余数是0。IF判断过程如下:如果年份除以4余数大于0,就是不能被4整除,是平年,返回“平”;下一步能被4整除但不能被100整除,是闰年,返回“闰”;再下一步能被100整除,但不能被400整除(也就是mod(B1,400)>0)是平年,返回“平”,反之返回“闰”。
1、打开一个excel表格:
2、在A1单元格内输入需要查询的年份,例如1990(1990是平年,不是闰年):
3、在B1单元格内输入公式=IF((MOD(A1,400)=0)+(MOD(A1,4)=0)*MOD(A1,100),"闰年","平年"):
4、输入完公式回车可以看到刚才输入1990年是否是闰年:
5、在A1单元格输入2016或者其他任意闰年检验,公式得出的结果与实际相符:
需要使if函数。
首先公历闰年的简单计算方法(符合以下条件之一的年份即为闰年。1:能被4整除而不能被100整除。(如2100年就不是闰年)。2:能被400整除。(能被100整除但是不能被400整除的,不是闰年)。
在A1处输入年份,在表格B1输入:=IF((MOD(A1,400)=0)+(MOD(A1,4)=0)*MOD(A1,100),"闰年","平年")
这样在B1表格处自动显示闰年或者平年。