解決済みの質問

質問No.6423550
暇なときにでも
暇なときにでも
お気に入り投稿に追加する (0人が追加しました)
回答数2
閲覧数1999
エクセルで量・割合が分かるグラフをつくりたい
こんばんは。エクセルは高校・大学の授業で習いましたが、不慣れな点がある者です。
基本的なことだと思うのですが、このたび、量と割合が分かるグラフ(なるべく円グラフ)をつくりたいと思い、エクセルでの作り方を尋ねに参りました。

たとえば(x,y)として、(5,19),(2,5),(7,10),(0,3)があり、
xのyに対する割合を円グラフで示すことは出来ますが、
私がしたいことは、それに加えて、yの大きさによって円グラフの円自体の大きさが変わり、円の大きさを見ることでyの大きさが分かるようなグラフです。

いろいろな資料でよく見かけますが、実際私もつくってみたいと思いました。しかし、エクセルをいじってみても適切にできず、さまざまなキーワードを入れて検索しましたが、うまく引っかからなかったので、こちらでお世話になります。どうぞよろしくお願い申し上げます。
投稿日時 - 2011-01-03 23:00:38

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

回答No.2
エクセルはグラフ専用ソフトではない。それも文系のニーズに応えるが主のようだ。色々質問者が要求を出しても、エクセルのグラフでは種類の数や仕様が決っていて、それ以外では描けない。
エクセルグラフの種類をすべて当っていて質問してますか。判らないからすぐ聞くのでなく、まずやってみることを質問する前にやるべきです。
ーーー
その中にバブルチャートというのがあるが、其れでどうですか。
解説は、グラフの種類の名前がわかれば、こんなところへ質問しなくても、Googleなどで照会すれば、実例付きの説明がある。
例えば
http://ohpa.net/modules/xlnote/content0202.html
のように。
ただ質問の内容とバブルチャートは違う点が多いが一応指摘してみる。
ーーー
普通の操作ではできないと思うので、VBAで考えた。
VBAに熟練しておれば
例データ A1:D5
XY相対倍率
a5190.76
b250.2
c7100.4
d9251
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などを勉強すればできると思うが、膨大な勉強が必要で、そんなに簡単にできないだろう。
ーー
他のグラフソフトでできないか検討したら。
投稿日時 - 2011-01-04 18:39:55
この回答を支持する
(現在0人が支持しています)
お礼
非常に詳しいご回答、ありがとうございます!
エクセルならばどのようなグラフも作れると思っていましたが、そうではないのですね。私が行おうとしたのは、授業ではなく、私の趣味の活動でグラフを作ってみようと思ったことです。エクセルのグラフを全て試してみましたが、道理でうまくいかなかったわけです。納得いたしました。

VBAについては大学の授業である程度習いましたが、その授業が教養科目ですので、回答者様にとれば習っていないに等しい範疇だと思われます。おまけに私は文学部生ですので、継続してVBAを高度に学ぶことは難しいのが現状です。

ご回答誠にありがとうございました。私の力では十分に理解することができなかったところが一部ございますことをお詫び申し上げます。
投稿日時 - 2011-01-05 23:43:49

ベストアンサー以外の回答 (1)

回答No.1
一般にご相談のデータを定量的に表現できるExcelのグラフは,単純な積み上げ棒グラフ(添付図上)です。

ご希望の円グラフでサイズを定量化しようとしたら,添付図右下のようにバルーンを使って相対的な円サイズを表示させた上で,手作業で円グラフを重ねて配置するような手数を費やす事になります。

もうひとつ別の表現方法として,一般に「量率グラフ」という名で知られる添付図左下のようなグラフもあります。添付図はなんとかしてエクセルで作成していますが,ネットで「量率グラフ」を検索してみると幾つかツールがヒットしますので,ご利用になってみると良いと思います。
投稿日時 - 2011-01-04 01:23:38
この回答を支持する
(現在0人が支持しています)
お礼
ご回答どうもありがとうございます!
時間はたくさんあったので、バルーンを使って手作業で円グラフを重ねました。手間はかかりましたが、おかげさまで希望通りのグラフが作成できました。
どうもありがとうございました!
投稿日時 - 2011-01-05 23:31:36
この質問は役に立ちましたか?
2人が「このQ&Aが役に立った」と投票しています
もっと聞いてみる

関連するQ&A

  • question

    円グラフPHPで円グラフを作成しています。 以下のサンプルをサイトで入手し動作を確認しました。このまま...

  • question

    円グラフについて質問です。円グラフについて質問です。 円グラフを数値を入れ替えて作成しています。 値とパーセンテージを表...

  • question

    さまざまなorさまざまのこんばんは。 さまざま(様々)という言葉よく使いますが、あとには「な」と「の」どちらを付ける...

  • question

    補助円グラフつき円グラフ補助円グラフつき円グラフをExcelで作りたいんです。が、たとえば4つ凡例があってそれぞれに2...

  • question

    円グラフを複数描くSQLSerVer2005のテーブルを参照しReportViewerで円グラフを描いています。...

  • question

    こんばんは。こんばんは。 非常に困ってます~ 原付を廃車にしたいのですが、 書類?がないのですが 廃車でき...

この他の関連するQ&Aをキーワードで探す

関連するガイド記事

    回答募集中

    同じカテゴリの人気Q&Aランキング

    -PR-

    OKWaveのおすすめ情報

    特集

    このQ&Aの関連キーワード

    同じカテゴリの人気Q&Aランキング

    -PR-

    ピックアップ

    -PR-
    -PR-