Microsoft Excel で既存のグラフ範囲に新しい情報を追加したとき、自動的に更新されるグラフを設定するには、データを追加または削除したときに動的に変わる定義名を作成します。
ここでは、定義名を使用してグラフ範囲を自動的に更新する方法を 2 つ紹介します。
注 : ここに示す方法では、データが 200 行以下であることを想定しています。適切な数値を使用して、最大行数を反映するように、定義名を変更できます。
方法 1 : OFFSET と定義名を使用する
この方法を使用するには、実行している Excel のバージョンに応じて次のいずれかの手順を実行します。
Microsoft Office Excel 2007
-
新規のワークシートを開き、次のデータを入力します。
A1: Month B1: Sales
A2: Jan B2: 10
A3: Feb B3: 20
A4: Mar B4: 30
-
[数式] タブで、[定義された名前] の [名前の定義] をクリックします。
-
[名前] ボックスに Date と入力します。
-
[参照範囲] ボックスに =OFFSET($A$2,0,0,COUNTA($A$2:$A$200),1) と入力し、[OK] をクリックします。
-
[数式] タブで、[定義された名前] の [名前の定義] をクリックします。
-
[名前] ボックスに Sales と入力します。
-
[参照範囲] ボックスに =OFFSET($A$2,0,0,COUNTA($A$2:$A$200),1) と入力し、[OK] をクリックします。
-
セル B2 の内容を消去し、次の数式を入力します。
=RAND()*0+10
注 : この数式では揮発性の RAND 関数を使用しており、列 B に新規のデータを入力したときに、定義名 "Sales" で使用されている OFFSET 数式が自動的に更新されます。この数式で使用されている値 10 は、セル B2 の元の値です。
-
セル A1:B4 を選択します。
-
[挿入] タブで、いずれかのグラフをクリックし、グラフの種類をクリックします。
- [デザイン] タブをクリックし、[データ] の [データの選択] をクリックします。
-
[凡例項目 (系列)] の下の [編集] をクリックします。
-
[系列値] ボックスに =Sheet1!Sales と入力し、[OK] をクリックします。
-
[横 (項目) 軸ラベル] の下の [編集] をクリックします。
-
[軸ラベルの範囲] ボックスに =Sheet1!Date と入力し、[OK] をクリックします。
Microsoft Office Excel 2003 およびそれ以前のバージョンの Excel
-
新規のワークシートを開き、次のデータを入力します。
A1: Month B1: Sales
A2: Jan B2: 10
A3: Feb B3: 20
A4: Mar B4: 30
-
[挿入] メニューの [名前] をポイントし、[定義] をクリックします。
-
[名前] ボックスに Date と入力します。
-
[参照範囲] ボックスに、次のように入力します。
=OFFSET($A$2,0,0,COUNTA($A$2:$A$200),1)
-
[追加] をクリックします。
-
[名前] ボックスに Sales と入力します。
-
[参照範囲] ボックスに、次のテキストを入力します。
=OFFSET($B$2,0,0,COUNT($B$2:$B$200),1)
-
[追加] をクリックし、[OK] をクリックします。
-
セル B2 の内容を消去し、次の数式を入力します。
=RAND()*0+10
注 : この数式では揮発性の RAND 関数を使用しており、列 B に新規のデータを入力したときに、定義名 "Sales" で使用されている OFFSET 数式が自動的に更新されます。この数式で使用されている値 10 は、セル B2 の元の値です。
-
$A$1:$B$4 を選択します。
-
グラフを作成し、定義名をグラフに追加します。これを行うには、実行している Excel のバージョンに応じて次のいずれかの手順を実行します。
Microsoft Excel 97 以降 Excel 2003 まで
-
[挿入] メニューの [グラフ] をクリックしてグラフ ウィザードを起動します。
-
任意のグラフ形式をクリックし、[次へ] をクリックします。
-
[系列] タブをクリックします。[系列] ボックスの一覧で、[Sales] をクリックします。
-
[項目軸ラベルに使用] ボックスで、セル参照を定義名 Date に置き換えます。
たとえば、数式は次のようになります。
=Sheet1!Date
-
[値] ボックスで、セル参照を定義名 Sales に置き換えます。
たとえば、数式は次のようになります。
=Sheet1!Sales
-
[次へ] をクリックします。
-
グラフ ウィザードの手順 3 で必要な変更を行い、[次へ] をクリックします。
-
グラフの場所を指定し、[完了] をクリックします。
Microsoft Excel 5.0 または Microsoft Excel 7.0
-
[挿入] メニューの [グラフ] をポイントし、[新規グラフシート] をクリックしてグラフ ウィザードを起動します。
-
[次へ] をクリックします。
-
任意のグラフ形式をクリックし、[次へ] をクリックします。
-
任意のサブ形式をクリックし、[次へ] をクリックします。
-
[データ系列の方向] の [列] をクリックし、[先頭の (x) 列を項目軸ラベルに使用する] に 1 を入力し、[次へ] をクリックします。
-
表示するタイトルをクリックし、[完了] をクリックします。
新規のグラフが表示されます。
-
データ系列を選択し、[書式] メニューの [選択したデータ系列] をクリックします。
-
[X の値] タブをクリックします。[X の値] ボックスで、セル参照を定義名 Date に置き換えます。
たとえば、数式は次のようになります。
=Sheet1!Date
-
[名前/値] タブをクリックします。[Y の値] ボックスで、セル参照を定義名 Sales に置き換えます。
たとえば、数式は次のようになります。
=Sheet1!Sales
-
[OK] をクリックします。
方法 2 : データベース、OFFSET、定義名を使用する (Excel 2003 およびそれ以前のバージョンの Excel)
独自のデータをデータベースとして定義して、グラフ データ系列ごとに定義名を作成することもできます。この方法を使用するには、次の手順を実行します。
-
新規のワークシートを開き、次のデータを入力します。
A1: Month B1: Sales
A2: Jan B2: 10
A3: Feb B3: 20
A4: Mar B4: 30
-
A1:B4 の範囲を選択し、[挿入] メニューの [名前] をポイントし、[定義] をクリックします。
-
[名前] ボックスに Database と入力し、[追加] をクリックします。
-
[名前] ボックスに Date と入力します。
-
[参照範囲] ボックスに、次のように入力します。
=OFFSET(Database,1,0,ROWS(Database)-1,1)
-
[追加] をクリックします。
-
[名前] ボックスに Sales と入力します。
-
[参照範囲] ボックスに、次のように入力します。
=OFFSET(Database,1,1,ROWS(Database)-1,1)
-
[追加] をクリックし、[OK] をクリックします。
-
$A$1:$B$4 を選択します。
-
方法 1 の手順 11. を実行してグラフを作成し、定義名をグラフに追加します。
グラフに表示するデータがデータベースとして定義されていれば、新しいデータを入力したときにグラフは自動的に更新されます。
注 : 1 つの列の隣接するセルのブロックに値をプロットする系列グラフを作成していて、このセルのブロックが第 1 行から始まる場合は、次のいずれかの数式を定義名の [参照範囲] ボックスで使用できます。
=INDIRECT("Sheet1!$a$1:$a"&COUNT(Sheet1!$A:$A))
=Sheet1!$A$1:OFFSET(Sheet1!$A$1,COUNT(Sheet1!$A:$A),0)
第 1 行以外の行にあるセルから始まるセルのブロックを使用するには、最初のセル参照でその行を参照し、開始行番号を COUNT に追加して最後の行番号を探します。隣接する数値以外のエントリ (ラベルなど) をプロットするには、COUNT の代わりに COUNTA を使用します。