日期年相减_Excel日期函数技巧之如何判断某一年是否闰年

991f71bbfeb38834045001517103dd03.png

ce8bc81a1bd6207d84938479dc2575cb.png

今天介绍一个日期函数的技巧,如何判断闰年(非常简单?)。

c1533092342da605aefc90ece3f85eb0.png

我们先来说说复杂的方法

一般来说,在很多关于数据处理的工作中,如果考虑日期数据的话,都会考虑如何判断闰年。在上学时学习编程的时候,好像在开始不久就有一个作业要写程序判断一个年份是否闰年。这个判断依据实际上挺绕的:

只有满足下面两个条件之一的年份才是闰年:

  1. 能被4整除但不能被100整除;

  2. 能被400整除;

写成Excel公式就是:

=IF(OR(MOD(A1,400)=0,AND(MOD(A1,4)=0,MOD(A1,100)<>0)),"闰年", "不是闰年")

c4659a11baa8176ff7a8839dbaed61c5.png

ce8bc81a1bd6207d84938479dc2575cb.png

98985a349a6ea51af5e3167c9c70fd23.png

简单的方法

上面那个方法逻辑有点绕,容易把人搞糊涂了,我们介绍一个简单的方法。

我们知道,在Excel中两个日期可以直接相减:

="2020/12/31"-"2020/12/30"

表示两个日期之间相差几天。上面这个公式结果是1,表示两个日期之间差了1天。

如果我们想计算两个日期之间包含多少天(含两头的日期),那么可以将公式改成:

="2020/12/31"-"2020/12/30"+1

结果就是2,表示2天。

于是,我们可以使用公式:

="2020/12/31"-"2020/1/1"+1

来计算2020年一共多少天。如果该结果是366天,就是闰年,否则就不是闰年。

所以,我们可以使用如下公式:

=IF((A1 & "/12/31")-(A1&"/1/1")+1=366,"闰年","不是闰年")

使用这个公式判断一下前面的四个年份是否闰年:

82db90c3b28b1dd5a5cf4ca1f9c429c0.png

非常简单吧

ce8bc81a1bd6207d84938479dc2575cb.png

d5e2c8d05c41c5321c831bf2a4e09ef9.png

Excel的一个小错误

仔细看上面两个方法的计算结果,你会发现有点小小的不同:

bee766e98e5d2a0394d535033db55a3a.png

实际上按照闰年的定义,1900年并不是一个闰年,但是在Excel中,1900年是被当作闰年对待的。

这是一个错误吗?显然是的。微软不知道吗?这是不可能的。为什么这么多版本中微软并没有修改这个错误呢?

实际上按照微软的解释,这个错误看上去是一个有意制造的错误:

首先,在Excel刚刚诞生的时候,有另外一个表格软件已经非常流行了——lotus 1-2-3,这个软件本身就把1900年当成了闰年。Excel为了与其兼容,就延续了这个错误。后来,Excel成为主流了,但是微软经过评估认为:1. 毕竟现在离1900年比较远了,受这个错误的影响的用户非常少。2. 修改带来的问题比不修改多多了,所以他们决定就不修改了。

ce8bc81a1bd6207d84938479dc2575cb.png

今天的分享就到这里了! END 如果你想系统学习Excel相关知识,可以加入E学会,永久免费学习20门Excel精彩课程。点击“阅读原文”了解详情,也可加客服咨询更多优惠    阅读往期技术文章 :点击底部菜单:开始学习==>学习指南 a10f608be5c4ea66441fc4f83c044327.png

a53ac38e856001d111631bf90b547162.png

a10f608be5c4ea66441fc4f83c044327.png   分享 / 投稿 / 商务    微信号: excel-plus
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值