求助:Excel中=Now()生成日期对应数值异常问题
问题分析与解决办法
这问题我之前帮同事排查过,核心原因是你的工作簿启用了1904日期系统,和Excel默认的1900基准系统不匹配,才导致日期数值出现偏差。
先给你做个验证:你看到的41741,在1904日期系统里对应的就是13/04/2018;而你预期的43203,是1900系统下的标准数值——两者刚好差了1461天(这是1900年1月1日到1904年1月1日的天数,还包含了Excel历史遗留的1900年闰年错误)。
解决步骤很简单:
- 打开出问题的工作簿,点击左上角「文件」
- 选择「选项」,在弹出的窗口里切换到「高级」标签
- 往下找到「计算此工作簿时」区域,取消勾选「使用1904日期系统」
- 点击「确定」保存设置
之后再检查13/04/2018转数值的结果,应该就会显示为43203了。
另外你提到用=Now()生成日期转数值没发现异常——这是因为Now()会自动适配当前工作簿的日期系统,所以如果你的工作簿用1904系统,它生成的数值会比默认1900系统下少1461天,你可以拿另一台用默认设置的Excel对比验证下。
内容的提问来源于stack exchange,提问作者NickHallick
相关产品推荐
相关产品推荐

