Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: sobili

[已解决]关于1900年以前的时间计算

[复制链接]
发表于 2014-11-23 20:05 | 显示全部楼层
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

发表于 2014-11-23 20:55 | 显示全部楼层
本帖最后由 as0810114 于 2014-11-23 21:19 编辑
sobili 发表于 2014-11-22 23:14
就是这个意思!!!

因为闰年能被4和100整除,也就是1900之前的时间年份加上400年对应的信息是一样的,所以1900之前时间年份加上400就可以计算 相应的星期,月份等信息。为了加大一点,年份加上2000,就够用了。
回复

使用道具 举报

 楼主| 发表于 2014-12-5 10:52 | 显示全部楼层
as0810114 发表于 2014-11-23 20:55
因为闰年能被4和100整除,也就是1900之前的时间年份加上400年对应的信息是一样的,所以1900之前时间年份加 ...

没法计算。请看附件。 年份计算.rar (6.96 KB, 下载次数: 10)
回复

使用道具 举报

发表于 2014-12-5 11:16 | 显示全部楼层
考虑把日期都加上400年的整数倍再处理
400年内包含所有的闰年等因素,每隔400年相差的时间都是146097天
但是需要注意,计算两个日期的间隔时,如果跨1900年的时候结果需减1,(1900-1-1为1,1899-12-31则为-1)
回复

使用道具 举报

发表于 2014-12-5 11:29 | 显示全部楼层    本楼为最佳答案   
本帖最后由 tgydslr 于 2014-12-5 11:32 编辑
sobili 发表于 2014-12-5 10:52
没法计算。请看附件。


如你附件所说
A2时间为1840/1/1,B2时间为2000(1905-6-22)
则C2
  1. =DATEDIF(--SUBSTITUTE(A2,LEFT(A2,4),400+LEFT(A2,4)),EDATE(B2,400*12),"d")-((TEXT(B2,"e")-1900)*(LEFT(A2)-1900)<=0)
复制代码

年份计算.rar

7.03 KB, 下载次数: 5

回复

使用道具 举报

发表于 2014-12-5 11:34 | 显示全部楼层
必须加上400年的整数倍才谨慎,200年的话相差可能会不一样
回复

使用道具 举报

发表于 2014-12-5 13:05 | 显示全部楼层
sobili 发表于 2014-12-5 10:52
没法计算。请看附件。

你没明白我的意思。
1900之前的时间本来就不能直接参与计算的。我说的意思是对应的1900之前的日期年份加上2000,形成的有效日期跟1900之前日期的信息是一样的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2025-8-15 12:29 , Processed in 0.161367 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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