ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: aichong

[求助] [注意]一个Excel的日期BUG

[复制链接]

TA的精华主题

TA的得分主题

发表于 2007-1-30 23:25 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
aichong版主的经典提醒,令本菜如梦方醒

TA的精华主题

TA的得分主题

发表于 2007-1-30 23:31 | 显示全部楼层

晕,刚才搜索了一下,文章中竟然说1900年是平年

 

链接地址:http://blog.vsidc.cn/

什么是闰年,它怎么划分的?

2006年12月20日 星期三

西方农历的“闰年”
阳历中有闰日的年份叫闰年,相反就是平年,平年为365天,闰年为366天。在公历(格里历)纪年中,平年的二月为28天,闰年的二月为29天。闰年平月2月29日为闰日。

增加闰日的原因
现时的公历以回归年为“年”的计算基础,而一个回归年大约等于365.24220日。因为在平年公历只计算365日,结果四年后便会累积0.24220×4=0.9688日,大约等于一日,所以便逢四年增加一日闰日以抵销这0.9688日。

计算闰年的方法
公历纪年法中,能被4整除的大多是闰年,能被100整除而不能被400整除的年份不是闰年,能被3200整除的也不是闰年,如1900年是平年,2000年是闰年,3200年不是闰年。

中国农历的“闰年”
中国旧历农历纪年中,有闰月的一年称为闰年。一般年份为12个月,354或355天,闰年则为13个月,383或384天

[em04]

TA的精华主题

TA的得分主题

发表于 2007-1-30 23:36 | 显示全部楼层

文章观点是:能被100整除而不能被400整除的年份不是闰年

1900/400=4.75 还真的不能整除,不知道下载文章的观点是对是错,我一直还以为是闰年的,真郁闷了

[em04]

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-1-31 00:01 | 显示全部楼层

计算闰年的方法
公历纪年法中,能被4整除的大多是闰年,能被100整除而不能被400整除的年份不是闰年,能被3200整除的也不是闰年,如1900年是平年,2000年是闰年,3200年不是闰年。

原来如此!学习了。

TA的精华主题

TA的得分主题

发表于 2007-3-20 16:23 | 显示全部楼层
我也发现一个Bug:Excel里有1900年1月0日。这是输入0的结果。

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-4-11 16:58 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
QUOTE:
以下是引用shizx98在2007-3-20 16:23:31的发言:
我也发现一个Bug:Excel里有1900年1月0日。这是输入0的结果。

这个不是Bug,是Excel故意设计成这样的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-4-14 11:17 | 显示全部楼层

呵呵,终于有了官方的解释(http://club.excelhome.net/viewthread.php?tid=233593&extra=&page=1#233593):

[转载]原来早期的 Lotus-123 有一个 Bug,把不是闰年的1900年2月算成了闰年。而 Excel 的设计者发现了这个问题,却选择了保留这个错误,以保持与 Lotus-123 的兼容性。(详情请看 John Walkenbach 在『Excel 2002 Formulas』中的这段话)

    “确实,如果我们当初在讨论时再往前跨一步,测试一下 2100年、2300年、2500年的3月1日减去1天,我们就会得出结论:能够除尽100,但不能除尽400 的年份肯定不是闰年。不过,谁会想到,Excel 中会有这样的猫腻呢?”

    对于微软这个不大不小的玩笑不尽服气,我继续对它进行测试,结果发现了另外一个“居然”!
    用 EDATE 这个函数(Mouths 为 1、-1)去计算 1900年的1月31日和3月31日,“居然”是等于 1900年2月28日!
同一个 Excel,两个均为正确的不同算法,居然可以算出两个不同的结果!

TA的精华主题

TA的得分主题

发表于 2007-4-14 11:46 | 显示全部楼层

回复:(aichong)[注意]一个Excel的日期BUG

呵呵,偶今天才知道能被4整除的大多是闰年,其中能被100整除而不能被400整除的年份不是闰年。

对EDATE能得到正确结果,可能是因为它是在发现这个Bug之后才有的函数吧。

点评

学习,恍然大悟!  发表于 2011-11-28 21:51

TA的精华主题

TA的得分主题

发表于 2020-6-5 13:21 | 显示全部楼层
向您问好 发表于 2007-1-30 23:31
晕,刚才搜索了一下,文章中竟然说1900年是平年 链接地址:http://blog.vsidc.cn/什么是闰年,它怎么划 ...

向您问好老师,您好,我读了您的帖子,有一个地方不太懂.
闰年没有平月,是闰月吧?
是不是,把"闰年平月"该成"闰年闰月"比较好?

见截图的批注
图片.png
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-23 10:29 , Processed in 0.034498 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表