Excel2007-12: 絶対参照の応用〜三次元グラフ

Excel2007-11: 絶対参照とは何か〜グラフの例をもとにで絶対参照について学んだ。

もう一つ絶対参照が必要になる例として、三次元グラフの作成法を学ぼう。
三次元のグラフとは下図のように、x, y の値を元に z の値を計算してプロットするようなグラフである。

二次元グラフと同様にまずデータの表を作成することから始めるのであるが、
そこで絶対参照の知識が必要になる。





三次元グラフを描く〜準備

描くグラフは、以下の式で表されるものである。



三次元グラフを作成する際、入力 (x,y) を 出力 z に結びつける対応表が必要になるが、
それをするための準備を行う。

まず、Ctrl-a でセル全体を選択し、列名を表すアルファベット (ここでは「B」とした) 上で
マウスの右クリックから「列の幅」を選択しよう。



すると、以下のようにセルの幅を指定できるウィンドウが現れるので、「5」を入力して OK しよう。



すると、以下のように列の幅がやや狭くなる。
以上の操作は必須ではないが、セルの広い範囲を見ることができるので以下の作業がわかりやすくなる。



まず、入力 y の値を作成しよう。-2 < y < 2 の範囲で 0.2 刻みのデータを作成しよう。
そのために、セル A2、A3 に -2、-1.8 と記述し、この2つのセルを選択する。



いつも通りオートフィルで 2 までの値を作成する。



次に入力 x の値を作成しよう。やはりこちらも -2 < x < 2 の範囲で 0.2 刻みのデータを作成しよう。
セル B1、C1 に -2、-1.8 と記述し…



オートフィルで 2 までの値を作成する。オートフィルは横方向もできることに注意しよう。



これで準備は整った。先へ進もう。



三次元グラフを描く〜悪い例

まず、絶対参照が必要であることを実感するため、間違った方法で三次元グラフを描いてみよう。

まず、セル B2 に式を記述しよう。ここで記述する式は



であったから、以下の図のように記述すれば良い。ここで、「x^y」は「xy」 (x の y 乗) に相当する。



Enter で確定すると、値が 3E-4 と表示される。(これは 3×10-4、すなわち 0.0003 のことを表す。)



この式をコピーしてみよう。

斜めにオートフィルしたくなるところだが、オートフィルは一方向にしかできない。
よって、まず縦方向にオートフィルしよう。



そしてそれをそのまま横方向にオートフィルする。これでデータは完成したはずである。



そこで、表全体を選択しなおす。



そして、グラフを作成する。 リボンの「挿入」タブから「その他のグラフ」→「3-D 等高線」を選択しよう。



現れたグラフは以下のように、滅茶苦茶なものである。何か表作成の過程で問題があったと考えられる。



何が問題だったのだろうか?
それは、やはり相対参照の意味を丁寧に考えると明らかになる。

セル B2 の値は、セル B1 とセル A2 を参照することで計算されているのであった。
相対参照の意味より、この式をセル D5 にコピーすると、セル D4 と C5 を参照するようになってしまう。

図からわかるように、この参照は誤りである。



正しくは、下図のように、セル D5 はセル D1 と セル A5 を参照すべきである。
つまり、行方向は行 1 を、列方向は列 A を常に参照すべきだということである。(図中緑の四角に注意)




三次元グラフを描く〜正しい例



さて、式を正しく記述して正しい三次元グラフを作成しよう。
上の議論から、行方向は行 1 を、列方向は列 A を常に参照すべきだということまで理解してもらえたと思う。

このように、常に参照して欲しい行や列に「$」をつけると絶対参照になる。
具体的には、下図のように式の中の「A」を「$A」に、「1」を「$1」にすれば良い。



この式を B 列全体にオートフィルでコピーする。



そしてそのまま横方向にもオートフィルでコピーする。すると、滅茶苦茶だったグラフが正しいグラフになった。



このように、三次元グラフでは絶対参照の知識が必須である。



←Excel2007-11: 絶対参照とは何か〜グラフの例をもとにExcel2007-13: 種々の統計量と相関係数→

Office 2007 の基礎に戻る