Проблемы с изменением формата даты в виде строки

В настоящее время я пытаюсь преобразовать дату типа yyyymmdd в формат ddmmyyy.

  • Я пробовал использовать функцию DATE и что-то вроде этого:

    =DATE(LEFT(A3;4);MID(A3;5;3);RIGHT(A3;7))

    Исходная дата для этой функции - 20120401, но формула возвращает: 16.12.2104.

  • Я пробовал использовать функции ГОД, МЕСЯЦ и ДЕНЬ вместо LEFT, MID и RIGHT, но это неправильный путь.

  • Я также пробовал использовать DATEVALUE, но поскольку Excel, вероятно, не распознает yyyymmdd как дату, он дает мне #VALUE! ошибка.

  • Я нашел пару решений для SQL, но это еще не моя сильная сторона - и это должно быть легко достижимо в Excel.

Есть ли способ сделать это в Excel?


person user2887009    schedule 16.10.2013    source источник
comment
Эээ ... до сих пор этот небольшой комментарий даже не появился. Хорошо, это работает для меня, теперь я понимаю, где я сделал ошибку. Большое спасибо!   -  person user2887009    schedule 16.10.2013
comment
Если вы можете опубликовать это как обычный ответ, я могу дать вам реквизит ;-).   -  person user2887009    schedule 16.10.2013


Ответы (2)


Применение =DATE(LEFT(A3;4);MID(A3;5;3);RIGHT(A3;7)) к 20120401 в A3 эффективно для повторной сборки составляющих символов, как показано ниже слева:

введите описание изображения здесь

Они фактически превращаются, как показано справа.

Решение заключалось в том, чтобы просто исключить цифры, выделенные красным цветом:
=DATE(LEFT(A3;4);MID(A3;5;2);RIGHT(A3;2)), но локаль могла быть фактором, и при работе с серийными номерами даты и / или тем, что кажется датой, но является строкой, могли возникнуть другие проблемы. вовлеченный.

person pnuts    schedule 16.10.2013
comment
Еще раз спасибо, братан, очень полезно. Сейчас у меня 8 повторений. Как только мне исполнится 15, я дам вам голос здесь ;-). - person user2887009; 17.10.2013

Учитывать:

= ДАТА (LEFT (A1,4), MID (A1,5,2), RIGHT (A1,2))

person Gary's Student    schedule 16.10.2013
comment
Йе Я пробовал это, и в некоторых уроках предлагается эта формула. Я не знаю о старых версиях Excel, но в версии 2013 года функция показывает, что я должен использовать точки с запятой, например: ДАТА (год; месяц; день), т.е. ДАТА (слева; середина; справа), где ЛЕВО, СРЕДНЕЕ и СПРАВО - (текст; [ num_chars]). - person user2887009; 16.10.2013
comment
Да, я понимаю это, но, как я уже сказал, я тоже пробовал версию с запятыми, но поскольку Excel показывает, что я должен использовать точку с запятой, он не позволит мне использовать эту предложенную формулу, потому что если я не буду использовать точку с запятой после определения LEFT, Excel думает, что я все еще определяю LEFT, пока Я уже на MID / RIGHT. То же самое происходит, когда я использую точку с запятой после каждой функции (LEFT, MID, RIGHT), но не в скобках - с этой формулой есть проблема. Пока что лучшим результатом было использование правильной формы с точкой с запятой, как я написал в моем вопросе. вывод был неправильным. Любой другой тип без этих точек с запятой не работает. - person user2887009; 16.10.2013