3

У меня есть большая база данных, которую я копирую и вставляю с веб-сайта в документ Excel 2007. Одна конкретная колонка всегда доставляет мне неприятности. Столбец форматируется как дд ммм ччмм для дня, месяца и времени 24 часа:

18 NOV 2300

Проблема состоит в том, что Excel интерпретирует это как дд ммм гггг, если четырехзначное число 1900 или больше, поэтому вышеупомянутое принимается за 18 ноября в 2300 году, а не до 11:00 вечера 11 ноября текущего год. Затем он форматирует это значение как дд-ммм-гг (день, месяц и год из двух цифр) для отображения. Я могу войти и изменить их, но он всегда читает время как год, когда оно составляет 1900 или больше, и автоматически форматирует. Вы можете изменить формат блока на текстовый и попытаться скопировать и вставить, но Excel все равно будет автоматически форматировать дату и время, когда вы копируете и вставляете базу данных в Excel. Вы можете проверить это, просто скопировав и вставив что-либо в этом формате со временем, превышающим 1900. 10 февраля 2030, например. Мне нужно Excel, чтобы остановить автоматическое форматирование таким способом.

На самом деле мне не нужно переводить 18 NOV 2300 как 11:00 вечера 11 ноября текущего года; Мне просто нужно, чтобы он отображался как 18 NOV 2300 .

3 ответа3

2

Готовы ли вы использовать «вспомогательную колонку»?  Если вы вставляете данные «dd mmm hhmm» в столбец P (давайте предположим, что начинаем с P2 и спускаемся вниз), поместите

=TEXT(P2,"dd mmm yyyy")

в ячейку Q2 и перетащите / заполните.  Это в основном полностью изменяет интерпретацию, которую Excel сделал для входной строки, восстанавливая то, что было проанализировано как день, месяц и год.  Строки, которые не интерпретируются как даты (потому что четырехзначное число меньше 1900) просто пропускаются без изменений.

Это приведет к тому, что пустые ячейки в столбце P будут переведены в 00 Jan 1900 .  Если вам это не нравится, используйте

=IF(P2<>"", TEXT(P2,"dd mmm yyyy"), "")

вместо.

Это будет представлять месяцы с типичным начальным капиталом (мм, например, «ноябрь»).  Если вы хотите все заглавные буквы, используйте

=IF(P2<>"", UPPER(TEXT(P2,"dd mmm yyyy")), "")
0

Вы не можете Копировать / Вставить непосредственно в Excel. Это позволяет Excel форматировать результат по своему усмотрению. Вместо этого вставьте его в блокнот и сохраните результат в виде текстового файла. Вы можете использовать мастер импорта Excel для чтения текстового файла. Вы можете точно сказать мастеру, как следует интерпретировать поле.

0

Вы должны иметь возможность переопределить Excel, пытаясь быть "умным" с датами, вставляя только значения, а не форматируя информацию. Или, если это не сработает, вставьте с использованием исходного форматирования.

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