格式化方法失败



如果我把这个字符串作为方法format的输入:"07/11/2009 00:33:22"格式:"yyyy/mm/dd hh:mm:ss"然后,结果我得到:2009-07-11 00:33:22

为什么把月换成日?如何解决这个问题?

实际上在输出中没有交换月份和日期,但是输入的格式会产生误导。尝试在单元格中使用=month("07/11/2009 00:33:22")来查看原始数据中真正的月和日。

如果您的输入来自一个范围,存储为数据,那么它实际上是7月11日。

如果您的输入是来自任何来源的字符串,那么查找您的pc(控制面板)的区域设置来更改默认设置。

更新

要确保无论您的区域设置如何,文本都以相同的方式转换为日期,请使用以下公式:
=date(mid(A1,7,4),mid(A1,4,2),mid(A1,1,2)) + time(mid(A1,12,2),mid(A1,15,2),mid(A1,18,2))

假设您输入的日期是2009年11月7日:

Format: "yyyy/dd/mm hh:mm:ss"

这将给你2009/07/11等

编辑:因为有人在没有任何解释的情况下投票,而且OP现在似乎已经决定了输入的顺序:

假设输入2009年7月11日:

Format: "yyyy/mm/dd hh:mm:ss"

这将给你2009/07/11等

将自定义格式设置为单元格、单元格选择或整个行或列将覆盖区域设置。如果这不起作用,可能是因为格式没有被强制更新。

一旦你应用了格式,选择受影响的范围或行/列,转到数据选项卡,然后点击"文本到列"。取消选择任何可选复选框,并按照向导的其余部分进行操作。格式现在会在所有选定的单元格中更新。

最新更新