c语言用if函数如何判断闰年,excel怎么用IF公式判断闰?

如果要在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代码:

Public Function IsLeapYear(ByVal Date1 As Date) As Boolean

Y = Year(Date1)

IsLeapYear = Month(DateSerial(Y, 2, 29)) = 2

End Function或:Function IsyLeapYear(ByVal Date1 As Date) As Boolean

Y = Year(Date1)

IsyLeapYear = IIf(Y Mod 100 = 0, Y Mod 400 = 0, Y Mod 4 = 0)

End Function

关闭VBA编辑器,在A1单元格中输入日期格式的数据,在另一单元格中输入:

=IsLeapYear(A1)或:=IsyLeapYear(A1)

对于闰年公式将返回“TRUE”,非闰年返回“FALSE”。

上述公式或自定义函数对1900年以前年份的判断也是正确的。如果只需要判断1900年以后的年份,还可以用下面的几个公式:

=IF(DAY(DATE(A1,3,0))=29,"闰年","非闰年")

=IF(MONTH(DATE(A1,2,29))=2,"闰年","非闰年")。

全部

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值