-1

Может кто-нибудь придумать формулу для преобразования строк, подобных приведенным ниже, в даты Excel? Обратите внимание, что будет указано «Сегодня, время », если дата соответствует сегодняшней дате, в противном случае будет указано название дня. Вы можете предположить, что строка, которую я пытаюсь преобразовать, находится в столбце A, если это поможет.

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

Любая помощь приветствуется.

2 ответа2

1

Следующая формула должна работать:

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

Мой 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .