Excel将文本(2017年4月28日)转换为日期

Excel将文本(2017年4月28日)转换为日期,excel,Excel,我的excel电子表格中有些日期的字符串中有th、nd、st和rd,因此我目前正努力将它们转换为dd/mm/yyyy的日期格式 我怎样才能用公式做到这一点? 2017年4月28日=2017年4月28日 谢谢A1中的文本: =DATEVALUE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"th",""),"st",""),"nd",""),"rd","")) A1中的文本: =DATEVALUE(SUBSTITUTE(SUBSTITUTE(SU

我的excel电子表格中有些日期的字符串中有th、nd、st和rd,因此我目前正努力将它们转换为dd/mm/yyyy的日期格式

我怎样才能用公式做到这一点? 2017年4月28日=2017年4月28日

谢谢

A1中的文本:

=DATEVALUE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"th",""),"st",""),"nd",""),"rd",""))
A1中的文本:

=DATEVALUE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"th",""),"st",""),"nd",""),"rd",""))
用公式:

=--(LEFT(A1,MIN(SEARCH({"th","st","nd","rd"},A1 & "thstndrd"))-1)&" " & MID(A1,MIN(SEARCH({"th","st","nd","rd"},A1 & "thstndrd"))+3,LEN(A1)))
这是一个数组公式,需要使用Ctrl-Shift-Enter键确认

然后将格式设置为
dd/mm/yyyy

使用公式:

=--(LEFT(A1,MIN(SEARCH({"th","st","nd","rd"},A1 & "thstndrd"))-1)&" " & MID(A1,MIN(SEARCH({"th","st","nd","rd"},A1 & "thstndrd"))+3,LEN(A1)))
这是一个数组公式,需要使用Ctrl-Shift-Enter键确认

然后将格式设置为
dd/mm/yyyy


你也可以试试这个配方

=IF(ISNUMBER(值(左(A1,2)))、TEXT(替换为(A1,3,2),“mm/dd/yyyy”)、TEXT(替换为(A1,2,2),“mm/dd/yyyyy”))

公式在前两位查找数值,并相应地设置日期格式。此公式的优点是,您可以根据需要修改
mm/dd/yyyy
格式。没有必要更改单元格的格式


你也可以试试这个配方

=IF(ISNUMBER(值(左(A1,2)))、TEXT(替换为(A1,3,2),“mm/dd/yyyy”)、TEXT(替换为(A1,2,2),“mm/dd/yyyyy”))

公式在前两位查找数值,并相应地设置日期格式。此公式的优点是,您可以根据需要修改
mm/dd/yyyy
格式。没有必要更改单元格的格式