将号码转换为YYYYMM

我有以下数字,它们实际上代表YYYYMM格式的date:

201301 201302 201303 ... 

当我尝试将单元格格式化为date字段时,Excel总是会覆盖原始date并创build一些疯狂的date,这与实际date没有任何共同之处。

我怎样才能让Excel正确转换它?

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. 这是在这里讨论 。

所以这就解释了为什么你的数据反映的是不同的date,当你尝试格式为Date
那么你需要做的是把它转换成一个完全可读的date格式Excel识别。
现在,Excel将使用其默认的“ 串行值”转换。

如果您的数据是以A1开始的,请在B1中input。

=DATEVALUE(SUBSTITUTE(A1,LEFT(A1,4),LEFT(A1,4)&"-")&"-01")

上面的公式将创build一个Excel可以正确解释和读取的有效date
结果将是:

 41275
 41306
 41334

当你把它格式化为Date时 ,就等于每个月的第一天。

 2013年1月1日
 2013年2月1日
 2013年3月

你可以修改使用自定义格式的格式来获得YYYYMM,如下所示: 在这里输入图像说明

如果你的范围足够小(在2013年的例子中),那么不需要公式。 将13replace为13- ,将文本应用于以Tab作为分隔符的列,并在步骤3中selectDate和YMD。

您可以使用DATE和LEFT / RIGHTfunction。

假设格式是一致的(即年份4个字符,月份2个字符),转换单元格A1:

 =DATE(LEFT(A1,4), RIGHT(A1,2), 1) 

这将假定该date的月份的第一天(我认为这与你无关)。 您可以随意格式化单元格。

你可以在Excel中使用公式来解决这个问题

样本公式如下

 =DATE(MID(CELLID,1,4),MID(CELLID,5,2), 1)