次の方法で共有

ピボットテーブルの集計アイテムの不都合について

Anonymous
2011-06-07T01:38:51+00:00

ピボットテーブルについて質問させていただきます。

Excel は 2003 を使用しています。

「集計アイテム」を利用したピボットを作成したのですが、期待通りに作成できず、2点の問題がありました。

★データ

![](http://oconkw.bay.livefilestore.com/y1pwz1elR36JqAcHTmxF0_3fC1BDzLe3Mo4QvP-dfw0L02Jv6BvmZJC-KmJ33djRxVRK5FyBqLtUeM5lZo_661RPDmldkYBJ-YC/%E3%83%94%E3%83%9C%E3%83%83%E3%83%88%E4%B8%8D%E9%83%BD%E5%90%881.jpg?psid=1)

★ピボットの設定

行エリア:項目

集計アイテムの追加:単価=IF(数量=0,0,金額/数量)

列エリア:分類1、分類2、(データ)

データエリア:予測、実績

表示名称の変更:「合計 / 実績」を「_実績」になど。

★ピボットの結果

(見る人の要望から、ピボットのレイアウトは変更できません。)

![](http://oconkw.bay.livefilestore.com/y1pZJVEM_7DTpZJcknLr9jEweco42oXZxz2R6HZO4CyTybjE5t2mFsmQY-OPF1qIzQJMriCGmdfHbz-sQ-UWDu27HrOUZIP8ztm/%E3%83%94%E3%83%9C%E3%83%83%E3%83%88%E4%B8%8D%E9%83%BD%E5%90%882.jpg?psid=1)

★問題点

  1. 単価(集計アイテム)の合計欄が、各計算結果が足し算された値になる(赤で囲ったところ)。
  2. 存在しない組み合わせが表示される(黄色で囲ったところ)。

1についてですが、もしある分類に複数の子分類があると、折りたたんだ際の単価の表示も正しくありません。

このレイアウトにするためには、予算と実績を「データ」にする必要があったので、単価は「集計アイテム」を利用しています。

たぶんエクセルの仕様としては正しい結果だとは思うのですが、今回の作表結果としては大問題です。

これまで単価のような項目には「集計フィールド」を使用していましたが、その場合、合計欄の各値を使って計算が行われましたので、期待する値にできていました(文末の)。

2についても、集計アイテムを使用するとこうなってしまうようです。

今回作成している実際のピボットでは列エリアの項目(集計キー)がもっと多いので、余分な列がとっても多くなってしまいます。

対策として DataRange のすべての値がゼロか空白の場合、ピボットアイテムの Visible を False にする、という VBA コードで対応してみたのですが、列数がエクセルの制限を超える数になった場合は非表示にするまでにエラーになってしまいそうです。

(Excel のバージョンは 2003 に限定された環境です・・)

集計アイテムに設定する式を変更するだけで済むような対処があればうれしいのですが、解決策はないでしょうか?

ピボットでは無理かなとあきらめかけています・・・

ちなみに、もともとは次のようなデータのレイアウトでピボットを作成していて問題がなかったのですが、ここに今回予算を追加することになったというのがイキサツです。

(こちらの単価は「集計フィールド」で作っています。)

![](http://oconkw.bay.livefilestore.com/y1pYdz6Nc6PmU198Jp358Fw2BuFjKsYsAZ-4ZW1Tt9VVC4SZrra967hLRBbLRyMl2sViD9LNI5cO7aK0Q4zy6RKw7P1R7xiCZzh/%E3%83%94%E3%83%9C%E3%83%83%E3%83%88%E4%B8%8D%E9%83%BD%E5%90%88_%E5%8F%82%E8%80%83.jpg?psid=1)

Microsoft 365 と Office | Excel | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2011-06-08T14:10:33+00:00

集計アイテムを使うのではなく、単純に以下のような式をB9セル(単価の右のセル)に入力して右方向にオートフィルすればすべて解決するのではないでしょうか?

=IF(B8="","",B7/B8)

この回答は役に立ちましたか?

0 件のコメント コメントはありません

7 件の追加の回答

並べ替え方法: 最も役に立つ
  1. 削除済み

    この回答は当社の行動規範に違反したため削除されました。 アクションを実行する前にこの回答を手動で報告したか、自動検出機能により特定しました。 詳細については、当社の行動規範を参照してください。


    コメントはオフになっています。 詳細情報

  2. Anonymous
    2011-06-10T04:54:23+00:00

    TanTonさん こんにちは

    問題点2だけの回答ですが、データが無いのに表示されるのは、表示するように設定しているからだと思います。

    ピボットテーブル上で、右ボタンでメニュー表示し、「フィールドの設定」を選択するとダイアログが開きますので、[データのないアイテムを表示する]のチェックを外せば表示されなくなると思います。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2011-06-08T02:36:56+00:00

    石田さんありがとうございます、そのイメージです。

    エクセルのままで、詳細の展開・折りたたみ機能も利用したいです。

    それなりに調べた結果、無理そうかもと思っているのですが、ダメもとで質問させていただきました。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  4. Anonymous
    2011-06-08T01:18:04+00:00

    TanTon さん、こんにちは。

    こちらですが、最終的な出力イメージとしては以下でよろしいでしょうか。(もし違っていたら、その旨、ご返信ください)

    こちら、どなたかよい方法を知っているという方がいましたら、ぜひご投稿よろしくお願いします。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません