• ベストアンサー

ピボットで、総計の値が求めている値を表示してくれない

ピボットを作成したときに、行や列の総計の値が本来の値と異なる場合があります。このような時どのように対処したら宜しいのでしょうか。 <例> 映画館 収容人数 観客数 占有率 A館   100人   10人  10.0% B館   150人   20人  13.3% C館   200人   30人  15.0% D館   250人   40人  16.0% 全館の占有率は、 (全観客数:100人)÷(全収容人数:700人)=14.3% しかしピボットでの表示は、14.3%とは異なる値になってしまいます。 【合計】で表示すると54.3%となり、 【平均】を使ったとしても、全占有率を足し上げて単純に4で割った値となります。 どうすれば、(全館客数)÷(全収容人数)での値が表示されるのでしょうか。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#204879
noname#204879
回答No.4

[No.3回答に対するお礼]に対するコメント、 「<例>のそのものが元データ」として、ピボテを組んでみます。占有率はピボテの方で作成するので「元データ」から削除しておきます。「元データ」の範囲を A1:C5 とします。簡単のために「100人」、「10人」等は、それぞれ 100、10 等の無名数値としておきます。 列フィールドに[映画館]を、データフィールドに[収容数]および[観客数]を配置して、次のピボテを得たところから始めます。       映画館 データ    合計       A館   合計/収容数  100           合計/観客数  10       B館   合計/収容数  150           合計/観客数  20       C館   合計/収容数  200           合計/観客数  30       D館   合計/収容数  250           合計/観客数  40       全体の合計/収容数   700       全体の合計/観客数   100 1.ピボテ内の任意のセル、あるいは、ピボテ全体を選択しておいて、[ピボットテーブル]ツー ルバーの[ピボットテーブル]→[数式]→[集計フィールド]を実行 →[集計フィールドの挿入]メニューが出現! 2.[フィールド名]ボックス内の“フィールド1”を“占有率”に上書き 3.[数式]ボックス内の“= 0”全体を選択した後、   3.1.= を入力   3.2.[フィールド]窓内の“観客数”を選択して[フィールドの挿入]をクリック       →[数式]ボックス内が“= 観客数”に変化   3.3./ を入力       →[数式]ボックス内が“= 観客数/”に変化   3.2.[フィールド]窓内の“収容数”を選択して[フィールドの挿入]をクリック       →[数式]ボックス内が“= 観客数/収容数”に変化 4.[追加]→[OK]を実行すると、ピボテが次のように変化       映画館 データ    合計       A館   合計/収容数  100           合計/観客数  10           合計/占有率  0.1       B館   合計/収容数  150           合計/観客数  20           合計/占有率 0.13       C館   合計/収容数  200           合計/観客数  30           合計/占有率 0.15       D館   合計/収容数  250           合計/観客数  40           合計/占有率 0.16       全体の 合計/収容数  700       全体の 合計/観客数  100       全体の 合計/占有率  0.14 5.ピボテ上の[データ]フィールドボタンをマウスでドラッグして、その右隣の[合   計]のセル上にドロップするとピボテが次のように変化           データ       映画館 合計/収容数 合計/観客数 合計/占有率       A館       100      10     0.1       B館       150      20 0.133333333       C館       200      30     0.15       D館       250      40     0.16       総計      700     100 0.142857143 6.ピボテの「合計/占有率」の列を選択して %書式に設定すれば次のピボテが完成           データ       映画館 合計/収容数 合計/観客数 合計/占有率       A館       100      10    10.0%       B館       150      20    13.3%       C館       200      30    15.0%       D館       250      40    16.0%       総計      700     100    14.3%

goony98
質問者

お礼

ご連絡が遅くなり申し訳ございませんでした。 回答を頂く上で、色々と試行錯誤して頂き大変ありがとうございました。非常に感謝しております。 改めまして、ありがとうございました!

その他の回答 (3)

noname#204879
noname#204879
回答No.3

妙手はないものかと試行錯誤しているのですが、その前に… 「例に関しては、他の項目・データを省略しかなり簡素化させて表示致しました」とのことですが、どういう元データから「例」のピボテ(特に「収容人数」のところ)が作成できるのか、どうしても思い浮かびません。そこのところを教えてくれませんか?

goony98
質問者

お礼

説明不足で、ご迷惑をお掛けしてすみません。 <例>のそのものが元データで、ここからピボットを組むことを想定しております。 しかもこの例自体、質問用として、私自身が作ったものです。 私が本来扱っているデータは、Web関連で使用するクリック率だとか、平均コストといった類です。 どうしても総計の部分で、私の思うような値にならなかったので、その方法を知りたく質問致しました。 皆さんに比較的馴染みのあるデータをと思い作成したことが、かえって混乱を招き申し訳ございませんでした。 上記の回答でご理解頂ければ幸いです。

  • cockerel
  • ベストアンサー率46% (253/548)
回答No.2

>行や列の総計の値が本来の値と異なる場合があります。 お気に障るかも知れませんが、ピボットは正しい計算をしています。 占有率として示された値の『合計』が、 (全観客数:100人)÷(全収容人数:700人)=14.3% となるべきと考えるのは、「占有率はこうあるべき」と考える人間だけであって、機械は正直に「占有率」という欄に示された値を合計してしまいます(ザインとゾルレンの境界に寛容なのは人間だけです)。「率」という漢字があるからといって機械がその値の合計の計算方法を変更することはありません。事実、「全体の占有率」ではなく「全体の合計:占有率」と表示されています。 機械が人間の希望までもくみ取って計算を行うことができる時代がくるまでは、希望する結果が得られるように相当の定義を行う必要があるようです。 ピボットでお望みの結果を得たいのであれば、たとえばピボットテーブルをコピー&ペーストした後、全体の合計:占有率の欄の該当セル内に式を書き込めば、見た目はご希望どおりになります。 ところで、例として示された表は、例示のみを目的としたものとは存じますが、ピボットを使用する意味がないように感じられます。 なお、表現等で不愉快な思いをさせた場合にはお許しください。

goony98
質問者

お礼

ご回答ありがとうございました。 ピボット上では、私が求めている計算を行なうのは難しいのですね。これが分かっただけでも、ここ2、3日の胸のつかえが取れた気がして良かったです(ただ、まだどこかにミラクルな答えが出てくることを祈ってはいますが・・・)。 回答欄にご記入頂きました様に、ピボットをコピー&ペーストしてセル内に式を書き込んでいくようにします。 例に関しては、他の項目・データを省略しかなり簡素化させて表示致しました。 ご回答ありがとうございました。

  • keirika
  • ベストアンサー率42% (279/658)
回答No.1

質問の14.3%を出すためには 全館 700人 100人 14.3% をデータに追加し、ピボット作成後にピボットテーブルオプションにて総計チェックボックスをはずし、総計を非表示にする以外ないと思うのですが。 質問の回答にはならないかもしれませんが、参考までに。  

goony98
質問者

お礼

ご回答ありがとうございました。 全館データを組入れるのも手ですかね。 ただ、他に多くの項目データを追加した時には、 それぞれに対しても項目ごとに合計を入れておく必要になりますね。 たとえば、地域という項目を入れて A館・B館は、新宿。C館・D館は、渋谷とした時、 A館・B館の合計データ、C館・D館の合計データも 入れなくてはいけないですね。 そうすると、どこかでデータの抜け落ちが出てきそうで少し恐いです。 しかし、参考になりました。 ありがとうございました。

関連するQ&A

  • EXCEL2007ピボットで総計を複数出せますか?

    EXCEL2007のピボットテーブルを使用して集計をしています。 表の行列に出る総計の個所を、値の合計1つじゃなく、 値の合計と平均を同時に並べて出したいです。 そういうことって可能でしょうか? ネットで調べてもうまく答えが出てきませんでした。 知っている方がいましたらご教授願います。

  • エクセル:ピボットテーブルの総計

    ピボットテーブルの総計は通常合計になります。これを差にすることは出来ますでしょうか。 列ラベルの差を総計に表示することは出来ますか。 イメージを添付します。

  • EXCEL2003のピボットテーブルで正しい平均値の出し方

    下記のようにABC各3店のデータがあった場合に 各店のDATAとエラー数はピボットテーブルにて3行で集計出来ますが 各店の合計に対するエラー比率が正しく表示されません。 やりたい事は各店の総データに対する総エラーの比率を出したいのですが。 ちなみにA店のエラー率は暗算すると単純に10%ですよね。 なのに12.8%という値が出てしまいます。 ピボットテーブル内での結果に対して正しい値を表示させる方法を教えて下さい。 EXCELでのデータ 店 DATA エラー エラー率 A店 <20> <3> <15.0%> B店 <30> <6> <20.0%> C店 <10> <1> <10.0%> A店 <10> <2> <20.0%> C店 <40> <2> <5.0%> B店 <20> <3> <15.0%> A店 <30> <1> <3.3%> C店 <30> <2> <6.7%> ピボットテーブルでの結果 店 合計/DATA  合計/エラー 平均/エラー率 A店   <60> <6>    <12.8%> B店   <50> <9>    <17.5%> C店   <80> <5>     <7.2%> 総計   <190> <20> <11.9%>

  • ピボットテーブルについて

    こんにちは、困っているので教えてください。 名前 データ           商品1   商品2    商品3   商品4    商品5    商品6    総計 合計 / 売上       100000  10000    10000   10000    10000   10000      150000 合計 / 使用量      800     100     100     100     100     100      1300 合計 / 原価       80000   8000    8000    8000    8000    8000      120000 平均 / 興研利益    25      20      20     20      20      20       20.83333333 上記のような表をピボットテーブルにて作成しております。最後の総計箇所ですが現在【20.83333333】になっております。これは【25+20+20+20+20+20/6=20.83333333】となっております。 ですがこちらが求めたい総計は、【(150000-120000)/1300=23.0769】のようにしたいのですが、ピボットテーブル内で関数組む事が出来ませんので困っています。 そもそもピボットテーブルは上記のような計算方法以外には存在しないのでしょうか? どなたか良い案をお持ちの方がいらっしゃいましたらご教授願います。 ※ピボットテーブルに拘らなくてもOKです。

  • ピボットテーブルのエリアセクショ【値】表示について

    ピボットテーブルを作成はできて、ある程度理解はできているのですが、何が影響しているのかわかりません… フィールドセクションからエリアセクションにフィールド(項目名)をドラッグしますよね。 エリアセクションの【値】に私が作っている表の項目の「進捗状況」をドラッグして作成するのですが、確かにちゃんとピボットは作成できます。 合計等も先輩が作ったのと合っているのですが、 先輩のはエリアの【値】の表示が「データの個数/進捗状況」で 私のは「個数/進捗状況」になります。 【列】に進捗状況、【行】に部門、【フィルタ】に学習科目を入れて作成は先輩と同じくできていますが、 【値】だけ表示が違います。 私のは部門が詳細部門まで表示されてしまいます。 元データの詳細部門を非表示にしても、 ピボットでは表示されてしまいます。 ピボットでは詳細部門までの個数は表示できなくて良いのですが、何を間違って作成しているのでしょうか? 元データの作り方が悪いのでしょうか…? わかりにくい文ですみません。 よろしくお願いします。

  • VBA 変動する総計を半期合計で計算したい。

    ピボットテーブルの総計行が元データが追加されるので変動してしまいます。 他のセルに(C37)式を入れていますが、ピボットの行が更新されるたびに 総計行の範囲を毎回張りなおさなければならない状態です。 変動しても他のセル(C37)に、合計が計算できるようにしたいです。 その総計行に対する合計の数式は以下です。(C37に入ってる式です。) =SUMIF(21:21,">=2007/10/1 ",29:29 )-SUMIF(21:21,">=2008/4/1 ",29:29 ) 29行目が総計で常に変動します。 そこで、A行に総計という文字がでたら、1つ右隣から始まる範囲での式がほしいです。 C37セルにその合計の値が表示されるようにしたいです。 21行目(固定)は日付で「2007/10/1」「2008/2/1」と2/1のように 月初の日付がB21セルから未来へ向かって表示。空白もあります。 (年度集計行を20行目に入れたため。) then以下どう書くか教えてください。 Sub 総計() Dim myRng As Range For Each myRng In Range("A:A") If myRng.Value = "総計" Then ※※※※※※※※※※ End If Next myRng End Sub

  • 合計金額に対する割合を出したい ピボットテーブル

    エクセル2007 ピボットテーブル 合計金額に対する割合を出したい A列 商品名 りんご りんご みかん バナナ B列 金額 100 120 150 300 このデータをソースにしてピボットテーブルを作成し、 「行ラベル」に商品名、 「値」に金額をドラッグしました。 その時、総計行に合計金額 670が表示されますが 合計金額に対する割合の列をピボットテーブルで作成することは可能ですか? 例えばF列に 合計の670を100%として F2セルに=E2/$E$5といれてF5までオートフィルをして、 F列の書式をパーセンテージに変えればできますが これと同じことをピボットテーブルで列を作り、行いたいです。

  • ピボットテーブルで種類の個数を求める方法は???

    ピボットテーブルで種類の個数を求める方法は??? 次のデータからピボットを使い集計したいのですが、データの個数ではなく種類(人数)を集計したい場合はどのようにすれば良いのでしょうか? 名前   年  種類  円 鈴木   20  雪  100 鈴木   20  華  100 鈴木   20  華  100 鈴木   21  雪  100 鈴木   21  雪  100 高橋   20  華  100 合計/円  列ラベル▽ 行ラベル   華    雪   総計 -20      3    1    4   ・・・華の人数が2となるよう    高橋  100       100    鈴木  200  100  300 -21           2    2   ・・・雪の人数が1となるよう    鈴木       200  200 総計     300  300  600 よろしくお願いいたします。

  • ピボットテーブルについて

    以前誰かが作ったピボットテーブルを見て、同じようなものを作りたいと思って挑戦しているのですが、どうしてもうまくいかないので、教えていただきたいのです。 ずらずらと項目と数字がならんでいる表があり、売上予定と粗利予定の合計、その二つの数字から粗利率を出して表示させるというものです。 表の中には「粗利率」という項目はありませんが、以前作られたピボットには、「粗利率」が表示されています。計算もあっています。 新規で作ろうとすると、「粗利率」の項目が無いため、表示されません。 項目が無いのに表示され、しかもきちんと計算されている。 できれば同じように作りたいのですが、どうすればいいでしょうか?

  • ピボットテーブルで値の集計方法の初期設定を変えたい

    中を見ていただき、ありがとうございます。 Excel2010で、ピボットテーブルを使って以下のようなデータを集計すると、値フィールドの集計方法は「合計」がデフォルトで採用されます。 科目 得点 数学 100 英語 20 数学 90 音楽 80 数学 30 英語 70 そのうえで、集計方法を「平均」にしたければ、値フィールドの設定を変更すればよいのですが、複数のピボットテーブルを使ったり、値フィールドを複数並べたい場合に、いちいち設定を変更するのは面倒ですし、設定し忘れるというミスも起こります。 そこで、以下のいずれかの方法をご存じの方がおられましたら、その方法をご教授ください。  ・最初から「合計」ではなく「平均」が集計方法として選択されるようにする  ・複数の値フィールドの集計方法を一括で変更する

専門家に質問してみよう