1

Исходная дата имеет следующий формат:

14/Nov/201110:53:44

Мне нужно это в этой форме:

14.11.2011 10:53:44

Когда я выбираю Number -> Custom -> d.m.yyyy h:mm -> OK , ничего не меняется.

Как я могу изменить это? Количество дат превышает 100000.

3 ответа3

4

Если вы ввели любое из указанных вами значений, ячейка не содержит дату, она содержит строку. Вы не можете изменить как строку, просто изменив формат!

Excel пытается угадать ваш тип данных, и это может сбить с толку. Если вы введете какие-то данные с очевидным типом (дата, время, дата / время, число), это можно выяснить. Если тип не очевиден, предполагается, что вы вводите строку.

Если вы введете очевидное значение даты / времени, например, 14/Nov/2011 10:53:44 (обратите внимание на пробел между датой и временем), он поймет, что вы вводите дату. Но 14/Nov/201110:53:44 (без пробела, разделяющего дату и время) запутывает его, заставляет записывать строку.

Введите правильное значение даты и времени, и вы получите значение даты и времени. (На самом деле, у вас будет число, отформатированное как дата-время, но давайте не будем придираться.) Затем вы можете контролировать способ отображения.

1

Если вам нужно сделать это только один раз с вашими 100k записями: создайте вспомогательный столбец с этой формулой (при условии, что ваша строка находится в столбце A):

=LEFT(A1,11) & " " & RIGHT(A1,8)

Это предполагает, что у вас всегда есть DD/MMM/YYYY , в случае, если вы этого не сделаете, это будет немного сложнее. Скопируйте формулу вниз (очевидно), а затем скопируйте и вставьте специальный (значения) результат. Затем перейдите на вкладку "Данные" и нажмите "Текст в столбцах", выберите "с разделителями" и нажмите "Готово". Теперь у вас должна быть фактическая дата, которую вы можете отформатировать там.

Это работало для меня в Excel2007, возможно, вам придется немного поработать с функцией Text to Columns, чтобы получить именно то, что вы хотите.

Если вам придется делать это более одного раза, я бы попытался создать макрос, используя что-то вроде CDate(left(...)+" "+right(...)) в цикле for . Слишком устал, чтобы предоставить точный синтаксис сейчас, хотя.

0

Это очень просто:

  1. Выберите все даты, которые вы хотите изменить.
  2. Найти / заменить (Ctrl+F)
  3. . и заменить на / (если это то, что вы хотите или наоборот)
  4. После этого выберите все, перейдите в «Формат» и выберите нужный вам формат даты.

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