这是一个简单的问题,我还没能找到答案。
我有一些没有年份且格式为 Mar-29 的数据,因为我已粘贴到 Excel 中,但 Excel 将其转换为这样的数据1/3/2029
。
我怎样才能将其转换为可用的日期格式,使所有日期都变成 2020 年的日期?
输出应为 DD/MM/YYYY。
答案1
将接收粘贴的“日期”的列格式化为文本前粘贴信息。这将允许他们保留Mar-29
文本。
粘贴看起来像日期的文本值后,选择列并运行数据、数据工具、文本到列。在第三个文本到列对话框页面上,使用日期、MDY 并单击完成。这将添加2020作为每个日期的年份。
当该列仍被选中时,应用所需的日期格式(Ctrl+1)。
如果您想在错误粘贴日期后重新处理它们,请尝试此公式,
=DATE(2020, MONTH(A2), TEXT(A2,"yy"))
答案2
答案3
您需要将值粘贴到格式化为文本的列中,然后使用此公式将 B9 更改为目标单元格:
=DATEVALUE(RIGHT(B9,LEN(B9)-FIND("-",B9,1))&"-"&LEFT(B9,FIND("-",B9,1)-1)&"-2020")
然后您可以复制并粘贴该值作为日期。
答案4
到目前为止的所有其他答案,除了吉普,似乎假设你有文本电子表格中显示“Mar-29”。如果这是真的,那么这个答案可能对你没用。(或者你可以根据自己的情况进行调整。)我对这个问题的理解是:
- 你有文本某处是“3 月 29 日”。
- 您将其粘贴到 Excel 中。
- Excel 将其解释为
mmm-yy
并将其转换为日期值 2029 年 3 月 1 日,星期四... - ...并使用
d/m/yyyy
格式将该值显示为“1/3/2029”
(这是首选格式)数字日期格式在英国)。 - 您希望将其解释为 2020 年 3 月 29 日星期日(
mmm-dd
+当前年份)
并显示为 29/03/2020(DD/MM/YYYY
)。
修复粘贴过程,这样你就不会在电子表格中得到错误的数据(因为Jeeped 的答案尝试这样做)可能是最好的方法。但是,一旦您在电子表格中(例如,在A1
)有了 2029 年等日期,您就可以通过输入来修复它们
=DATE(2020, MONTH(A1), YEAR(A1)-2000)
到B1
(或任何你想要的)。这只是用以下代码构建一个日期值:
- 年份=2020,
- month=日期值的月份值
A1
(三月,第三个月),并且 - day=日期值的年份值
A1
(2029)减去2000,取最右边的两位数字。
当然,如果 Column 中有更多值A
,则可以将该公式拖到 Column 下方B
。要永久应用修复,请复制并粘贴值。我假设您知道如何更改日期的显示格式。
笔记:
A1
如果不包含以您描述的方式损坏的日期值(垃圾输入,垃圾输出),则可能会产生不良结果。您可能需要添加验证。上述公式对年份 2020 进行了硬编码。如果您想要使用当前年份的公式,请使用
=DATE(YEAR(TODAY()), MONTH(A1), YEAR(A1)-2000)
- 我不确定您为什么要这样做,但您可以使用
MOD(YEAR(A1), 100)
而不是 来YEAR(A1)-2000
表示月份中的日期B1
。