この記事の目的
Excelにおける概念『相対参照』と『絶対参照』の違いを理解し、適切に使えるようにします。
主にオートフィルをうまく使う上で必要になってくる知識です。
そもそも相対参照・絶対参照って?
まずは言葉の意味から。
『参照』ということばは
照らし合わせて、参考にすること
出典:デジタル大辞泉
と説明されています。
まぁこれはふつうに使われる言葉なので理解しやすいですね。
『相対』と『絶対』はそれぞれ対照的な(逆の)意味を表す言葉で、
【相対的】他との関係において成り立つさま
【絶対的】他の何物ともくらべようもない状態・存在であるさま出典:デジタル大辞泉
とちょっとわかりにくいですが、『相対』は他の何かと関係し、『絶対』は他の何とも関係しない、というイメージだけおさえておいてください。
Excelではどう使われているの?
では実際にExcelでどのように使われているのかをご説明します。
わかりやすく例示しましょう。
サンプルファイル
サンプルファイルはこちらからDLできます。(※ご利用は自己責任でお願いします)
相対参照
まずはこのような簡単なデータを考えます。
C列にA列とB列の同じ行の数字を足した結果を求めます。
つまりこういうことです。
この場合、C2に『=A2+B2』と入力し、下にオートフィルしますよね。
そうすると、うまいことC3にはA3+B3の結果が入力されるし、C4にはA4+B4の結果が入力されるし、というように合計を入力する列が1つ下に下がると、計算元のセルも1つ下に下がった位置のセルが対象になる、という動きをします。
これを相対参照といいます。先ほど言ったように『相対』とは他の何かと関係するもの。合計セルが移動したぶん、それを参照して計算元セルも同じだけ移動する、たしかに双方が関連性を持った参照の仕方をしていますよね。
絶対参照
さて、お次はこんなデータを考えてみましょう。
C列を入力したいとします。
まぁC2を入力したければ『=B2*B8』で求められることは分かりますよね。
(今回は本題から外れちゃうので小数点は気にしないでください)
これも先ほどと同じようにC6までオートフィルすると、
おや、思ったようにいかないですね?
C3を見てみるとB3にB9の値を掛けていました。なるほど、B9は何も入力されていないセル、つまりゼロなので掛け算したらゼロになってしまいますね。
C3~C6も同様にB8を見てほしいのにC2から下にずれた分と同じだけ、参照先がB8から下にずれてしまうのでうまくいきません。
こんなときはB8だけ動かないように固定してしまいましょう。
このように、C2に入力している『B8』を『$B$8』にしてみます。
『$ (半角ドル記号)』は『Shift+4』です
そして先程と同様にC6までオートフィルします。
今度は想定通りの結果が得られたと思います。
きちんとB列は下にずれつつ、消費税率の入力されたB8セルは固定されて動いていないですね。
このようにオートフィルで入力位置が下にずれていっても、そんなの関係ねぇ、と参照セルが変化しない、固定される参照の仕方を『絶対参照』といいます。
すげーシンプルにまとめます。
相対参照と絶対参照
- オートフィルで一緒に参照先が動くのが相対参照、動かないのが絶対参照
- 何もしなければ相対参照になるし、絶対参照にしたければ『$』を付けてやればいい
プラスアルファ
列だけ絶対参照、行だけ絶対参照
少し難しい話です。わからなければ軽く読むだけでいいと思います。
こんなサンプルを使います。
A7に『=A1』と入力すると当然A7に『あ』が入ります。
これは相対参照なので、A7から下に5行分オートフィルするとA1から下に5行分の内容が挿入されますね。
そしてこのままE列まで今度は横にオートフィルします。
相対参照なので上と同じように挿入されますね。ここまでは理解しやすいと思います。
次に『$』を付けて絶対参照にしてみましょう。
同様に下に向かってオートフィルします。
今回は絶対参照なので、オートフィルで下に移動しても、参照位置は絶対変わりません。
つまりA7~A11のすべてがA1を参照するので、全てにA1と同じ『あ』が入ります。
続けて横向きにオートフィルしても関係ありません。参照位置は変わらず絶対にA1です。
これも絶対参照を理解していれば納得できる結果だと思います。
さて、問題は次。
先ほどのように列を表す『B』と行を表す『8』の両方の前に『$』をつけると列も行も固定する絶対参照になります。
絶対参照には列または行のみを固定する絶対参照というのもあります。
その例を見てみましょう。
今度はA7に『=A$1』と入力してみます。Aの前には$を付けず、1の前にだけ$を付ける形式です。
先ほど同様に下に向かってオートフィルします。
行(今回は『1』)を固定する『$』を付けているので、『1行目』を固定することを意味します。
そのため縦方向のオートフィルは絶対参照となり、見ている位置はA1から変わりません。
次に横方向にオートフィルします。
今回は『=A$1』と行のみを固定する絶対参照にしたので、列をまたぐ横向きのオートフィルは相対参照になります。
『A』の前には『$』を付けていないですからね。
このように一方方向のみを絶対参照にする方法もあります。
念の為逆のパターンも示しておきます。
A7に『=$A1』を入力して同様に下にオートフィルします。
今回は列である『A』のみを固定しています。
そのため行をまたぐ縦方向のオートフィルは相対参照になります。
逆に横方向はA列で固定しているので、列をまたぐ横方向のオートフィルは絶対参照になります。
そのため、参照先はA列から変わりません。
このように一方方向のみを固定する方法があることもぜひ知っておきましょう。
『$』をサクッと楽に入力する
絶対参照したいときに入力した『$』の記号、『Shift+4』で入力と書きました。もちろん正しいです。
しかしもっと楽な方法があります。
『F4 (ファンクション4)』キーです。
先ほどの消費税のデータでいうと、B8セルの『B8』のところにカーソルを持っていき、『F4』キーを押すと『$B$8』に変わります。
再びF4キーで『B$8』、更にF4で『$B8』、更にF4で『B8』に戻ってきます。
つまり『F4』キーをだけで相対参照、絶対参照、行だけ絶対参照、列だけ絶対参照とスイッチしていくことができるんです。
『&』を入力するよりも『F4』のほうが断然ラクなので絶対に覚えておきましょう。
まとめ
今回は相対参照と絶対参照という概念を説明しました。
これを知らないとオートフィルを使いこなすことができませんのでしっかり理解しておきましょう。