将某些字符从字符串中心移动到字符串前面的公式?

Formula to move certain characters from center of string to front of string?

所以我有一个日期格式,我需要对一列单元格进行标准化,如下所示:

2013 年 10 月 4 日4:29:35下午

我需要这样的格式:

2013 年 4 月 10 日

或者至少转换为 excel 可以读取为日期的格式,例如:

2013 年 10 月 4 日

我已经能够创建一个公式来缩短时间,但无法切换日期和月份:

=IF(ISNUMBER(E1),E1,LEFT(E1,LEN(E1)-11))

我正在使用 excel 2010。提前致谢。

=DATEVALUE(MID(E1,FIND(",",E1)-2,2)&" "&LEFT(E1,3)&MID(E1,FIND(",",E1)+1,5))

但是这个公式非常依赖于您的文化。如果您的文化不是英语,那么 Oct 可能无法被识别。

VBA有点作弊(我确定有一个公式可以做到这一点 - 只是找不到它),但你可以使用类似的东西:

Public Function ReturnDate(Target As Range) As Date

    ReturnDate = Int(CDate(Target))

End Function

输入 =ReturnDate(E1) 并设置单元格格式。