ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > 函数与公式 > 一生一世我爱你(1314-5-20)爱多久了

一生一世我爱你(1314-5-20)爱多久了

作者:绿色风 分类: 时间:2022-08-18 浏览:113
楼主
gouweicao78
Excel技巧网_官方微博:来!来!来!算一算!1314年5月20日距今天有多少天,请您用Excel算哦!看看谁是高手!要列出方法,结果不算数,因为每天都会变,呵呵。”

 

黄版的一条热门微博,1314520,谐音是“一生一世我爱你”,但要用Excel计算出公元1314年5月20日距离今天有多久,就需要费点儿脑筋了。下面我就此题涉及的有关知识做一个整理:

1、日期系统:
由于Excel中的日期系统是从1900年开始,此前的日期是不能识别和计算的。数字1表示1天,数字78303表示从1900-1-1到2114-5-20经历了78303天。
2、日期系统中的BUG:
Excel的1900日期系统,其实是有一个bug,因为事实上不存在1900-2-29这个日期,但早期为了兼容Lotus-1-2-3等软件,微软宁可用这么一个有bug的日期系统而尽量减少用户的计算依据更改,毕竟用到这个日期的机会不多。微软也提供了1904日期系统来解决此问题。
3、关于闰年:
我们知道,闰年是366天,平年是365天,规律是“四年一闰,百年不闰,四百年再闰”,也就是每400年一个轮回,所经历的天数是一样多的,更多详细的知识可以参考百度百科:

现在讲解一下我的解法、思路及简化过程:

解法1、
  1. =MOD(TODAY()-"2114-5-20",146097*2)
利用MOD函数解周期循环求补数的方法,计算今天减去1314-5-20经过800年后的日期即2114-5-20,得到一个负数,再对800年的天数求余,得到补数也就是1314-5-20至今的天数。
其中:146097是400年的天数,在Excel中可以这么计算,在A1输入2000-1-1,A2输入2400-1-1,然后在其他单元格输入=A2-A1后按F9键得到这个日期差。需要注意的是,如果用1900-1-1与2300-1-1就会多出1天,原因就是1900年在Excel中被作为闰年的BUG。

简化:

  1. =MOD(TODAY()-78303,292194)
解法2、
  1. =146097*2+TODAY()-"2114-5-20"
也就是=800年的天数-(2114年5月20日-今天日期)的变形
简化:

  1. =292194+TODAY()-78303
再简化:
  1. =213891+TODAY()
上面2个解法都是通过加800年来实现,当日期超过2114年(希望那时候我们和这个帖子还在
),当然可以按这种思路继续计算。

解法3(由@星际小猫
  1. =DATE(YEAR(TODAY())+800,MONTH(TODAY()),DAY(TODAY()))-DATE(2114,5,20)
思路是将今天的日期和1314-5-20都同时加上800年再相减。
简化1:
  1. =EDATE(NOW(),9600)-"2114-5-20"
再简化2:
  1. =EDATE(NOW(),9600)-78303
Excel 2003版使用EDATE需要加载“分析工具库”函数。其实,简化1比较直观些,简化2再简化就是解法2了。

【重要修正】凭空消失的10天
根据PhoenixSoaring


公历的前身是古罗马儒略历平年公元年格列高里十三世1582年宣布改历。先是一步到位把儒略历1582年10月4日的下一天定为格列历10月15日,中间跳过10天。同时修改了儒略历置闰法则。除了保留儒略历年历法


【如何修正】
个人认为:1582年要抹掉10天,是因为在此之前的历法是“四年一闰”,没有“百年不闰、四百年再闰”的规定,因此,从1314年往后到1582年修正之前,共经历了1400、1500年2个不应该算366天的年份,也就是多算了2天;然后1582年被抹掉10天。所以,上面的计算方法应该再减去8天
2楼
APOLLO
偶像!学习了
3楼
LoveJinLee
嫩要这么神么。。
4楼
yunqingzi
很有意思。学习了。
5楼
luckydog
呵呵,真好玩,学习了
6楼
wqfzqgk
我无聊的一天一天的数
7楼
wqfzqgk
数来数去还是数错了
8楼
张啸宁
哈哈,你数完了吗?要不然排个班,三班倒着数啊?
9楼
悠悠雨
学习娱乐二不误
10楼
传递
以为散文都出炉了~
11楼
sjz76meizi
草版好厉害,看来以后excel要改写小说版了,那样印象更加深刻
12楼
gouweicao78
1楼计算原先未考虑1582年日历修改问题,已更新。
13楼
李海宾
我去翻翻祖辈留下的老皇历
14楼
xinqing2019
好复杂啊
15楼
hhy0206
好复杂呀,谢谢、
16楼
verywondful
楼主太神了
17楼
renyz2006
原来还有怎么多的事要考虑啊!原以为二个日期相减就行了!佩服啊!

免责声明

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

评论列表
sitemap