2015-04-20 2 views
0

Как я могу конвертировать дату, указанную в виде текста «ГГГГ: ДД: ММ hh: mm: ss», к дате в формате ГГГГ. MM.DD hh: mm: ss?Конвертировать дату как текст «ГГГГ: ДД: ММ чч: мм: сс» на реальную дату

+0

Связанные https://support.office.com/ru-ru/article/Format-a-date-the-way-you-want-8e10019e-d5d8-47a1-ba95-db95123d273e#__toc320186182 – miradulo

+2

Вы ищете Решение VBA? Во всяком случае, вам нужно будет разбирать струну самостоятельно, я боюсь. Вам нужно преобразовать его в дату, а затем вы можете отформатировать его так, как хотите. – martin

+0

ehy the downvote? – Kay

ответ

2

Раствор формулы рабочего листа будет включать LEFT function, MID function и RIGHT function.

=DATE(LEFT(A1, 4), MID(A1, 9, 2), MID(A1, 6, 2))+TIME(MID(A1, 12, 2), MID(A1, 15, 2), RIGHT(A1, 2)) 

Date text parsing

Формат ячейки (Ctrl +) с номерами ► Пользовательский ► Тип: из YYYY.MM.DD чч: мм: сс.

Эти функции работают точно так же в VBA. DATE function и TIME function будут DateSerial и TimeSerial.

+0

Большое спасибо за продуманный ответ! Тем не менее, я все еще удивляюсь, почему применение соответствующего пользовательского формата (Тип: _YYYY: DD: ММ hh: mm: ss_) к тексту недостаточно, чтобы преобразовать его на дату? Я думал, что это произойдет, так как я прямо говорю Excel, какие строковые элементы относятся к году, месяцу и т. Д. – Kay

+0

@Kay - текущая пользовательская формальная маска не учитывается, когда Excel пытается «разумно» конвертировать текстовые данные к фактическим датам , Как отмечается в другом предлагаемом ответе, существует также региональный * m/d/yy * vs * d/m/yy *. Это 2015 год: 04: 07 07-апр-2015 или 04-июль-2015? В неправильной региональной системе половина записей может конвертироваться в неправильные даты, а другая половина вообще не конвертировать. Лучше всего проанализировать каждую часть и построить элементы даты и времени, а затем сшить их вместе. – Jeeped

+0

Хорошо, спасибо большое! – Kay

0

У меня была такая же проблема, и у моего файла 400 000 строк с текстом в этом формате: yyyy-mm-dd hh: mm: ss. Пользовательский формат даты не работал вначале, но вы можете использовать = VALUE (текст), а затем применить пользовательский формат ячейки по вашему выбору. Как-то Excel знает, что ваш текст является датой с эквивалентным номером, но не позволит вам изменить формат в противном случае.

Смежные вопросы