Excelグラフの効率的なデータ更新と領域確保方法

このQ&Aのポイント
  • Excelのグラフ化において、データの追加と更新を効率的に行う方法を検討しています。日々追加されるデータを無駄な領域を含めずにグラフ化し、データ更新をスムーズに行いたいです。散布図グラフを使う場合、データの追加ごとにグラフの元データ領域を広げる作業が必要で非効率です。具体的には、データ系列毎にデータの入力範囲を自動で見極めてグラフの基データにする方法を模索しています。これにより、領域確保とデータ更新を効率化できるかを知りたいです。
  • 具体的なアイディアとして、データ系列毎に事前に名前定義を行い、その名前定義内の範囲指定を動的にする方法を考えています。具体的には、INDEX関数とSUMPRODUCT関数を使って、データの最終行を自動的に取得し、グラフの元データ領域を動的に設定する方法です。しかし、グラフの元データの系列に対する領域指定に名前定義した定義名が使えないことが分かりました。この問題を解決するための助言を求めています。
  • Excelのウィザードを使わずにデータの追加と更新を効率的に行いたいです。散布図グラフを使う場合、データの追加ごとにグラフの元データ領域を広げる作業が煩雑です。データ系列毎に事前に名前定義を行い、その名前定義内の範囲指定を動的にする方法を試してみましたが、グラフの元データの系列に対する領域指定に名前定義した定義名が使えない問題に遭遇しました。Excelのバージョンは2004のウィンドウズ版です。
回答を見る
  • ベストアンサー

Excel グラフの基データ領域を予め多めに確保したい

お世話になります 質問内容としては 日々追加されているデータを 無駄な領域を含めないように しかも効率よくグラフ化・及びグラフの更新するには? と言うものです。 やや長文ですがお付き合い頂けると助かります 早速本題ですが 多分したに表すような業務は形こそ違えど 多かれ少なかれ 凡そ一般的に広く行われるような内容だと思うのですが        品目           (単位:個)        日時     A1 B5 G3 …        ・        ・ 04/11   1 10  5 … 04/12   8  3 17 … 04/15   3 25  1 … 04/16 使用停止 7 16 … 04/17      5  8 …        ・        ・        ・        ・ この表は適当に即興で書いたものですが まあ例えばこういった表で 日々データを追加して更新しているとします。 又、このデータの提出はグラフ形式で求められる と、します。 普通なら散布図グラフをウィザードで作成すると思うのですが、 ウイザードを普通に使うだけでは データを何度か追加する度に 「グラフの元データ領域を広げる」 と、言う作業が各系列毎に定期的に発生し 非常に非効率です… よね? そこでデータ系列毎に データの入力範囲を自動で見極めて グラフの基データにして貰えると助かるのですが、 こんなのって無理ですか? 私自身少し悩んで 例えば系列毎のデータ領域に対して 事前に名前定義を行って その名前定義内の範囲指定を動的なもので行えば… (例:$C$3:INDEX($C:$C,SUMPRODUCT(ISNUMBER($C:$C)*1)+ROW($C$3)-1) とか、 考えてみたのですが グラフの元データの系列に対する領域指定に 名前定義した定義名での指定が使えないようで これは上手くいきません。 (このアイディアはhttp://oshiete.coneco.net/qa3900592.htmlにおいて  OtenkiAme様より頂いたものを応用しようとしたものです) 方法そのものは良いがやり方が間違っているのか 若しくは全く別なやり方で解決すべきなのか… どうしたものかホトホト困っています。 どうぞお知恵を頂戴したく思いますので宜しくお願い致します。 (Excelはウインドウズ版の2004だったと思います)

  • Nouble
  • お礼率91% (1698/1856)

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

  • ベストアンサー
  • koko88okok
  • ベストアンサー率58% (3839/6543)
回答No.1

> 例えば系列毎のデータ領域に対して事前に名前定義を行って、その名前定義内の範囲指定を動的なもので行えば… (例:$C$3:INDEX($C:$C,SUMPRODUCT(ISNUMBER($C:$C)*1)+ROW($C$3)-1) 下記URLのエクセル技道場「可変範囲のグラフ」の項がご参考になると思います。 http://www2.odn.ne.jp/excel/waza/graph.html#SEC13

Nouble
質問者

お礼

凄いです!! 感謝です こんな有益なページがあるとは露程も思いませんでした 感激です 有り難う御座います。

Nouble
質問者

補足

今更ですが動作を確認しました 有り難う御座いました

その他の回答 (1)

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

エクセルの基本は、その都度、基本領域を広げるというものだと思います。 (1)可変領域を名前で対処するというのは裏業的なものです。 エクセルは他の事項でも、自動的に対象を広げるというのはほとんど無いように記憶します。 下ではプログラム的には再度やり直しているはずです。ただ全く別件で、ウインドウズではプロパティなど変更を瞬時に反映する仕組みがあるのですが、グラフのデータ領域では無いと思います。MSがその気になれば出来る問題とは思いますが。 (2)VBAを使えば、自動らしき近いことは出来ますが、所詮人手でやることを、プログラムで瞬時にやるに過ぎません。 楽要求は限りないですが、余り難しいことを考えず,VBAでボタン化するか、1日1回なり操作してください。

Nouble
質問者

お礼

早速のご回答 小生の悲痛な叫びをくんだ優しさ 痛み入ります ご回答有り難う御座います

関連するQ&A

  • excelのグラフ 範囲可変の複数系列の指定

    Excelである表を元に、グラフを作成します。 元データは、月々データが増え、最新の36件についてグラフを作成します。 そこで、名前の定義で元データの範囲(offsetとCountaを使います)を指定するのですが、系列が8個あります。 各系列を8個の名前で定義すればいいのでしょうが、 元の表のグラフにする「範囲」に名前を定義して、グラフの各系列の参照データを、範囲の名前をつかって、指定することはできませんか? 系列1・・・”名前”の1行目 系列2・・・”名前”の2行目  ・  ・ という指定の方法はできますか? 同じようなグラフを数種類作成するため、1グラフの名前の定義数を減らして、すっきりさせたいのです。 ちなみに、今回は、マクロを利用できません。 よろしくお願いします。

  • Excelでのグラフ、元データから自動的に反映させるには?

    Microsoft Excel2003での質問です。 日々データを更新(追加)する表があり、別シートにてその表のグラフ(折れ線)を作成しました。 毎日毎日、そのグラフを見るのですが、 グラフに、その日追加したデータを反映させるのに、 [グラフシート]→グラフ→元のデータ と進み、表の一行目から、そのとき入力した最終行までをドラッグ範囲指定しています。 これはこれでうまくいくのですが、毎回毎回のこの作業を簡略化する方法はありませんでしょうか。 マクロやVBA(あまり詳しくありませんが)を使用する方法でももちろん結構ですので、どなたかご教示いただけませんでしょうか。 よろしくお願いいたします。

  • グラフの元データをすぐ反映させたい。

    エクセルで 沢山の表とグラフを作成し、表に日々データを追加しているのですが、 追加の度に、グラフの元データ範囲を変更しなければなりません。 元データと同じシートにグラフがあれば、グラフを選択するだけで 元データがカラーの罫線で囲まれるのでカンタンなのですが 別のシートだとそうも行きません。 どなたか、データを表に追加するだけで、 すぐにグラフが更新される(新しいデータがグラフに反映される) 方法をご存じないでしょうか? できれば、マクロを使わない方法だと 助かるのですが・・・よろしくお願いします。

  • ExcelからPowerPointグラフのデータ範囲を変更

    PowerPointにEXCELのグラフをリンク貼り付けしました。 データは日々増えていきますので、名前を定義し、データ範囲に設定したのですが、 EXCELのデータを更新しても、PowerPointのグラフに反映されません。 そこで、Excel(VBA)からPowerPointのグラフを操作して、グラフのデータ範囲を 変更しようと思います。 VBAでPowerPointのグラフを取得することはできたのですが、データ範囲の 変更の仕方がわかりません。 ご存知の方よろしくお願いいたします。 WindowsXP Excel2007・PowerPoint2007

  • エクセルグラフのデータ追加について

    EXCELL2007、windowsXPのユーザーです。 EXCELLで、縦長に日付・毎日の○○平均値(2列)の表を記入しております。 この表の折れ線グラフについて教えてください。 データの追加の説明を読んでも理解できませせん。 1)本日までの様子を折れ線グラフに描くことはできますが、毎日データを追加して造り直すのは面倒です。そこで、明日以降の日付を記入しておいて、毎日データを追加すると、自動的にグラフの標示が 増えてゆくようにしたいのです。 2)上のような表を作って範囲を指定すると、変なグラフが出来てしまいます。 3)出回っている解説は、ほとんどEXCEL2003ですので、どうもわかりにくいです。 宜しくお願いします。

  • エクセルで複数のグラフを描くには?

    エクセルで折れ線グラフを描いてますが、1シートにたくさんデータ表が有り、それぞれ同じグラフを書きます。その場合、系列がたくさんあるため、1個づつグラフを書くのが大変です。そこで、グラフをコピー・貼り付けで、データ範囲を変更したのですが、系列の名前と項目軸ラベルの表示がエラーとなります。たくさんあるデータに対して同じグラフを書く場合、2個目からは簡単に描く方法はありませんか? 教えてください。

  • excel グラフのデータ範囲に名前定義を使いたい

    可変の範囲を持つ折れ線グラフを作成したいのです。 グラフウィザードでデータ範囲を =エクセルファイル1.xls!valueとして(範囲をvalueとして名前定義しています。データがある行までを範囲指定するものです) 実行すると、一見正しく表示されているのですが 表のデータが増えたりしても範囲を変更してくれません。 グラフを右クリックして元のデータを見てみると、先程 =エクセルファイル1.xls!valueと指定したところが具体的な範囲(A10:G20)等に変わってしまっていました。 最初にグラフを作成したときの範囲がずっと反映されるようなのです。 私は常に=エクセルファイル1.xls!valueの範囲を反映させてほしいのですが…… 具体的にどういう方法があるのでしょうか……

  • 複数のワークシートのデータを使って、1つのグラフを作る方法

    いくつかのワークシートのデータを使って、1つのグラフ(積み上げ縦棒グラフ)を作るいちばん効率的な手順を教えてください。 (Sheet1にはA=1,B=2,Sheet2にはC=3,D=4というようにデータが入っていて、グラフは系列1はAとCの値、系列2はBとDの値…としたいのですが、普通にデータ範囲を指定しようとするとエラーになってしまいます。) 必要なデータを一度1つのシート上に複写する…という方法はできれば避けたいのですが、他に方法がないのであれば、関数やマクロ、ピボットテーブルetcを使って作業を効率化する方法がもしあれば教えていただければうれしいです。

  • エクセル2010 グラフのデータ追加

    この度、会社のPCがWindows7に変わりました。 それに伴いエクセルが2010になりました。 エクセル2010での、グラフのデータ追加の方法を教えてください。 毎月売上をグラフにしています。 以前は、既存のグラフ上でクリックすると上に出る「グラフ」→「データの追加」で、追加したい部分を範囲指定すれば、グラフに反映したのですが、2010になってから、やり方が変わったようでわかりません。 ヘルプで調べて、追加したい部分を範囲指定して、ドラッグ&ドロップでグラフ上に持って行くと追加されると書いて有ったのでやってみたのですが、グラフの後ろ部分にコピーされるだけで、グラフに反映されません。 旧バージョンで作ったグラフには使えないのでしょうか? 旧バージョンで作ったグラフでデータを追加する事は可能でしょうか? 可能であれば、方法を教えてください。

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

    質問を見て頂きありがとうございます。 環境は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)

専門家に質問してみよう