我有以下数字,实际上代表YYYYMM格式的日期:
201301
201302
201303
...
当我尝试将单元格格式化为日期字段时,Excel始终会覆盖原始日期并创建一些与实际日期没有任何共同点的疯狂日期。
如何使Excel正确转换?
答案 0 :(得分:2)
Excel (by default) uses the 1900 date system. This simply means that the date 1 Jan 1900 has a true numeric value of 1, 2 Jan 1900 has a value of 2 etc. These values are called "serial values" in Excel and it is these serial values that allows us to use dates in calculations.
which was discussed here。
这就解释了为什么您尝试格式化时数据反映的日期与日期相同。
您需要做的是将其转换为完整的可读日期格式 Excel 识别
按原样,Excel将使用其默认的序列值转换。
如果您的数据以A1开头,请在B1中输入。
=DATEVALUE(SUBSTITUTE(A1,LEFT(A1,4),LEFT(A1,4)&"-")&"-01")
然后,上面的公式将创建一个有效的日期,Excel可以正确解读和阅读 结果将是:
41275 41306 41334
当您将其格式化为日期时,它将等同于每个月的第1天。
1/1/2013 2/1/2013 3/1/2013
您可以使用自定义格式修复格式以获取YYYYMM,如下所示:
答案 1 :(得分:2)
如果您的范围足够小(在2013年的示例中),则不需要公式。将13
替换为13-
,将带有Tab的文本应用于列作为分隔符,并在步骤3中选择日期和YMD。
答案 2 :(得分:1)
您可以使用DATE和LEFT / RIGHT功能。
假设格式一致(即年份为4个字符,月份为2个字符),则转换单元格A1:
=DATE(LEFT(A1,4), RIGHT(A1,2), 1)
这将假定该日期的第一天(我假设与您无关)。然后,您可以根据需要格式化单元格。
答案 3 :(得分:0)
您可以在Excel中使用公式来解决这个问题吗。
下面给出了一个样本公式
=DATE(MID(CELLID,1,4),MID(CELLID,5,2), 1)