将mmyy转换为可用日期

3

我的问题与这个问题非常相似,但针对的是Excel:如何在netezza中将mmyy转换为月底或者根据MMYY格式从信用卡过期日创建日期

本质上,我有一列填充了以mmyy形式书写的日期:

0215
0215
0215
0315
0315

该列已保存为数据类型:"Special"。

我该如何将此数据转换为可用格式?我不介意将其放入dd/mm/yyyy并使用该月份的第一天或最后一天。是否有Excel函数可用,或者这是我需要在VBA中完成的操作,如果是这样,怎么做?


我理解单元格正在显示* 0215 ,但如果您查看公式栏,您是否看到 0215 还是 215 *? 您想更改单元格中的值还是创建另一列带有日期值的数据? 您需要月份的第一天还是最后一天? 请选择一个。 - user4039065
查看215,新列和第一行 - James Willcox
3个回答

4
在一个未使用的列中使用以下公式,以A2作为“日期”开始:
=DATE(20&RIGHT(A2, 2), LEFT(TEXT(A2, "0000"), 2), 1)

根据需要进行填充。您需要将其格式化为日期,否则您将收到原始日期值,如42064

如果您需要月末日期,请将月份加上1,并将日期更改为0,例如:

=DATE(20&RIGHT(A2, 2), LEFT(TEXT(A2, "0000"), 2)+1, 0)

4

30 characters:

=1*REPLACE("1/"&A1,5,1,"/201")

与日期相关的话,20可能是多余的。


奖励分数用于简洁性,但多输入十几个字符可防止 2150215 的混淆,例如 =1*REPLACE("1/"&TEXT(A1, "0000;@"),5,0,"/20")。我的 m/d/yy 区域系统也将 OP 的第一个样本值解释为 2015 年 1 月 2 日。对 =1*REPLACE(TEXT(A1, "0000;@"),3,0,"/1/20") 进行小改动即可解决区域问题。 - user4039065

2

使用这个

=DATEVALUE("01/"&LEFT(A1;2)&"/20"&RIGHT(A1;2))


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接