在Excel文件之间传输日期(不准确)

时间:2015-05-29 22:44:40

标签: excel date formula

我有以下公式,我经常使用它将信息从一个文件复制到另一个文件。基本上,它需要一个给定的id(A2)并在第二个电子表格中搜索它的匹配,然后从公式的第一部分(在本例中为C)中指定的列中复制数据。

=INDEX([spreadsheet.xlsx]Sheet1!$C$2:$C$50000,MATCH(A2,[spreadsheet.xlsx]Sheet1!$B$2:$B$50000,0))

该公式适用于所有列,除非我尝试传输日期。它总是传输一个比实际日期大4年和1天的日期。我并不总是有这个问题转移日期,但我不知道是什么原因造成的。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

来自Microsoft的轻微缩写:

Excel支持两种不同的日期系统:

1900日期系统
在1900年日期系统中,支持的第一天是1900年1月1日。当您输入日期时,日期将转换为序列号,表示自1900年1月1日以来经过的天数。例如,如果您输入1998年7月5日,Excel将日期转换为序列号35981.

默认情况下,Excel for Windows使用1900日期系统。

1904年日期系统
在1904年日期系统中,支持的第一天是1904年1月1日。当您输入日期时,日期将转换为序列号,表示自1904年1月1日以来经过的天数。例如,如果您输入1998年7月5日,Excel将日期转换为序列号34519.

默认情况下,Macintosh for Excel使用1904日期系统。由于早期Macintosh计算机的设计,不支持1904年1月1日之前的日期。这种设计旨在防止与1900年不是闰年这一事实有关的问题。如果切换到1900日期系统,Excel for Excel确实支持日期早在1900年1月1日。

日期系统之间的差异

由于两个日期系统使用不同的起始日期,因此每个日期系统中的相同日期由不同的序列号表示。两个日期系统之间的差异是1,462天;也就是说,1900日期系统中日期的序列号总是比1904日期系统中同一日期的序列号大1,462天。 1,462天等于四年零一天(包括一天的飞跃日)。

设置工作簿的日期系统
在Excel中,即使打开了多个工作簿,每个工作簿也可以拥有自己的日期系统设置。

要在Microsoft Office Excel 2007中设置工作簿的日期系统,请按照下列步骤操作:
1.打开或切换到工作簿
2.单击 Microsoft Office按钮,然后单击 Excel选项
3.单击高级
4.单击以选中计算此工作簿下的使用1904数据系统复选框,然后单击确定

请注意,如果更改已包含日期的工作簿的日期系统,则日期将更改为四年零一天。

在工作簿之间链接和复制日期时遇到的问题
如果两个工作簿使用不同的日期系统,则在工作簿之间链接或复制日期时可能会遇到问题。具体来说,日期可能会移动四年零一天。