グラフの系列値が勝手に書き換わる!回避方法はある?

このQ&Aのポイント
  • エクセルのグラフで、系列値の範囲を可変にしようとしていますが、再度開くと自動で書き換わってしまいます。回避方法を教えてください。
  • 質問者はWindows7とExcel2007を使用しており、グラフを表示するシートとデータを格納するシートを作成しています。系列値の範囲を可変にするために定義名を使用していますが、再度開くと自動で書き換わってしまいます。
  • 現在、グラフの系列値の範囲を可変にしようとしていますが、エクセルを閉じると書き換わってしまいます。どうすればこの現象を回避できるでしょうか?
回答を見る
  • ベストアンサー

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

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

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

>系列値の範囲を可変にするため、「Data」シートに定義名:項目1(※2)を作成し、グラフの系列値に「=Data!項目1」と設定しています。 例示の方法で作成するなら、ファイル名の指定が必要です。 http://www2.odn.ne.jp/excel/waza/graph.html#SEC13 名前定義を利用するなら、こちらの方法で作成するほうが簡単かもしれません。 http://www4.synapse.ne.jp/yone/excel2010/faq/graph_kahen2.html このような面倒な数式の設定をしなくても、グラフのデータ範囲を、ホームタブの「テーブルとして書式設定」しておけば、行や列のデータの追加に自動対応したグラフを作成することができます(数式では対応できない項目数やアイテム数の増加にも自動対応しますので、この方法で作成されることをお勧めします)。

tetsu123tetsu
質問者

お礼

ファイル名を指定する方法を試しましたが同様の現象が発生してしまいました。 SERIES関数を使用する方法でも駄目でした。 しかし、テーブルとして書式設定する方法を試してみたところ こちらの期待通りに動作しました。 本当に助かりました。 迅速かつ丁寧に教えて頂きありがとうございました。

関連するQ&A

  • 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,……}と言った形で実際の値がコピーされてしまいます。 なんとか上手く作成する方法はありますでしょうか? ご教授の程、よろしくお願い致します。

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

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

  • [excel2007]可変範囲のグラフを含むシートのコピーについて

    [excel2007]可変範囲のグラフを含むシートのコピーについて ・やりたいこと 可変範囲を参照するグラフをシート内に作成し、 そのシートを複数コピーして、可変範囲を参照するグラフのまま利用したい。 ・現状 以下のサイトを参考に、可変範囲のグラフをシート内に作成しました。 http://www2.odn.ne.jp/excel/waza/graph.html#SEC13 しかしこのシートをコピーすると、 名前"label","value"は新しいシートに複製されますが、 グラフの参照範囲はその名前でなく、固定値(新しいシートのA2:A5など)になってしまいます。 可変範囲のままシートをコピーしたいです。 (excel2003だと、そもそもコピー前のシートを参照するようですが) ・環境 excel2007 可変範囲のグラフの作成方法は、上記サイトの方法に限定はしていません。 何か良い方法をご存知でしたら、ご教授ください。 よろしくお願いいたします。

  • Excelグラフで系列が、、、。

    教えてください。  項目名に「数値」は使えないのでしょうか? ・まず、左列の「項目名」の部分を「数値」で順に書き、  右隣列にデータ数値を入れた表でExcelグラフを作りたい。  1系列なのですが、一見、数値列が2個並んでいる形です。 ・これでグラフ作成すると、横軸(X軸)の目盛は、1,2,  3,4、、、と自動記入されてしまい、項目として横軸の  目盛に付けたかった「数値」の項目名がデータとみなされ、  ふたつの系列のグラフになってします。 なにか対処方法はあるんでしょうか?   

  • Excel 空白を含むグラフの可変域を設定したい

    名前定義を使用してグラフの可変域を自動的に参照させたいのですが、空白の扱いに困っています。 1.データの更新を日付を横軸にした折れ線グラフに  自動的に反映させたい 2.データの空白はグラフ上でも空白として扱いたい 3.できれば関数で処理したいがそれが効率的でなければマクロでも B列にデータの始まり以降は空白を含まない日付、 C列から決まった系列名があり値がそれぞれ列方向に伸びていきますが、 ここに不規則に空白が入ります。    A   B      C     D … → 1  2  日付    項目名 3  2010/1/1   (数値) 4  2010/1/8   (数値) 5  2010/1/15 6  2000/1/22 7  2000/1/29  (数値)         ↓      ↓ 今使っている名前定義:  ='Sheet'!$C$3:INDEX('Sheet'!$C:$C,COUNTA('Sheet'!$C:$C)+1) では空白の有無に影響されてしまいB3からの日付列にしか使えません。 どのような方法に変えるのが良いのでしょうか。 よろしくお願いします。

  • エクセルVBAでコピーしたグラフについて

    別シートからグラフをコピーして新シートにはりつけました 元データの範囲を1行下を参照するようにマクロで作成したいのですが。。。 =SERIES(系列名,Xの値,Yの値,系列番号) の系列名とYの値を一行下の範囲を参照したいのです。 グラフから下のようにデーター範囲を取得し、一行下の行のデータ範囲に変えてグラフを変更したいです。  ActiveChart.SeriesCollection(1).Formula = _ "=SERIES(元データ!$B$19,元データ!$C$3:$DI$3,元データ!$C19:$DI19,1)"                     ↓ このようにしたいのですが1回ごとに19を20に打ち直さずにマクロ                       でしたいのです ActiveChart.SeriesCollection(1).Formula = _ "=SERIES(元データ!$B$20,元データ!$C$3:$DI$3,元データ!$C20:$DI20,1)" ループさせて 19を20につぎは20を21に・・・・・最終的には59を60行を参照するように 取得して変換していきたいのです 書き方が悪くて申し訳ありません。 どなたかわかるかた大至急教えてください。宜しくお願いいたします。

  • エクセル グラフ データ系列入力で数式設定

    エクセルのグラフ散布図作成で、データの選択を通常は数値入力、もしくはセル指定をしますが、数値とセル指定の混合、MAX関数などの数式を入れると入力エラーになってしまいます。入力の仕方に問題があるのでしょうか?もしくはこのような入力は出来ないのでしょうか? 例えば、データの選択で(1)と(2)のようにすると入力エラーになってしまいます。 (1)ある範囲のMAX値のデータをプロットさせたい 系列Xの値 1,9 系列Yの値 1,max(Sheet1!$C$16:$C$25) (2)一つの値だけセル指定 系列Xの値 1,9 系列Yの値 1,Sheet1!$C$18 すみませんが、どなたかよろしくお願いします。

  • エクセルのグラフについて教えて!

    エクセルでグラフを作成して、グラフを右クリックして元のデータを表示します。 系列のタブの『値』にグラフに表示される値(参照セル)を入力する訳ですが、そこに数式を入力するのは可能でしょうか? 例えば通常は =Sheet1!$A$1:$N$1 のようにセルの範囲を指定しますが、そこに=Sheet1!($A$1/$A$2):$N$1/$N$2)のように数式を入れてグラフを完成させたいんです。 エクセルのシートで数式を計算し、その範囲を参照するようにしたらいいのですが、今回はその方法は使えないので質問します。

  • エクセルのグラフで系列名を入れるときに……

    エクセルで月別売上高のグラフを作っています。 グラフをユーザー定義のグラフとして登録したので、データを入れ替えるだけでグラフにできるようになって嬉しい♪(←わたしのチカラではここまでですでに大したことだったりします) ところが、系列の名前のところが、常に系列1,2,3,で出てきてしまいます。 系列名を簡単に入れられる方法があったら教えてください。4月から3月までのデータなので、ひとつのグラフにつき12個の系列があり、いちいち直すのがちょっと……。地道にやる、という選択肢もあるのですが。 あと同じグラフを12個ほど作らなければいけないので、できれば楽をしたいと思います。 ユーザー定義の登録をする時に、何か間違ったのでしょうか。 どうぞよろしくお願いいたします。

  • 自動可変グラフ作成

    おはようございます。  生産実績を下G7に日付け G87に合計を入力し、合計欄には 85行と86行をプラスしております。      G H I J・・・・・・・・ 7月日  3/1 3/2 3/4 3/5 ・・・・・・・・・3/18  ・  ・ 87 実績 100 90 102 103       103 このように実績表を作成し、別のシートに日付け(3/18)をあるセルに入力した場合、グラフ範囲を関数で3/1~3/18日まで期間を抽出させようと関数を調べておりましたら、 http://www2.odn.ne.jp/excel/waza/graph.html#SEC13のサイトに可変グラフ作成が掲載されており、横方向のデータで可変グラフを作成をしようとしましたが、式が複雑すぎてグラフ範囲が設定できませんと表示され3/13日以降の可変グラフが作成されません。  どのようにしたら宜しいのでしょうか?

専門家に質問してみよう