エクセルでグラフの横軸が自動で伸びるようにしたい

このQ&Aのポイント
  • エクセル2016を使用して、表からグラフを自動で表示し、データが増えるにしたがって横軸が伸びる方法について詳しく教えてください。
  • 名前の定義とOFFSET関数を使用してグラフの横軸を自動的に伸ばす方法を試していますが、うまくいきません。基本的な設定や修正方法を教えてください。
  • エクセルでグラフの系列ごとに横軸の範囲を自動調整する方法について教えてください。名前の定義やOFFSET関数を使用しているが、うまくいかない状況です。
回答を見る
  • ベストアンサー

エクセルでグラフの横軸が自動で伸びるようにしたい

いつもお世話になっております。 エクセル2016です。 表からグラフを自動で表示して、データが増えるにしたがって横軸が伸びていくようにしたいのです。 1~2年前にNETで調べて名前の定義を使って試行錯誤の末何とか出来るようになったあのですが少し不具合(指定のセルと系列が違っている)があって弄っているうちに訳が分からなくなってしまいましたのでHELPです。 今使っている方法は名前の定義で下記の式を入れて OFFSET(入力表!$D$16,1,0,COUNT(入力表!$D:$D)+5,1) グラフの系列を選択して =SERIES(入力表!$D$12,,入力表!系列B1月,2) としているのですが、同じように系列を増やそうとしてもどうしてもうまくいきません。 どこを変えれば良いのか基本的なことが分かりません。 最初に作成したときのメモを見ながら試行錯誤したのですがお手上げ状態。 このやり方の修正、もしくはもっと簡単にできる方法は無いのでしょうか? この方法だと対象列が変わるたびに苦戦しそうです。

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

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

回答がついてないので、記してみます。 後続の回答を待つ(間違っておれば訂正してください)。 下記ではないですか。 ・そもそもエクセルのグラフ描画の仕組は、データが増えると、自動的にグラフが増えるものではない。 ・またそういう風にしてほしいとして、設定モードの設定もない。 ・むしろデータ範囲をユーザーが指定しておいて、グラフを描かせる仕組みである。 ーー 参考 こういう風にはできた。ただし自動ではない。 例データ A1:H4 a b c d e f g h  <--データ見出しのつもり 11 13 54 34 34 34 23 12 23 45 65 67 67 67 14 34 56 88 72 27 27 27 53 32 このグラフが折れ線で作成されているとする。 I1:I4に i 23 34 42 というデータを増やしたとする。 (1)グラフのプロットエリアの空白部のどこででも、マウスでダブルクリック (2)データのA1:H4が選択されて、枠線が現れる。 (3)I1とI2の境界のところでマウスを当てて、右上左下方向の矢印が出たところで、マウスを右にI列までドラッグ。 グラフの表すデータがA1:I4まで増える。 ーー または 上記(1)(2)(3)操作後、右にマウスをドラッグしてデータ範囲の列を(見出しやデータはとりあえずなし)を増やしておいて、その後 見出しやデータを入力すると、グラフが、データ入力後すぐ増えて現れる。 ーー VBAで考えてみた。 Sub test33() adr = Sheets("Sheet1").Range("A1").CurrentRegion.Address 'adr = Selection.Address ActiveSheet.ChartObjects(1).Activate ActiveChart.SetSourceData Source:=Range("Sheet1!" & adr) End Sub を実行すると現状のデータ範囲に広がる(または狭くなる) しかし、実行するには、ボタンのクリックなど(上記をボタンに登録しておいてのことですが、他にも実行のキッカケを与える仕組みはあるが)、ひと手間かかる。

akira0723
質問者

お礼

ご回答ありがとうございます。 やってみました、一発で動きました。 この数行の簡単なマクロで苦労した動作が出来るとなると名前の定義や関数の組み合わせが面倒になってきますね。 使わせていただきます。

その他の回答 (4)

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.5

ANo.3です。 > 対象グラフ(シート)は非常に多く数個のデータから数百のデータの表まであるので、10個のデータのグラフで最初から200行まで範囲指定してしまうと見にくくなるので最初は20-30行程度の範囲から、データが増えてくるとグラフの範囲を引っ張っています。 例え200行まで指定してもデータが有る範囲だけでグラフを描くので見にくくはならないと思いますが? 予め範囲指定するのが問題なのでしょうか? 恐らく、現在の定義は以下のサイトで説明されているような方法かと思われます。 文字数制限や画像にも制限があるこのサイトより解りやすいと思いますのでご参照ください。 http://officetanaka.net/excel/function/tips/tips71.htm

akira0723
質問者

補足

お手数をおかけしています。 データは品種毎のブックのシートに入力されていくので毎日増えていく事になり、生産頻度の少ない品種のデータはデータ数も少なく、増加することも少ないので10-20個のデータの表になっています。 逆に生産頻度の多い品種のデータは毎日増えていくので、最近500個まで1枚のシートに記録することにしました。(入力は私以外の複数の担当者) そこでデータ範囲を500行まで取ると10個のデータの折れ線グラフは変動が見えなく(見にくく)なります。 そこでデータ数+5個位の範囲で自動的にグラフ化するようにするのが目的です。 教えていただいたページの方法で2年ほど前には何とか出来たのですが、今度やろうとしたらどうにも動かないのでもう少し簡単な方法はないかと質問させていただきました。 やはりこの方法か、今のグラフ範囲がオーバしそうになったら範囲を引っ張るかのどちらかでしょうか? 当方が少し見ないと範囲が足りなくなっていて、新規のデータがグラフに反映されていないことがたまにあるので自動化を考えました。

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.4

こんにちは >少し当方のやりたいことと回答の内容が違っているようです。 ☆最終行より一つ手前の行で追加する行数を挿入して、データを入力  挿入はフォームリボンのセルグループの挿入ツールでやります。  これで、最終行列は最下行ます。

akira0723
質問者

お礼

ご回答ありがとございました。

akira0723
質問者

補足

こんばんは。 何度もご回答ありがとうございます。 データを入力するたびに挿入の操作をするのは目的と違っていて、ほかの人が単に最終行にデータを入力すれば横軸が伸びるようにしたいのです。 今は私がたまにデータの範囲を引っ張ることで対応しているのですが、これを自動で伸ばしたいのです。 毎回行の挿入操作をするなら、グラフ範囲を引っ張る方が簡単だと思いますので。

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.3

こう言うのでも良いのかな? 添付の図では、1行目に項目名、A2に最初の年月をいれ、A3に↓の式を入れA3セルを下方向にコピーしています。 =IF(B3="","",EDATE(A2,1)) この状態でA:B列を選択してグラフを描かせると、B列に値を入れるとA列に年月が表示され、グラフのX軸も伸びます。 A列の年月は手で修正もできます。

akira0723
質問者

補足

試して見ました。 こんなデータ範囲の設定方法があったのですね。 ただしこの方法は残念ながら基本的に今やっているグラフの範囲をあらかじめ適当な範囲まで長くとっておくことと同じでした。 対象グラフ(シート)は非常に多く数個のデータから数百のデータの表まであるので、10個のデータのグラフで最初から200行まで範囲指定してしまうと見にくくなるので最初は20-30行程度の範囲から、データが増えてくるとグラフの範囲を引っ張っています。 これを自動でできないかと。

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.2

こんばんは >表からグラフを自動で表示して、  データが増えるにしたがって横軸が伸びていくようにしたいのです。 ☆横軸の最後の列の一つ手前で追加する列数を挿入して、データを入力  挿入はフォームリボンのセルグループの挿入ツールでやります。  これで、最後の列は右端になり、挿入したセルの書式は左の書式になります。

akira0723
質問者

補足

ご回答ありがとうございます。 少し当方のやりたいことと回答の内容が違っているようです。 例えばA列の下方向に年月が入っていてB列に月々の販売額が下方向に入っています。 毎月の販売額を入れていくときにグラフのX軸(月)が入力に従って伸びていく、というようなグラフにしたいのですが。

関連するQ&A

  • エクセルのグラフの横軸の自動化

    以前ここでエクセルのグラフの横軸を自動で伸ばす方法を教えてもらってその時にはうまく行ったのですが、今回1系列だと出来るのですが、2系列目が同じように指定しているはずなのにエラーになります。 何度もお手数ですがどなたかHELPです。 先ずは名前の定義で「系列A」として=OFFSET(結果!$E$73,1,0,COUNT(結果!$E:$E),1)として、グラフの系列を選んで、SERIES(,,結果入力表.xlsm'!系列A,1)で系列Aはうまく行きました。 同じ要領で系列Bを名前の定義を列Fに変えて指定して、グラフ上で第2系列を選択して、SERIES(,,結果入力表.xlsm'!系列B,2)としたら、<参照が正しくありません。項目、値、サイズに対する参照は、1行または1列でなければなりません>というエラーメッセージが出ます。 何度か試行錯誤してみたのですが、何故”系列B”では駄目なのか分かりません。 基本的に系列の指定の仕方が分かっていないのだと思いますが、どなたか正解を教えてください。

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

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

  • エクセルからグラフの表示

    シート1  A B C D 1りんご 100 50 80 2みかん 空白 空白 40 3パイナップル 90 100 50 と文字と数字がはいっています この数字をシート2でグラフにしました シート1の「名前の管理」 で、「りんご」「=OFFSET(シート2!$B$1,0,0,1,COUNT(シート2!$1:$1))」 と、設定をしておくと、列が増えても自動的に表に反映されます。 この状態で、2にみかんを追加しました。最初のBとCは空白です 同じように名前の管理にいれても、表に反映されません。 どうしてでしょうか? =OFFSET(シート2!$B$2,0,0,1,COUNT(シート2!$2:$2)) といれました 実際のシートの式とは違うので、もしかしたら、$B$2の表示が違っているかもしれませんが、ほかの行は同じような形式で変更させていったら、ちゃんと表になってでてきます。 空白にゼロを入力するとちゃんとグラフがでてきますが、 ゼロというグラフも表示されるので困っています。

  • グラフの横軸目盛について(エクセル2007)

    グラフの横軸目盛がなぜか元データと合いません。 なぜでしょうか?原因と対処の方法をご存知の方 ご教示願います。 ●例) 表(A6セル)→2007年1月10日 グラフ(左端)→2007年1月1日 ●グラフの作成方法 1.(B5:B9)セルを範囲選択 2.「挿入」→グラフ(2-D縦棒)選択 3.グラフエリアを選択状態→「デザイン」→「データ」 4.「データソースの選択」→「編集」 5.(A6:A9)セルを範囲選択→OK 上記の作成方法でできた最初のグラフは、表と横軸目盛は 合致していましたが、グラフエリアの大きさを 任意に縮小していると、なぜか1900年になったり逆に拡大すると 2007年1月1日なったりしました。 エクセル2007でグラフの作成お詳しい方が、いらっしゃいましたら ご教示願います。なお画像を添付いたしますので ご参考にしていただければ幸いです。

  • エクセルでグラフを作る

    エクセルでグラフを作っているのですが、 方法がわからず、困っていることがあります。 簡単に言うと、 横軸が1,2,4,5・・・・の時の 縦軸の値はわかっているのですが、 横軸が3の時の縦軸の値がわからないので 入力しないままでグラフを作成すると、 横軸が1,2,4,5・・・・が等間隔で並びます。 これをなんとかして、横軸に3を含ませて、 その時の縦軸の値を周りの値から予想させて グラフを作りたいのですが、それはできませんか? 表をいじくらなければ、それはできないのでしょうか?

  • Excelグラフ行方向データの範囲自動追従のやり方

    グラフの日付欄を増やして、データを追記したら自動でグラフも追従するようにしたいのですが、うまくいきません。 9月ファイルのシート名AAA 日付の1のセルがH299で以下 計画累計の1日目がH301 実績累計H303 平準化生産数H304 となっています。グラフの端まで入力するとAFです。それ以上は増やすことはありません。 現在行っている事は、名前の定義より、下記4項目の定義をしています。 日付       =OFFSET(AAA!$H$299,0,0,COUNTA(AAA!$H$299:$AF$299),1) 計画累計    =OFFSET(AAA!$H$301,0,0,COUNTA(AAA!$H$301:$AF$301),1) 実績累計    =OFFSET(AAA!$H$303,0,0,COUNTA(AAA!$H$303:$AF$303),1) 平準化生産数 =OFFSET(AAA!$H$304,0,0,COUNTA(AAA!$H$304:$AF$304),1) で、グラフエリアで右クリックして、データの選択より系列の編集で系列値に 計画は ='9月.xlsm'!計画累計 実績は ='9月.xlsm'!実績累計 平準化 ='9月.xlsm'!平準化生産数 横軸ラベルの軸ラベルの範囲の方は、 ='9月.xlsm'!日付 と入力しています。 すると、横にデータをとってほしいのが、縦の方にデータをとってしまい、横軸の日付のところは、 1日目の縦のデータの数値が入っているし、他のグラフも同じく縦のデータをとってしまっています。 きちんと、横軸は日付で、縦軸に台数、日付を増やすと、グラフの日付も連動して増えるようにはここからどう修正すればよいですか? または、どう作っていけばよろしいでしょうか? エクセル2007~2013までのいずれかでご説明をお願いいたします。

  • EXCEL 2007 グラフの横軸の下(グラフ内)にコメントを入力する

    EXCEL 2007 グラフの横軸の下(グラフ内)にコメントを入力する方法 日付、ペットの体重データ、備考 の3つをグラフで表示したいのですが、 備考というものをどうすればい表示できるのはわかりません。 日付とペットの体重データだけなら問題なくつくれるのですが、 備考(=コメント)をどうすればグラフの横軸の日付の下にでも加えられるのか教えてください。

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

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

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

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

  • excelのグラフ、横軸なんですが・・・。

     現在excel2000で、会社の従業員の賃金カーブを描く折れ線グラフを作成しています。横軸に年齢(18歳~59歳)、縦軸に平均賃金を表したグラフです。ところが従業員が50名程度の会社ですので、18歳~59歳までの年齢が全て埋まる訳ではなく、歯抜けになってしまう年齢が何箇所もあります。  例えば19歳、20歳、25歳の3人が居たとして、19歳~20歳の間と21歳~25歳の間が同じ間隔で表示されてしまいます。グラフの目的から言うと、21歳~25歳の間隔は4歳分空けたいのですが、どうすればよいのでしょうか?  自分なりに考えた解決方法として、データベースに空データを入力し、ツール~オプションのグラフで「補間してプロットする」を選択すれば上手く行くかな?と思ったのですが、データベースに高卒、大卒、新卒入社、中途入社、男性、女性を判断する列を作って、ピポットテーブルでそれらの条件を呼び出すようにしているため、空データを入力するとなると、それぞれの条件での歯抜けになってる年齢分、空データを作らなければならず、非常に効率が悪そうです。    どうか、簡単な方法があればご教授ください。

専門家に質問してみよう