![为什么 Excel 不能一致地识别和格式化日期?](https://linux22.com/image/1493710/%E4%B8%BA%E4%BB%80%E4%B9%88%20Excel%20%E4%B8%8D%E8%83%BD%E4%B8%80%E8%87%B4%E5%9C%B0%E8%AF%86%E5%88%AB%E5%92%8C%E6%A0%BC%E5%BC%8F%E5%8C%96%E6%97%A5%E6%9C%9F%EF%BC%9F.png)
我正在使用 Excel 中的数据连接来链接到从另一个软件包导出的数据。我所做的分析依赖于软件捕获的日期,按日期分组并对其进行其他操作非常有帮助。
我上周创建的电子表格运行良好,Excel 可以正常处理日期。当我本周更新连接时,数据透视表中的所有分组都乱了,因为 Excel 只是将日期字符串视为文本。除了更新连接之外,我没有更改电子表格中的任何内容。
导出的电子表格中的日期列会自动正确格式化。过去一周,除了多了几行数据外,没有发生任何重大变化。捕获的数据始终采用相同的格式,并且不会意外将文本写入日期列。
数据跨度超过 3 年,任何日期/月份的歧义之前都已正确处理,没有问题,我无需关注它,所以我不怀疑这是原因。
我尝试选择单元格并指定格式,但没有任何效果。文本格式也与我的区域设置完全相同,因此错误不在这里。
即使我在公式中引用其中一个日期单元格,它仍会以文本形式输出。当我在其中一个单元格中进入并退出编辑模式时,Excel 突然知道如何处理文本并正确格式化。
我正在使用 Excel 2013,但在 2010 中我多次遇到过同样的现象,并且其他格式(例如数字)也被视为文本。
你能解释一下 Excel 为什么会这样吗?我该怎么做才能改正?我主要担心的是,为什么 Excel 在处理我的数据时如此不一致,而数据显然是一致的。
请注意,我不希望复制该列并进行一些转换粘贴,而且我不可能手动编辑 20000 多行。电子表格的目的是供其他人使用,并尽可能少地投入精力和解释,定期更新。
答案1
解决此问题的最佳方法是将文件保存为文本格式,然后使用“数据 - 获取外部数据”下的“从文本”导入将文件“导入”到空白工作表中。从文本导入时,请确保在包括日期的列或原始数据上指定正确的日期格式(D/M/Y 或 M/Y/D 或任何其他组合)
答案2
我在使用 Excel 时也遇到过类似的问题,对我来说,这是因为日期格式。我是荷兰人,但不知何故,Excel 有时选择荷兰符号最重要,有时选择美国符号。如果这可能是因为你不是美国人而导致的问题,我可以回忆一下我是如何解决这个问题的。
答案3
确保新数据在日期字段中没有空白或特殊的不可见字符。例如 CR、LF、Cntrl(回车符、换行符、控制符)。祝你好运……
答案4
我很不好意思回答自己的问题,但是我设法深入挖掘问题的根源,这对于没有电子表格的人或之前一定经历过完全相同情况的人来说会很困难。
我怀疑当我从软件包导出数据时,日期被写成了文本。当我打开导出的工作表时,Excel 会像处理日期一样将其转换为正确的格式。当我保存时,即使我没有做任何更改,数据也会从连接中正确传输。
这很奇怪,但这似乎就是问题所在。