有一个大的原始数据转储,我正在尝试将日期格式化为一致的格式。
从截图中可以看出,有两种主要格式,一种是自定义mm-dd-yyyy hh:mm AM / PM和mm / dd / yyyy hh:mm:ss。一个存储为常规,另一个存储为自定义值。
我尝试=left(A2,8)
,通过text()
转换并使用文本转换为列,但无法将值转换为一致的值。
答案 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
添加到自定义的内容。