Excelのグラフを動的に作成する方法とは?

このQ&Aのポイント
  • Excelのバージョン2002を利用して、動的なグラフを作成する方法をご紹介します。
  • 具体的な手順として、項目軸と値のデータを定義し、ドロップダウンリストを作成してグラフを変化させる方法を解説します。
  • ただし、シートを複製するとグラフの値もコピーされてしまうため、別の方法を検討する必要があります。
回答を見る
  • ベストアンサー

Excelのグラフを動的に作成したい。

Excelのバージョン:2002 Excelのグラフ機能を使ってグラフを作成しており、「名前の定義」を利用して ドロップダウンリストの中身でグラフが変化するところまでは出来たのですが 本来の目的が上手く行きません。 以下に、自身で作成した変化するグラフの手法を書きます。 0:項目軸と値にそれぞれA~Eまでの5種類のパターンがあるデータを用意。 1:項目軸A~Eまでのデータ範囲にそれぞれ「項目軸A」、「項目軸B」…… と名前の定義をする。 2:値A~Eまでのデータ範囲にそれぞれ「値A」、「値B」…… と名前の定義をする。 3:A1セルにA~Eまでのドロップダウンリストを作成する。 4:「名前の定義」から「sheet1!項目軸(シート固有)」という名前で参照範囲に「=INDIRECT("項目軸"&sheet1!$A$1)」と入力する。 5:「名前の定義」から「sheet1!値(シート固有)」という名前で参照範囲に「=INDIRECT("値"&sheet1!$A$1)」と入力する。 6:グラフツールを使って棒グラフを作成。 グラフの「元のデータ」にて、「系列」タブを開いて系列を追加。  値に「sheet1!値」、項目軸ラベルに「sheet1!項目軸」を入力してグラフを作成。 7:ドロップダウンを変化させると、ドロップダウンの表示に対応したグラフが表示される。 本来の目的は、 3のA1セルに自身のシート名を取得する式を記入して、このシートを複数作成し、 シート名をA、B、……と変更する事によって、自動的にグラフが変化していく物を作りたいのですが シートを複製した途端、グラフの「項目軸」と「値」に{100,200,……}と言った形で実際の値がコピーされてしまいます。 なんとか上手く作成する方法はありますでしょうか? ご教授の程、よろしくお願い致します。

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

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.2

[excel2007]可変範囲のグラフを含むシートのコピーについて http://okwave.jp/qa/q5891588.html?order=asc こちらでマクロ対応案を書いた事があります。 2002でも対応可能かと思うので試せる場合は試してみてください。 別案で、手動での対応方法ですが ・元々のBook名が「base.xls」だと仮定します。 1)base.xlsを別名保存する。---「copy.xls」だと仮定します。 2)copy.xlsのSheet1以外のシートを削除、Sheet1だけにする。 3)copy.xlsを上書き保存する。 4)base.xlsを開く。 5)copy.xlsのSheet1をbase.xlsに【移動】する。(copy.xlsは自動で閉じられる) 6)copy.xlsを開く。 7)copy.xlsのSheet1をbase.xlsに【移動】する。 以降、(6)と(7)を繰り返す。 ..な感じでどうでしょう。 (3)の後にcopy.xlsのファイル自体を複数コピー、または複数別名保存して、 まとめて開いて次々にSheet1をbase.xlsに移動させていく、 終わったらcopy.xlsの複製をまとめて削除、..というのでも良いですけど。

wtm909
質問者

お礼

お返事遅くなりまして、すみません。 回答、ありがとうございます。 諸般の事情でマクロが使えないのでコピーで対応し上手くいきました。 ありがとうございます。

その他の回答 (1)

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

シートを複製した後にやってみて下さい。

wtm909
質問者

お礼

回答ありがとうございます。 ただ、元となるシートを作って流用する事が目的ですので なんとか複製前にグラフを作っておきたいのです。 よろしくお願いいたします。

関連するQ&A

  • excelのグラフ作成をマクロで

    excelのデータが多くてマクロで手っ取り早く処理したいのですが、どうすればよいのでしょうか? 初心者なもので。。。 A列をx軸にしてB列~P列をy軸にします。 1枚目がAとBでグラフを作成し、続いて2枚目としてAとCでグラフ作成し、同様にD・E・F・・・って作成したいです。 グラフは新しいシートを作成していきたいです。(計15枚だと思います。) で、そのシートの名前もつけたいです。 で、書式設定もマクロ上できたらうれしいです。 できないでしょうか? よろしくお願いします。

  • エクセルでのドロップダウンリスト作成について

    エクセルで、3つの項目(A,B,Cとします)をドロップダウンリストから選択する場合、A,B,Cを『名前の定義』で関連付けることはできました。しかし、A,B,Cが同じ文字列の場合、同シート上で同じ名前の定義にできないため、ドロップダウンリストが作成できずにいます。 このようなドロップダウンリストを作成するにはどのようにすれば良いか教えてください。 VBAなどが必要になるのでしょうか? 宜しくお願いします。

  • Excelのグラフ作成について

    たとえば、2000年について、Aの項目で1000、Bの項目で8、      2006年について、Aの項目で1003、Bの項目で5、 があったとします。 一方では増加傾向、その一方では減少傾向というのをグラフで伝わるようにしたいのですが。 Aの項目の目盛が左側、Bの項目の目盛が右側にあるようなグラフを見たことがあるのですが、エクセルでできますか? あと、X軸を西暦にしたいのですが、グラフの範囲指定で西暦の部分を選択すると、グラフの値に反映されてしまいます。指定しなければ、X軸はセルの位置を示す数字が表示されます。 西暦に「年」をつけると、項目軸として認識されます。X軸を数字のみの表示にできますか?

  • Excelのグラフ作成

    セルA1に自動で更新される値(データ)があり、 この値が更新される度にA2、A3へとシフトされ値(データ)が溜まっていきます。 (新しいデータが常にA1に表示されます) このリアルタイムで更新される値のグラフを作成したいのですが上手くいきません。 セルが挿入されデータが溜まっていきますので、A1からA10までデータが溜まった時点で グラフを作成してもグラフの範囲も一緒にシフトされ新しいデータが取り込まれません。 いい方法はないでしょうか? 宜しくお願いします。

  • excelでグラフを作成しているのですが、どのように作成したよいかがわ

    excelでグラフを作成しているのですが、どのように作成したよいかがわかりません。 グラフはX軸にある数値、Y軸にもある数値、この組み合わせで6名の項目軸があります。 さらに6名についてを1、2、4週と変化がわかるようなグラフを作りたいです。 散布図か折れ線グラフ化とは思いますが、どのようにおこなえばよいかがわかりません。 よろしくお願いします。

  • 連動したドロップダウンリストを INDIRECT関数を利用して作成したのですが・・・

    お世話になります。EXCEL2003での質問です。 県選択→結果を受けて市町村選択 というドロップダウンリストを下記の要領で作成しました。  名前の定義 : 名前;都道府県  参照範囲;シート名!$A$2:$A$7  名前の定義 : 名前;○○県   参照範囲;シート名!$B$2:$Z$2  各県の名前を同様に定義する。 一つ目のドロップダウンリスト(別シートのA1)  入力規則  : 入力値の種類;リスト  元の値;=都道府県 二つ目のドロップダウンリスト(別シートのB1)  入力規則  : 入力値の種類;リスト  元の値;=INDIRECT($A$1) 上記で問題なく連動したドロップダウンリストを作成できました。が、市町村合併に対応させたくて参照範囲を可変に・・・と思い、名前の定義の参照範囲のところを次のように変更しました。  名前の定義 : 名前;○○県   参照範囲;=OFFSET(シート名!$B$2,0,0,1,COUNTA($2:$2)-1) すると二つ目のドロップダウンにリストが出てきません。 B1の入力規則に戻って元の値が=INDIRECT($A$1)になっているのを確認してOKをクリックしたところ"元の値がエラーと判断されます"と警告が出ました。 そこでINDIRECT関数を噛ませずに直接、元の値を=○○県 にしたところ正常にドロップダウンにリストが表示されました。 これは、名前の定義の参照範囲に関数を使用したときにはINDIRECT関数が使用できない、ということなのでしょうか。どなたか、お詳しい方、教えていただけませんでしょうか。よろしくお願いします。

  • グラフの系列値が勝手に書き換わってしまいます。

    質問を見て頂きありがとうございます。 環境はOS:Windows7、Excel:2007を使用しています。 現在、グラフを表示する「Graph」シートと グラフに使用するデータを格納する「Data」シート(※1)を作成し グラフの系列値の範囲を可変にしたグラフを作成しようとしています。 系列値の範囲を可変にするため、「Data」シートに定義名:項目1(※2)を作成し、 グラフの系列値に「=Data!項目1」と設定しています。 エクセルを閉じる前はこちらの想定通りの動作になっているのですが、 エクセルを閉じて再度開くとグラフの系列値が「=[0]!項目1」と 自動で書き換わってしまいます。 系列値が「=[0]!項目1」に代わってしまうと定義名:項目1の参照範囲のセルに 値を入力しても「Graph」シートのグラフに反映されなくなります。 この現象を回避する方法があれば教えて頂けないでしょうか。 よろしくお願いします。 (※1) 「Data」シートのC5~C1000に系列値が入力されます。 系列値はC5~C1000までに1~n個入力されることを想定しています。 (※2) 定義名:項目1の参照範囲は以下のように設定しています。 =OFFSET(Data!$C$5,0,0,COUNTA(Data!$C$5:$C$1000),1)

  • エクセル2003 グラフ 名前定義

    いつも回答して頂き、ありがとうございます。 グラフの参照範囲を名前定義で選択して作成し、動作も完璧でした。 そのグラフのはいったシートをコピーした所、参照範囲元のデータがコピー元のままでした。 名前定義で参照範囲を選択した場合、各シート毎に名前定義を作成しなければいけないのでしょうか?コピー先のデータを参照する方法があるのなら教えて頂けないでしょうか?宜しくお願い致します。

  • EXCELグラフ作成

    Excel2000を使用しています。 X軸に日付け項目 Y軸にデータ数量が入っています。 上記データよりグラフを作成しようとしたところ、 2-Dグラフで入力できる要素の数は、1系列あたり最大32000個です。のメッセージがでます。 グラフ作成するにはどうすればよいのですか? X軸の項目数が43000行分のデータがあります。 OFFICE2007の購入予定はありません。

  • エクセル グラフの作成

    エクセルで折れ線グラフの作成を行いたいのですが、質問があります。 下記のような表を作成し、月別の個数を折れ線グラフにして、その推移を あらわしたいのですが、データの範囲を選択するときに、2の列と5の列を選択したいのですが、その方法がわかりません。 1の列だけとか5の列だけならドラックして選択できますが、 (=Sheet1!$A$1:$E$1)とか(=Sheet1!$A$5:$E$5) 2~5の列をドラックしてしまうと、4の列がじゃまになってしまいます。 (=Sheet1!$A$2:$E$5) どうすればいいのでしょうか。教えてください。 素人ですいません。   A  B  C  D  E 1 1月 2月 3月 4月 5月 2 3個 2個 5個 1個 9個 3 4 6月 7月 8月 9月 10月 5 4個 2個 7個 3個 2個

専門家に質問してみよう