我正在处理一个 Excel 文件,其中有一些格式为YYYYMMDD
(即 、19970203
或February 3rd, 1997
) 的值。我需要将这些值转换为 Excel 可以读取的日期格式,我通过对这些值旁边的列使用以下函数来完成此操作:
=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))
这将以 的形式输出日期dd-mm-yy
(因此03-02-97
,在上例中为 )。现在我需要根据月份组织日期,因此我尝试=month
在下一列中对这些新值使用该函数。输出的形式为mm-01-00
。
在研究中,我发现许多人已经通过简单地重新格式化单元格以仅显示mm
日期值来解决此格式问题。不幸的是,Excel 现在将这些mm-01-00
值读取为dd-mm-yy
,有趣的是,过去四年来一直是 1 月。
我找到了一种解决方法,即避免使用月份函数,而是在日期上使用文本函数,但我仍然没有弄清楚使用月份函数出了什么问题。我读了一些资料,但没有找到任何报告的类似问题案例。需要注意的是,我在具有美国区域设置的计算机上运行 Excel,但日期显示为dd-mm-yy
。然而,我不明白这与我的 Excel 问题有什么关系。
答案1
Excel 将日期存储为连续的序列号,以便用于计算。单元格的格式将序列号显示为日期,例如03-02-97
。
1900 年 1 月 1 日的序列号为 1,而 1997 年 2 月 3 日的序列号为 35464,因为它是 1900 年 1 月 1 日之后的第 35,464 天。如果将显示日期的单元格的格式更改为“常规”格式,则该单元格将显示序列号。
Excel 显示具有该=MONTH()
函数的单元格,02-01-00
因为该单元格格式为日期,并且序列号 2 的日期是 1900 年 1 月 2 日。MONTH()
返回2
1997 年 2 月 3 日。
将单元格更改为MONTH()
将单元格显示为数字(例如,常规),并且单元格将显示2
。
答案2
使用以下公式:
=TEXT(B1,"mm")
在 B1 中,您有公式=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))
使用您的方法,您可以将单元格格式更改=month()
为General
而不是日期(短或长)
单元格格式会将显示更改为您想要读取的内容