Excel 2007 で、特定範囲の時間 または 日付データを含む外部データ ソースを使用してピボットテーブルを作成すると、データの値が 24 時間分 または 1 日分増えて表示される

Microsoft Office Excel 2003 については、次の資料を参照してください。 967585

現象

Microsoft Office Excel 2007 で、次のいずれかの条件に該当するデータを含む外部データ ソースを使用してピボットテーブルを作成すると、データの値が 24 時間分 または 1 日分増えて表示されます。
データの種類データの範囲
時間24:00:00 ~ 1439:59:59
日付1900/1/1 ~ 1900/2/28

原因

Excel では、日付/時刻を内部でシリアル値として処理しています。Excel は他の表計算ソフトで使用される日付システムとの互換性を保つため、1900 年を閏年と解釈し、1900/2/29 が存在するように設計されています。Excel が外部データの取り込みを行う際には、1900/2/29 までのシリアル値が Excel の内部処理により自動的に修正されます。



しかし、Excel でピボットテーブルを作成するために上記のいずれかの条件に該当するデータを含む "外部データ ソース" を使用して分析データを取り込んだ場合は、シリアル値に対する自動修正が適用されないため、本現象が発生します。

回避策

Excel 2007 で Microsoft Query を使用し、ピボットテーブルを作成します。
  1. Excel 2007 を起動し、新規ブックを作成します。
  2. ワークシートのセル A1 からセル B4 に以下のデータを入力します。
    a1a2
    125:00:00
    234:00:00
    312:00:00
  3. Microsoft Office ボタン (Microsoft Office) ボタンから [名前を付けて保存] をクリック、[Excel ブック] をクリックし、任意の名前で保存後、保存したファイルを閉じます。
  4. 再度、Excel 2007 で新規ブックを作成します。
  5. [データ] タブの [外部データの取り込み] より、[その他のデータ ソース] をクリックし、[Microsoft Query] をクリックします。
  6. [データ ソースの選択] ダイアログ ボックスにある [データベース] タブから [Excel Files*] をクリックし、[OK] をクリックします。
  7. [ブックの選択] ダイアログ ボックスで、手順の 3 で保存したファイルを選択し、[OK] をクリックします。
    • 手順の 7 で [OK] をクリックした後、エラー メッセージが表示されない場合は、手順の 8 に進んでください。
    • 手順の 7 で [OK] をクリックした後、次のエラー メッセージが表示される場合は、追加設定が必要です。
      このデータ ソースには、表示できるテーブルはありません。
      上記のエラー メッセージに対し [OK] をクリックし、[クエリ ウィザード - 列の選択] ダイアログ ボックスの [オプション] をクリック後、[テーブル オプション] ダイアログ ボックスで [システム テーブル] チェックボックスをオンにし、[OK] をクリックします。その後、手順の 8 に進んでください。
  8. [クエリ ウィザード - 列の選択] ダイアログ ボックスで、[使用可能なテーブルと列] から "Sheet1$" を選択し、[>] をクリックします。[クエリの列] に a1 および a2 が追加されたら、[次へ] をクリックします。
  9. [クエリ ウィザード - 完了] ダイアログ ボックスが表示されるまで、[次へ] をクリックします。
  10. [クエリ ウィザード - 完了] ダイアログ ボックスで、[Microsoft Office Excel にデータを返す] をクリックし、[完了] をクリックします。
  11. Excel 2007 上に [データのインポート] ダイアログ ボックスが表示されます。[ピボットテーブル レポート] をクリックし、[データを返す先] から [既存のワークシート] を選択し、任意のセルを指定して、[OK] をクリックします。
  12. 以下の設定で、ピボットテーブルを作成します。
    • 行ラベル : a1
    • ∑ 値 : 合計 / a2
  13. a2 のデータをすべて選択し、選択セル上で右クリックし [表示形式] をクリックします。表示形式の分類より [ユーザー定義] をクリックします。種類で [[h]:mm:ss] をクリックし、[OK] をクリックします。

状況

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

詳細

問題の再現手順

ここでは、24 時以降の時間表記を含む外部データ ソースを使用してピボットテーブルを作成する場合を例に挙げて説明しています。
  1. Excel 2007 を起動し、新規ブックを作成します。
  2. ワークシートのセル A1 からセル B4 に以下のデータを入力します。
    a1a2
    1  25:00:00
    234:00:00
    312:00:00
  3. Microsoft Office ボタン (Microsoft Office) ボタンから [名前を付けて保存] をクリック、[Excel ブック] をクリックし、任意の名前で保存後、保存したファイルを閉じます。
  4. 再度、Excel 2007 で新規ブックを作成します。
  5. [挿入] タブにある [ピボットテーブル] をクリックし、[ピボットテーブル] をクリックします。
  6. [ピボットテーブルの作成] ダイアログ ボックスで、分析するデータとして [外部データ ソースを使用] をクリックします。
  7. [接続の選択] ボタンをクリックします。[既存の接続] ダイアログ ボックスで、[参照] ボタンをクリックし、手順 の 3 で保存したファイルを選択します。
  8. [テーブルの選択] ダイアログ ボックスで、"Sheet1$" をクリックし、[OK] をクリックします。
  9. [ピボットテーブルの作成] ダイアログ ボックスで、ピボットテーブル レポートを配置する場所として [既存のワークシート] を選択し、任意のセルを指定して、[OK] をクリックします。
  10. 以下の設定で、ピボットテーブルを作成します。
    • 行ラベル : a1
    • ∑ 値 : 合計 / a2
  11. a2 のデータをすべて選択し、選択セル上で右クリックし [表示形式] をクリックします。表示形式の分類より [ユーザー定義] をクリックします。種類で [[h]:mm:ss] をクリックし、[OK] をクリックします。

結果

Excel 2007 で外部データ ソースを使用してピボットテーブルを作成すると、次のように、時間が 24 時間分増えて表示されます。
行ラベル合計 / a2
1  49:00:00
258:00:00
3  12:00:00
プロパティ

文書番号:967188 - 最終更新日: 2009/07/08 - リビジョン: 1

フィードバック