将字符串格式的 mmm-yy 日期转换为日期格式

将字符串格式的 mmm-yy 日期转换为日期格式

我有一个 excel 文档,其中以字符串形式列出了 mmm-yy 格式的日期(它们是从 pdf 中复制过来的)。我需要能够确定这些日期之间的天数,但是 excel 将它们误解为 mmm-dd 格式。

例如:我需要找出 6 月 11 日和 6 月 13 日之间的天数。假设它们分别位于 A1 和 B1 中。在下一个单元格中我输入“=B1-A1”。天数应该是 730,但 Excel 显示为 2。它计算出 2014 年 6 月 13 日 - 2014 年 6 月 11 日。

当我尝试将格式更改为日期时,它会给我类似 Jun-11 -> Jun-14 的内容(仍然读作 2014 年 6 月 11 日)。

我试图将这些日期连接起来形成一个完整的日期(“Jun”+“-1-”+“11”)= Jun-1-11,但它仍然以字符串的形式出现,我无法用它执行必要的操作。

有没有办法轻松更正这些日期的格式?我可以使用 Replace 手动执行此操作,但有几百个。

答案1

第一个建议:

突出显示包含日期字符串的 Excel 列,并将单元格格式设置为“常规”而不是“文本”。然后 Excel 应该会确定它们是日期,并且可能会正确转换它们。

第二个建议(更直接地回答问题):

您可以使用左边和/或正确的手动分离日期字符串,然后使用 DATE 将其转换为实际的日期类型。

参考(见选项 3)

DATE 语法:DATE(年,月,日)

所以说 A1 包含“JUN-13”...

=DATE(CONCATENATE("20",RIGHT(A1,2)),MONTH(1&LEFT(A1,3)),1)

连接用于将字符串“20”与表示年份的字符串连接起来,以确保在转换过程中不会将“13”认为是“1913”。

函数用于根据提供的文本字符串获取月份数字。该1&位强制 MONTH 将 1 连接到单元格的前三个字符(例如“1Jun”)。Excel 将其识别为日期格式,并将其视为 MONTH 函数的日期,然后提取月份数字。

参考

一旦完成这些,日期用于将各位组合成最终日期(使用“天”为 1)。

使用您的示例数据和上述公式对其进行转换并将结果放入新单元格中,然后对结果单元格执行减法,得到 731(闰年?:))。

相关内容