グラフのデータ参照範囲を自動変更するには?(表示データ数固定編)


Q1.下図の表から元グラフを作り、その後で表に7/12データを追加しました。
graph12001.jpg

新しいデータが追加されたのでグラフに反映すると共に、最も古いデータをグラフから消していきたいですが、このグラフ反映をマクロを使わずに、自動的に行う事は出来ないのでしょうか?
graph12002.jpg

A1.ここではOFFSET関数,MAX関数,MIN関数,COUNT関数を使った『名前の定義』を応用して、
グラフ作成する方法を紹介・解説します。
1。グラフを作る前準備として、D2にグラフに表示したいデータ数を入力しておきます。
graph12003.jpg
2。次に、上記表を使って名前の定義を2個作ります。
(1)A1を選択して【数式タブ】→【定義された名前】→【名前の定義】を選択します。
graph12004.jpg
(2)表示される[新しい名前]ダイアログボックスの[名前]欄にはA1の値が入力されていると思います。
[範囲]欄では、アクティブシート(例えばSheet1)を選択します。[参照範囲]には、以下の数式を入力します。

=OFFSET($A$2,MAX(0,COUNT($A:$A)-$D$2),0,MIN(COUNT($A:$A),$D$2),1)

graph12005.jpg

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

B1選択時の参照範囲:
=OFFSET($B$2,MAX(0,COUNT($A:$A)-$D$2),0,MIN(COUNT($A:$A),$D$2),1)
3。前準備が出来ましたので、グラフを作っていきます。
A1:B11範囲 をドラッグ選択して【挿入タブ】→【グラフ】→【折れ線/面グラフの挿入】→『マーカー付き折れ線』を選択します。
graph12006.jpg
4。折れ線グラフ上を左クリック選択すると「数式バー」に関数式が表示されるので、以下の様に書き換えます。
graph12007.jpg
=SERIES(Sheet1!$B$1,Sheet1!$A$2:$A$11,Sheet1!$B$2:$B$11,1)
graph12010.jpg
=SERIES(Sheet1!$B$1,Sheet1!  日付  ,Sheet1! 最高気温 ,1)
graph12008.jpg
◆☆ ワンポイントアドバイス ☆◆
◆数式バーに表示されるSERIES関数式は、セル関数と同じ様に、数式バー内で直接編集が出来ます。
5。グラフとしてはこれで完成です。表に新しいデータ(7/11,7/12)を入力すると、グラフも自動的に変化します。
graph12009.jpg

いじょ!

このページの先頭へ▲