我以前可以输入不带分隔符的日期,即 062509,Excel 会识别它并以我选择的日期格式返回日期,例如 2009 年 6 月 25 日或 06/25/2009。现在 Excel 会将 062509 解释为数字并返回 02/20/2071,除非我明确输入斜线 06/25/09。
我正在使用 Office 365 企业版。有什么方法可以将默认行为改回以前的状态吗?提前致谢!
答案1
Ron Rosenfeld 几乎完全正确地解释了为什么它不再适合您。特别是如果个人工作簿包含它并且您转移到 Office 365 Enterprise 取代了购买的而非订阅的版本。
我使用 Excel 已有 30 年,但我记得 Excel 本身从来没有这样做过。
更重要的是,考虑这一点:要将该输入解释为日期,Excel 必须意识到它是一个日期,但 Excel 依赖 Windows 或任何操作系统来识别日期。Excel 不会自行决定这一点。因此,如果您的 Windows 设置未设置为仅将该输入的确切格式视为日期,则 Windows 无法告诉 Excel 它是一个日期,并且 Excel 不会将其视为日期。例如,即使您打开默认模板并将每个单元格的数字格式设置为“yymmdd”,然后保存它,以便它始终为您提供从一开始就以这种方式格式化的新电子表格,它仍然不会帮助您,因为 Excel 会认为“062509”并不比它认为“horse”更接近日期。所以它不会应用您费尽心思设置的日期格式。
长期以来,传统方法是编写一个宏,当您从单元格移开或按下 Enter 键时触发该宏。这就是为什么更改为(可能)完全不同的 Excel 版本(替换而不是升级您的程序)似乎是造成损失的可能原因。由于您表示此功能可用,表明您指的是所有工作,而不仅仅是一组特定的电子表格,因此旧版本的个人工作簿似乎是宏所在的最佳选择。
如果该文件可能仍在您的计算机上(请记住您的“废纸篓”目录),您可能能够使用它完全替换新版本的个人工作簿,或者您可能可以从中取出宏(假设它在这里!)并将其放入新版本的个人工作簿中。但安装程序通常会以不经过“废纸篓”概念保护的方式删除材料,因此...
如果您不尝试寻找,您肯定找不到它。所以,也许可以检查一下...
或者写一个新的。它可能不超过 4-5 行。只是一种“输入时”方法。(如果您想转换现有数据,事情会更复杂,并提供公式和格式化方法,但您想在完成输入时获取输入的内容,并将其转换为日期,然后可以显示该日期,无论您格式化单元格如何(例如,您可能希望将其输入为 062509,但将其显示为“25, juNE 2009”)。这就是宏需要做的全部事情:识别采取行动的时刻,解析它并将其作为 Excel 采取行动的日期,然后停止。
我通过各种方式在 Google 上搜索了 20-25 页结果,但找不到一个国家/地区声称使用 ISO 8601 格式作为其国家/地区格式,希望能够告诉您一个可以在 Windows 中选择的国家/地区设置,并希望它们的短格式可以提供不带破折号或斜线的选择。但正如您可能从上面所有现有的内容中猜到的那样,我找不到一个。而且 Windows 10 并没有以网站自信地告诉您的任何方式提供它。但如果您真的想要它并且不执行提到的宏,也许您的搜索会更成功。