当我输入日期时,我得到了完全不同的东西。例如我输入012517
(2017 年 1 月 2 日)然后我得到了4/8/1934
。
它随着我输入的每个日期而变化。我尝试过“解决方案”在其他地方提供但仍然是相同的转换。
我已重新应用日期和位置的单元格格式,但仍然一无所获。
我在使用 2010 版时也经常遇到这种情况,最近我刚刚更新到 2013 版,但问题仍然存在!请指教!
答案1
这是预期的行为。Excel 将日期计算为从 1900 年 1 月 1 日(或 1904 年 1 月 1 日,如果您选中了 Mac 选项)开始的数字。12517
如果您向前计算(并包括 1900 年不存在的闰日),则数字是 1934 年 4 月 8 日,正如 Excel 向您显示的那样。
如果您确实想输入不带斜线的日期,那么有一些解决方法,但没有内置任何方法。
您可以使用第二列,其中有一个公式可以将数字转换为日期。例如
=DATE(2000 + RIGHT(A1, 2), LEFT(RIGHT("0" & A1, 6), 2), MID(RIGHT("0" & A1, 6), 3, 2))
您可以在事件中使用一些 VBA
Worksheet_Change
来分离您刚刚输入的数字并将其替换为日期。您可以根据需要输入数字,然后返回并使用 Excel 的“文本到列”功能。在向导的第三步,指定列数据格式为日期。
您可以使用一些格式技巧,以便 Excel 在您输入的数字中添加斜线,但我不建议这样做,因为 Excel 不会理解它们是日期。如果您绝对必须这样做,您可以将单元格的自定义格式设置为
00\/00\/00
,但同样,这不是日期,您无法重新格式化它以显示年份,并且基于日期的工作表函数将无法对其起作用。