Excelのグラフの範囲を自動更新する
Excelで日々追加されるデータなどの場合、グラフの範囲を自動更新したい場合があります。この記事ではグラフを自動更新する手順を紹介します。
概要
Excelのグラフ範囲を自動更新する方法として、次の2つの方法があります。
- 値が入力されているセルの範囲を返すデータ範囲を名前定義しておき、そのデータ範囲を利用してグラフを描画します。値が入力されているセルの範囲を返すデータ範囲は十分大きな範囲で作成しておきます。
- テーブルを利用します
セルの範囲を返すデータ範囲を名前定義する方法
十分大きなデータ範囲を名前定義する
Excelを起動し、下図の表を準備します。
日付 | 値 |
2023/1/1 | 45 |
2023/1/2 | 52 |
2023/1/3 | 24 |
2023/1/4 | 54 |
2023/1/5 | 32 |
2023/1/6 | 36 |
2023/1/7 | 45 |
2023/1/8 | 28 |
2023/1/9 | 36 |
2023/1/10 | 63 |
2023/1/11 | 38 |
2023/1/12 | 122 |
2023/1/13 | 115 |
2023/1/14 | 224 |
2023/1/15 | 48 |
"日付"のセルを選択し、リボンの[数式]タブをクリックし、[名前の定義]ボタンを押します。
下図の[新しい名前]ダイアログボックスが表示されます。名前の定義の詳細に関しては
こちらの記事を参照してください。
[新しい名前]ダイアログボックスの[名前]の欄に"date"と入力します。この名前は任意です。わかりやすい名称を設定します。
[範囲]は"ブック"とします。参照範囲を下記に設定します。
=OFFSET($B$3,0,0,COUNTA($B$3:$B$1000),1)
記述の意味は下記になります。
=OFFSET((見出しのセル下のデータの先頭セル),0,0,COUNTA((見出しのセル下のデータの先頭セル):(データ範囲の十分下方のセル)),1)
補足
OFFSET関数は引数に与えられた数値の範囲を返します。詳細については
こちらの記事を参照して下さい。
補足
COUNTA関数は値が入力されている(空白でない)セルの個数を求めます。詳細については
こちらの記事を参照してください。
続いて"値"のセルを選択し、リボンの[数式]タブをクリックし、[名前の定義]ボタンを押します。下図の[新しい名前]ダイアログボックスが表示されます。
[新しい名前]ダイアログボックスの[名前]の欄に"value"と入力します。この名前も任意でかまいません。
[範囲]は"ブック"とします。参照範囲を下記に設定します。
=OFFSET($C$4,0,0,COUNTA($C$4:$C$1000),1)
記述の意味は下記のとおりです。
=OFFSET((見出しのセル下のデータの先頭セル),0,0,COUNTA((見出しのセル下のデータの先頭セル):(データ範囲の十分下方のセル)),1)
グラフの作成
続いてグラフを挿入します。リボンの[挿入]タブをクリックします。グラフのボタンをクリックし、
作成したいフラフの種類のボタンをクリックして、グラフを挿入します。
グラフが挿入できました。今回は棒グラフにしました。
データ範囲の変更
グラフをクリックし、右クリックでポップアップメニューを表示します。メニューの[データの選択]メニューをクリックします。
[データソースの選択]ダイアログが表示されます。左側の[凡例項目(系列)]欄の[値]をクリックし選択します。選択後上部の[編集]ボタンをクリックします。
[系列の編集]ダイアログが表示されます。
系列名はそのままとします。系列値を以下の文字列に変更します。
"value"は先程"値"のデータエリアを名前定義した名称になります。入力ができたらOKボタンを押します。
[データソースの選択]ダイアログに戻ります。続いて右側の[値(項目)軸ラベル]の[編集]ボタンをクリックします。
[軸ラベル]ダイアログボックスが表示されます。
[軸ラベルの範囲]欄を以下の文字列に変更します。"date"は先程"日付"のデータエリアを名前定義した名称になります。設定ができたらOKボタンを押します。
設定は以上で終了です。[OK]ボタンを押して[データソースの選択]ダイアログボックスを閉じます。
補足:SERIES関数を直接書き換える方法
GUIで操作せずに、直接SERIES関数を書き換える方法もあります。
グラフを選択し、グラフ内部の系列データをクリックして選択します。
今回の場合は棒グラフの棒の部分をクリックして選択します。
選択するとウィンドウ上部の数式バーに以下のSERIES関数の数式が表示されます。
=SERIES(Sheet1!$C$2,Sheet1!$B$3:$B$17,Sheet1!$C$3:$C$17,1)
上部の数式バーのテキストボックスで数式を以下に書き換えます。
=SERIES(Sheet1!$C$2,Book1!date,Book1!value,1)
数式を確定後、一番下の行に日付と値を追加します。値を入力すると自動でグラフが更新されます。
動作確認
1行下に日付と値を入力します。値を入力するグラフに自動で入力した日付と値が反映されます。
さらに下に値を入力するとグラフの項目も増え、値もグラフに反映されます。
テーブルを利用する方法
データが入力されている部分をテーブルに変換してよい場合は、簡単な手順で対応できます。
テーブルの作成
下図の表を作成します。
表の部分を選択して、ツールリボンの[挿入]タブをクリックし、[テーブル]ボタンをクリックして選択範囲の表をテーブルに変換します。
テーブルに変換する手順の詳細は
こちらの記事を参照してください。
グラフの挿入
テーブルを選択した状態で、ツールリボンの[挿入]タブをクリックしグラフボタンをクリックして、グラフを挿入します。
今回は折れ線グラフを挿入しました。
値の追加
テーブルに値を追加します。テーブルの一番下の行にカーソルを移動し、右gクリックします。下図のポップアップメニューが表示されます。
メニューの[挿入]サブメニューの[テーブルの行(下)]の項目をクリックします。
テーブルに行が追加されました。
日付と値を入力します。値を入力するとグラフの範囲が自動で更新され、グラフに入力した日付と値が反映されます。
同じ手順を繰り返してテーブルに行を複数挿入できます。テーブルに行を追加して値を入力すると、折れ線グラフも自動で更新されます。
テーブルを利用して、グラフを自動更新する手順を紹介しました。
このページのキーワード
- Excel グラフ 範囲 自動
- Excel グラフ 範囲 自動更新
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
掲載日: 2013-11-03
改訂日: 2023-08-28