Как бы я конвертировать такой формат в Excel:

01.06.2007 21:48:16

К этому:

Sat Jan 06 21:48:16 EDT 2007?

Предположим, что это даты в США, поэтому 01.06.2007 - это действительно суббота, 6 января 2007 года, и все мои исходные ячейки - EDT.

1 ответ1

2

На самом деле в Excel нет хороших функций преобразования даты, как в SQL, поэтому вы должны использовать некоторые MID().

Ячейка А1:

01.06.2007 21:48:16

Преобразовать дату в формат ISO и преобразовать ее в серийный номер даты Excel, преобразовать время в временной ряд Excel, а затем сложить их вместе:

Ячейка А2:

=DATEVALUE(MID(A1,7,4)&"-"&MID(A1,1,2)&"-"&MID(A1,4,2))+TIMEVALUE(MID(A1,12,8))

Теперь вам нужно отформатировать ячейку, чтобы получить желаемый формат даты: ddd mmm dd hh:mm:ss "EDT" yyyy

Если вам нужно сместить исходную дату и время, то добавьте или вычтите из формулы в A2; этот пример добавит 2 часа к оригиналу:

=DATEVALUE(MID(A1,7,4)&"-"&MID(A1,1,2)&"-"&MID(A1,4,2))+TIMEVALUE(MID(A1,12,8))+TIMEVALUE("2:00:00")

Результат:

Sat Jan 06 23:48:16 EDT 2007

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