Excel の日付変換が一致しない

Excel の日付変換が一致しない

Excel 2007 を実行しています。

MSSQL データベースから CSV ファイルにデータをダンプし、それをより大きな Excel ブックの一部として保存しました。フィールドの 1 つは日付で、次のようにダウンロードされます。Excel39262.3631094907の日付形式を使用すると、正しく 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 データ システムを使用する] チェック ボックスをオンにして、[OK] をクリックします。

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

関連情報