Непоследовательное преобразование дат в Excel

Непоследовательное преобразование дат в Excel

Я использую Excel 2007.

Я сделал дамп данных из базы данных MSSQL в CSV-файл, затем сохранил его как часть большой книги Excel. Одно из полей — это дата, которая загружается как: 39262.3631094907. Когда я использую формат даты Excel, он отображается правильно как 6/30/2011.

Если я сохраняю файл как CSV или иным образом копирую и вставляю это поле в новую электронную таблицу, дата меняется на 6/29/2007. Я могу скопировать его в тот же документ, и он останется правильным, но перемещение его в новый документ изменяет данные.

Это сводит меня с ума, так как я не могу найти способ сохранить правильную дату, не перепечатывая их все вручную, что совершенно непрактично, потому что там тысячи строк! Я понятия не имею, как он управляет преобразованием строки в число или почему это по-разному в разных таблицах. Кто-нибудь знает, почему это происходит или как этого не допустить?

решение1

Число, которое вы получили из MSSQL, будет рассматриваться Excel как количество дней с 1900 или 1904 года, в зависимости от настроек вашей рабочей книги Excel. Похоже, что ваши новые рабочие книги по умолчанию используют систему дат 1900, но вы хотите 1904.

Чтобы изменить в Excel 2007:

  1. Откройте рабочую книгу или переключитесь на нее.
  2. Нажмите кнопку Microsoft Office, а затем нажмите Параметры Excel.
  3. Нажмите «Дополнительно».
  4. Установите флажок Использовать систему данных 1904 в разделе При расчете этой книги, а затем нажмите кнопку ОК.

http://support.microsoft.com/kb/214330

Связанный контент