• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで量・割合が分かるグラフをつくりたい)

エクセルで量・割合が分かるグラフをつくりたい

このQ&Aのポイント
  • エクセルで量と割合が分かるグラフを作成する方法について教えてください。
  • 具体的なデータとして、(5,19),(2,5),(7,10),(0,3)の組み合わせがあります。
  • 円グラフの大きさがyの大きさによって変わるようなグラフを作成したいです。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

エクセルはグラフ専用ソフトではない。それも文系のニーズに応えるが主のようだ。色々質問者が要求を出しても、エクセルのグラフでは種類の数や仕様が決っていて、それ以外では描けない。 エクセルグラフの種類をすべて当っていて質問してますか。判らないからすぐ聞くのでなく、まずやってみることを質問する前にやるべきです。 ーーー その中にバブルチャートというのがあるが、其れでどうですか。 解説は、グラフの種類の名前がわかれば、こんなところへ質問しなくても、Googleなどで照会すれば、実例付きの説明がある。 例えば http://ohpa.net/modules/xlnote/content0202.html のように。 ただ質問の内容とバブルチャートは違う点が多いが一応指摘してみる。 ーーー 普通の操作ではできないと思うので、VBAで考えた。 VBAに熟練しておれば 例データ A1:D5 X Y 相対倍率 a 5 19 0.76 b 2 5 0.2 c 7 10 0.4 d 9 25 1 D2は=C2/MAX($C$2:$C$20)を入れて下方向に式を複写している。C$20はデータが19行以内ということ。 ーーーーー コード 標準モジュールに Sub Macro3() Dim l Dim h, w j = 1 d = Range("A65536").End(xlUp).Row Sheets("Sheet1").DrawingObjects.Delete For i = 2 To d Range("A2:C2").Select Charts.Add ActiveChart.ChartType = xlPie ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A" & i & ":C" & i) ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1" With Selection.Border .Weight = 2 .LineStyle = 0 End With ActiveChart.Legend.Delete n = ActiveChart.Name MsgBox n MsgBox i ActiveSheet.Shapes(j).ScaleHeight Worksheets("Sheet1").Range("D" & i), msoFalse ActiveSheet.Shapes(j).ScaleWidth Worksheets("Sheet1").Range("D" & i), msoFalse ActiveSheet.Shapes(j).Left = l l = l + ActiveSheet.Shapes(j).Width j = j + 1 Next i End Sub を入れて実行する。 ーーーーー これはD列の値に応じて、大小の円グラフが左から右へ4つ並ぶ。 これの位置関係や様子に不満があるかもしれないが、VBAを勉強して改良してみたら。 上辺でそろえているが、各グラフのTopを、最大のグラフのTopー(最大グラフのHeight-そのグラフのHeight)にプログラムを修正すれば、下辺でそろえるのはすぐできる。 興味が出て試行錯誤したが、上記でも、簡単なように見えて、結構時間がかかった。もうこれ以上はやる気が出ない。 質問者はVBAの経験は不明だが、少しぐらいやったことがあっても難しいだろう。 エクセルの円グラフは、複数の円グラフだけ、「1つのグラフエリアに」並べることはできないように思う。 円グラフは1つのグラフエリア+1つの円グラフとしてできてしまうと思う。 VB.NETなどを勉強すればできると思うが、膨大な勉強が必要で、そんなに簡単にできないだろう。 ーー 他のグラフソフトでできないか検討したら。

nobitaman
質問者

お礼

非常に詳しいご回答、ありがとうございます! エクセルならばどのようなグラフも作れると思っていましたが、そうではないのですね。私が行おうとしたのは、授業ではなく、私の趣味の活動でグラフを作ってみようと思ったことです。エクセルのグラフを全て試してみましたが、道理でうまくいかなかったわけです。納得いたしました。 VBAについては大学の授業である程度習いましたが、その授業が教養科目ですので、回答者様にとれば習っていないに等しい範疇だと思われます。おまけに私は文学部生ですので、継続してVBAを高度に学ぶことは難しいのが現状です。 ご回答誠にありがとうございました。私の力では十分に理解することができなかったところが一部ございますことをお詫び申し上げます。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

一般にご相談のデータを定量的に表現できるExcelのグラフは,単純な積み上げ棒グラフ(添付図上)です。 ご希望の円グラフでサイズを定量化しようとしたら,添付図右下のようにバルーンを使って相対的な円サイズを表示させた上で,手作業で円グラフを重ねて配置するような手数を費やす事になります。 もうひとつ別の表現方法として,一般に「量率グラフ」という名で知られる添付図左下のようなグラフもあります。添付図はなんとかしてエクセルで作成していますが,ネットで「量率グラフ」を検索してみると幾つかツールがヒットしますので,ご利用になってみると良いと思います。

nobitaman
質問者

お礼

ご回答どうもありがとうございます! 時間はたくさんあったので、バルーンを使って手作業で円グラフを重ねました。手間はかかりましたが、おかげさまで希望通りのグラフが作成できました。 どうもありがとうございました!

関連するQ&A