Excel 公式将“今天,上午 10:18:03”或“2013 年 5 月 14 日,星期二,下午 12:06:36”转换为 Excel 日期

Excel 公式将“今天,上午 10:18:03”或“2013 年 5 月 14 日,星期二,下午 12:06:36”转换为 Excel 日期

有人能想出一个公式将以下字符串转换为 Excel 日期吗?请注意,它会说“今天,时间“如果日期与今天的日期相符,否则它会说出星期几。您可以假设我尝试转换的字符串在 A 列中,如果这有帮助的话。

  • Today, 10:18:03 AM
  • Tuesday, May 14, 2013 12:06:36 PM

任何帮助都将受到赞赏。

答案1

下面的公式应该有效:

=IF(LEFT(A1,5)="Today",TODAY(),DATEVALUE(MID(A1,FIND(",",A1)+2,LEN(A1))))+RIGHT(A1,11)

答案2

我的 Excel 是西班牙语的,所以你需要翻译其功能。

=SI(IZQUIERDA(A1;5)="Today";HOY();SI(IZQUIERDA((DERECHA(A1;LARGO(A1)-HALLAR(" ";A1)));3)="Jan";0;SI(IZQUIERDA((DERECHA(A1;LARGO(A1)-HALLAR(" ";A1)));3)="Feb";31;SI(IZQUIERDA((DERECHA(A1;LARGO(A1)-HALLAR(" ";A1)));3)="Mar";31+28;SI(IZQUIERDA((DERECHA(A1;LARGO(A1)-HALLAR(" ";A1)));3)="Apr";31+28+31;SI(IZQUIERDA((DERECHA(A1;LARGO(A1)-HALLAR(" ";A1)));3)="May";31+28+31+30;SI(IZQUIERDA((DERECHA(A1;LARGO(A1)-HALLAR(" ";A1)));3)="Jun";31+28+31+30+31;SI(IZQUIERDA((DERECHA(A1;LARGO(A1)-HALLAR(" ";A1)));3)="Jul";31+28+31+30+31+30;SI(IZQUIERDA((DERECHA(A1;LARGO(A1)-HALLAR(" ";A1)));3)="Aug";31+28+31+30+31+30+31;SI(IZQUIERDA((DERECHA(A1;LARGO(A1)-HALLAR(" ";A1)));3)="Sep";31+28+31+30+31+30+31+31;SI(IZQUIERDA((DERECHA(A1;LARGO(A1)-HALLAR(" ";A1)));3)="Oct";31+28+31+30+31+30+31+31+30;SI(IZQUIERDA((DERECHA(A1;LARGO(A1)-HALLAR(" ";A1)));3)="Nov";31+28+31+30+31+30+31+31+30+31;SI(IZQUIERDA((DERECHA(A1;LARGO(A1)-HALLAR(" ";A1)));3)="Dec";31+28+31+30+31+30+31+31+30+31+30;"ERROR"))))))))))))+IZQUIERDA(DERECHA(A1;LARGO(A1)-HALLAR(" ";A1)-4);2))+VALOR(IZQUIERDA(DERECHA(A1;11);8))+SI(DERECHA(A1;2)="PM";0,5;0)-SI(IZQUIERDA(DERECHA(A1;11);2)="12";0,5;0)+FECHA(IZQUIERDA(DERECHA(A1;16);4);1;1)-1

相关内容