Luis接收格式为“ 04A09”的日期,其中前两位数字是日期,中间字母是月份(A是1月,B是2月,C是3月,依此类推),后两位数字是年。他需要将这些编码日期转换为可以在Excel中使用的常规日期值。

使此日期格式成为非标准的最大原因是使用月份的字母字符。因此,要做的第一件事是弄清楚如何将该字符转换为数字月份。这是CODE函数可以提供帮助的地方。它返回字符的ASCII码。字母A返回值65,B返回66,依此类推。因此,将字母转换为数字1到12所需要做的就是使用这样的东西:

=CODE(UPPER(MID(A1,3,1)))-64

UPPER函数用于将月份字符转换为大写,以防万一代码允许月份使用小写字母。

转换月份的另一种方法是以这种方式使用FIND函数:

=FIND(UPPER(MID(A1,3,1)),"ABCDEFGHIJKL",1)

此技术可以找到字母字符串中的字符,并返回该字符串中从1到12的偏移量。

然后,可以在DATE函数中使用转换月的任何一种方法,以基于年,月和日返回日期。此示例使用CODE方法,但您也可以轻松使用FIND方法:

=DATE(2000+RIGHT(A1,2),CODE(UPPER(MID(A1,3,1)))-64,LEFT(A1,2))

如果编码日期可能包含2000年之前的某些日期,则使用DATEVALUE函数将日期放在一起将产生更准确的结果:

=DATEVALUE(CODE(UPPER(MID(A1,3,1)))-64&"/"&LEFT(A1,2)&"/"&RIGHT(A1,2))

如果您使用DATEVALUE方法,请理解该公式将返回一个日期序列号,并且您将需要格式化该单元格以显示您希望显示的日期。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(7163)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本:

链接:/ excelribbon-Converting_Coded_Dates_into_Real_Dates [将编码日期转换为实际日期]。