グラフのデータ参照範囲を自動変更するには?


Q1.下図の表から元グラフを作り、その後で表に7月,8月データを追加しました。
graph10401.jpg
   新しいデータが追加されたのでグラフにも追加データを反映したいのですが、グラフのデータ参照範囲の変更を、マクロを使わずに、自動的に変更する事は出来ないのでしょうか?
graph10401.jpg

A1.ここでは『名前の定義』を使い、データ参照範囲を自動可変にする方法を紹介・解説します。

1。グラフを作る前準備として、上記表を使って『名前の定義』を3個作ります。
(1)A1を選択して【数式タブ】→【定義された名前】→【名前の定義】を選択します。
graph10403.jpg
(2)表示される[新しい名前]ダイアログボックスの[名前]欄にはA1の値が入力されていると思います。
[範囲]欄では、アクティブシート(例えばSheet1)を選択します。
[参照範囲]には、以下の数式を入力します。

=OFFSET($A$1,1,0,COUNTA($A:$A)-1,1)

graph10404.jpg

(3)同じ要領で、B1,C1でもそれぞれ『名前の定義』を作ります。

B1選択時の参照範囲: =OFFSET($B$1,1,0,COUNTA($A:$A)-1,1)

C1選択時の参照範囲: =OFFSET($C$1,1,0,COUNTA($A:$A)-1,1)

◆☆ ワンポイントアドバイス ☆◆
COUNTA関数の引数に注目して下さい。
graph10405.jpg
B1,C1選択時もA1と同じ引数になっています。
これは列B,Cがデータ列なので、欠落する(空欄になる)事も想定している為です。
2。前準備が出来ましたので、グラフを作っていきます。
A1:C5範囲 をドラッグ選択して【挿入タブ】→【グラフ】→【縦棒/横棒グラフの挿入】→『集合縦棒』を選択します。
graph10406.jpg
3。東京の縦棒グラフ上を左クリック選択すると「数式バー」に関数式が表示されるので、以下の様に書き換えます。
graph10407.jpg

=SERIES(Sheet1!$B$1,Sheet1!$A$2:$A$5,Sheet1!$B$2:$B$5,1)
graph10205.jpg
=SERIES(Sheet1!$B$1,Sheet1!    ,Sheet1!  東京  ,1)

graph10409.jpg

◆☆ ワンポイントアドバイス ☆◆
◆数式バーに表示されるSERIES関数式は、セル関数と同じ様に、数式バー内で直接編集が出来ます。
◆正しく編集してEnterキーを押すと、福岡縦棒 も $A$2:$A$5部分 が 月 に変わっているはずです。

graph10410.jpg

4。福岡の縦棒グラフも、東京縦棒グラフを同じ様にSERIES関数を書き換えます。

=SERIES(Sheet1!$B$1,Sheet1!    ,Sheet1!  福岡  ,2)

graph10411.jpg

5。グラフとしてはこれで完成です。表に新しいデータ(7月,8月)を入力すると、グラフも自動的に変化します。
graph10401.jpg

いじょ!

このページの先頭へ▲