将号码转换为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年的例子中),那么不需要公式。 将13
replace为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)