Excel日期 - 将不同的日期格式转换为单一格式

时间:2016-07-28 09:10:26

标签: excel date

enter image description here

有一个大的原始数据转储,我正在尝试将日期格式化为一致的格式。

从截图中可以看出,有两种主要格式,一种是自定义mm-dd-yyyy hh:mm AM / PM和mm / dd / yyyy hh:mm:ss。一个存储为常规,另一个存储为自定义值。

我尝试=left(A2,8),通过text()转换并使用文本转换为列,但无法将值转换为一致的值。

2 个答案:

答案 0 :(得分:2)

短日期的Windows区域设置似乎为DMY或类似。您的数据转储可能是MDY格式。这就是为什么A2和A4被转换为"真实日期" (虽然不正确),而且A3不是因为Excel不知道月份是什么。您将注意到A2是2015年12月1日,我怀疑在原始数据中它是2015年1月12日。

编辑:扩大一点说明。当将类似日期或时间的内容输入Excel单元格时,Excel会尝试将结果更改为日期,并根据Windows区域短日期格式解析输入。这有时会产生不希望的结果。例如,如果您的Windows格式为MDY但日期输入为DMY,则输入天数< = 12将被错误地转换,并输入天数> 12将保留为文本。这种行为不能被关闭"并且引起那些想要输入看起来像日期的数据的人的许多抱怨,但事实并非如此。 (例如,输入比值比为1-10或12:3将转换为日期或时间)

几个选项

  • 更改数据的输出,使日期格式为DMY
  • 执行OPEN而不是Text Import数据文件。在更高版本的Excel中,您可以在Data Ribbon ► Get External Data ► From Text上找到它。这将打开文本导入向导,并允许您在Excel转换之前指定传入数据的MDY格式。

完成上述任一项后,结果将是"真实" Excel日期或日期/时间,您可以根据自己的喜好对其进行格式化。

答案 1 :(得分:0)

写一个IF(),如果列B指定"自定义"将格式更改为标准。

对于AM,只需将其删除(替换为AM)。对于PM添加12小时,并将PM替换为空。

自定义将-替换为/并附加:00以将seconds添加到自定义的内容。