如何解析 Excel 中的非标准日期格式?

Cra*_*ker 33 date microsoft-excel

我有一列格式为日期的字符串值yyyy-mm-dd,例如2011-Sep-13. 我需要将这些转换为 Excel 日期序列号,以便我可以在公式中使用它们。

DATEVALUE 无法识别这种格式;#VALUE!当我尝试时,我才明白。它也不采用自定义日期格式(与大多数编程语言不同)。

如何将任意日期格式转换为 Excel 日期值?

Aer*_*rik 32

您需要进行字符串解析,然后将适当的格式化值传递给DATEVALUE- 如下所示:

=DATEVALUE(RIGHT(A1,2)&"-"&MID(A1,6,3)&"-"&LEFT(A1,4))
Run Code Online (Sandbox Code Playgroud)

(编辑:更新的公式 - 经过测试,在一个例子中对我有用 - 可能需要根据您的输入进行改进)

  • 8 年和多个 Excel 版本之后,这仍然是最相关的答案!我希望Excel可以提供一个函数`PARSEDATE([string_value], [date format])` (12认同)

Ole*_*exa 8

请注意,月份名称是特定于 Windows 区域选项的。因此,如果您的 Windows 区域选项设置为乌克兰语,则 DATEVALUE 将返回 #VALUE!对于“07-Nov-2012”,但会接受“07-???-2012”。

  • 非常非常重要的注意事项!!可惜excel默认不能同时识别区域设置+英文月/日名称 (3认同)