John指出,在工作簿之间剪切和粘贴日期时,它们似乎无缘无故地发生了变化。例如,他使用100行,3列日期的工作簿(都以2018年作为年份)来完成此操作。粘贴的数据都以2014年为单位,日期提前1位(第17位变为第16位,依此类推)。

约翰描述的赠品线索是,他复制的内容和粘贴的内容之间存在四年的差异。该问题与Excel可用于计算日期的两个不同的“基准日期”有关。

您会看到,Excel在内部将日期维护为序列号,该序列号表示距给定基准日期的天数。该日期通常是1900年1月1日,所以序列号1是该日期(1900年1月1日),2是第二天,第二天是3,依此类推。

1900年的基础日期是基于Windows的Excel版本的默认日期。另一个基准日期是1904年1月1日。从历史上看,这是基于Mac的Excel版本中使用的基准日期。 (我之所以说“历史上”,是因为它不是最新Mac版本中的默认设置。目前尚不清楚微软何时更改默认设置。)Microsoft之所以使用第二个基准日期系统,是因为早期的Mac在处理之前的日期方面存在固有的问题。 1904年1月1日-如果我没记错的话,与leap年的处理方式有关。

在1904年基准日期系统下,内部序列号0是1904年1月1日,1是第二天,2是第二天。请注意,对于这两个基准日期系统,任何给定序列号的日期都不会仅间隔四年,而是会间隔四年零一天。

那么,在约翰的情况下,源工作簿的基准日期设置为1904年系统。在该工作簿中,一切都很好,但是当您将值复制(记住要将数字(序列号)从一个系统复制到另一个系统)并将其粘贴到使用1900系统的工作簿中时,日期似乎会截止四年零一天。

有两种可能的解决方案。首先,您可以更改目标工作簿中使用的基准日期系统。您可以按照以下步骤操作:

。选择目标工作簿。

。显示“ Excel选项”对话框。 (在Excel 2007中,单击Office按钮,然后单击Excel选项。在Excel 2010和更高版本中,显示功能区的“文件”选项卡,然后单击“选项”。)

。在对话框的左侧,单击“高级”。

。向下滚动,直到看到“计算此工作簿时”部分。

(请参见图1。)

。确保已选中“使用1904年日期系统”复选框。

。单击确定。

现在,您应该能够将日期从源复制到目标工作簿,而不会出现最初指出的任何问题。但是,这样做有一个缺点:如果其他人日后要从目标工作簿中复制任何内容,仍然会有同样的问题。

这为我们提供了第二种可能的解决方案:在将日期粘贴到目标工作簿中之后调整日期。如果您查看Excel在使用1900基本日期系统的系统上使用的基础序列号,您会发现1/1/1900的序列号是1,1 / 1/9044的序列号是1463。因此,您可以将日期粘贴到目标工作簿中,然后从刚粘贴的内容中减去1462,最后得到目标工作簿经过适当调整的日期。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(10942)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。