2014-11-11 6 views
-1

Я просто импортирую CSV в Excel, в котором у меня есть столбец даты. это похоже на это.Импорт CSV в Excel

10.22.2014 13:34:00

Когда я закончу Импорт Теперь я хочу convet весь столбец даты, чтобы посмотреть, как это в разделе Формат ячейки, но она не работает для меня , Можете ли вы предложить другой путь. Какова может быть основная причина, по которой SUppose я помещаю формулу в столбец, тогда пользователь Everytime импортирует нужные ему данные, что может быть не очень хорошая идея. Есть ли что-то, что я могу сделать, когда импортирую или просто задаюсь вопросом, что можно сделать?

10/22/2014 1:34:00 AM или PM

+0

Возможный дубликат: http://stackoverflow.com/questions/21297207/how-to-convert -text-to-date-format-in-excel – ako

+0

@ Ako Nope это не то же самое Я уже пробовал это решение, но это не работало для меня, я пытался изменить формулу, но не помогал, я устал добавлять комментарий и что нужна репутация 50. Поэтому я задаю этот вопрос. Если у вас есть решение, отправьте его. –

+0

Говорить, что идет не так, дает больше информации, чем просто «не работает для меня», но я поставил один подход ниже. – ako

ответ

1

Вот один подход:

  1. Замена точки с косой чертой
  2. Используйте DATEVALUE, TIMEVALUE функций на соответствующих подразделах этой замещенной строки. Подразделы выводятся с использованием LEFT и RIGHT строковых функций.
    1. Они возвращают серийный номер для дат (дней с 1900 года) и времени (с плавающей точкой от 0 до 1). Когда суммируют значение может быть представлено в виде как дата и время, в формате, по вашему выбору, как показано ниже:

enter image description here

Или, показывая формулы:

enter image description here

EDIT: добавление формулы «все-в-одном». Обратите внимание, что это даст вам серийное значение (41934.5652777778), которое затем может быть сформировано с использованием встроенных форматов для дат/времени - просто выберите тот, который вы хотите. Это на самом деле не делает строку:

=DATEVALUE(LEFT(SUBSTITUTE(A1,".","/"),10))+TIMEVALUE(RIGHT(SUBSTITUTE(A1,".","/"),8))

enter image description here

Если, однако, вы хотите возвращаемую строку, вы можете использовать функцию TEXT.

=TEXT(DATEVALUE(LEFT(SUBSTITUTE(A1,".","/"),10))+TIMEVALUE(RIGHT(SUBSTITUTE(A1,".","/"),8)),"m/d/yyyy h:mm AM/PM")

(Это делается в LibreOffice, но существуют одни и те же формулы и аргументы в MS Excel)

+0

вы предоставили хорошее решение, но можете ли вы сделать это одним выстрелом, а не сначала раскалывать, а затем суммировать? потому что, как я вижу, 4 столбец будет использоваться для получения окончательного значения, поэтому вместо этого мы можем суммировать только один раз столбец? Еще раз спасибо, что я это ценю. –

+0

Я пришел с этим решением, добавив ваш подзадачный, а также '= SUBSTITUTE (LEFT (A3,11) & IF (MOD (VALUE (MID (A3,12,16)), 12) = 0,12, MOD (VALUE (MID) (A3,12,1)), 12) & IF (VALUE (MID (A3,12,1)) <12, "AM", "PM")), ".", "/") 'В результате I получите это ** 10/22/2014 1 AM ** Теперь мне нужно получить минута, а также ** 10/22/2014 1:00 AM ** –

+0

не уверен, зачем вам нужны условные обозначения. Я обновил ответ выше. – ako

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