- 相対参照、絶対参照、複合参照の定義
- 相対参照、絶対参照のイメージ
- セル参照における「$」の意味
- 複合参照を活かした効率化の例(九九表の作成)
この記事では、Excelのセル番地の参照についてイメージしやすいようにわかりやすく解説します。
初心者の方は混乱するかもしれませんが、Excelの効率化において非常に重要な概念なので、しっかりと理解してください。
参照を理解することができれば、Excelの関数や数式を今までより遥かに効率よく使用することができるようになるでしょう。
相対参照、絶対参照、複合参照とは?
先に定義を述べて、後で具体例付きでニュアンスを分かりやすく説明します。
Excelではセルを参照するとき、A列の1行目のセルならば「A1」、列の15行目のセルならば「D15」のように表記します。
Excelではこのようなセル番地を使用して、様々な計算を行うことができます。
例えば「=A1+D15」と数式を入力することで、「A1」と「D15」に入力されている数値を足し算することができます。
このセルの参照のうち、
- デフォルトの「A1」を相対参照
- 行を意味する数値の前に「$」がついた「A$1」を複合参照(列:相対参照、行:絶対参照)
- 列を意味するアルファベットの前に「$」がついた「$A1」を複合参照(列:絶対参照、行:相対参照)
- 行と列、どりたにも「$」がついた「$A$1」を絶対参照
と呼びます。
言葉だけで説明しても非常に分かりにくいと思うので、実際に具体例を挙げてわかりやすく説明します。
相対参照、絶対参照のイメージ
このようなExcelの表があった時、商品Aに対する消費税を求めます。
消費税率は「B1」に入力されている10%を参照するため、「C4」に「=B4*B1」と入力します。
商品Aの単価1,000に対する10%の、100が算出されました。
同様に商品Bと商品Cの消費税も計算したいのでオートフィルで数式をコピーすると、
商品Bの単価2000に対する消費税は、200であるはずです。また、商品Cの単価3000に対する消費税は、300のはずですが正確に計算が行われていません。
そこで、セルの参照を確認すると、
消費税率が入力してある「B1」に対する参照が下にずれ、それぞれ「B2」と「B3」を参照していることが分かります。
これこそが、相対参照なのです。
最初に「C4」に「=B4*B1」という数式を入力しました。
この数式内の「B4」と「B1」は「C4」に対しての相対的な位置で定義されています。
つまり、
- 「B4」は、「C4」を基準にして1列左のセル
- 「B1」は、「C4」を基準にして1列左、かつ3行上のセル
として定義されているのです。
商品Bと商品Cの消費税を入力するセルは、それぞれ「C5」、「C6」です。
したがって基準のセルが変わります。
そのため数式をコピーすると、基準のセルがずれた分だけ、セルの参照も同様にずれてしまうのです。
そこで重要になってくるのが、「$」をつける絶対参照です。
一言でいえば、「$」を前につけた行および列は、基準のセルがずれても動かずに固定されます。
この例えが理解を助けるか分かりませんが、絶対参照は住所に似ているかもしれません。
東京都○○区○○丁目○○~
と指定すれば、その場所は一つに定まります。誰から見てもずれることはありません。
一方で、誰でも知っているような有名スポット(基準のセル)の近くに住んでいる人の家の場所を説明するときは、その有名スポットの隣だよと説明したほうが分かりやすいですよね。こちらが相対参照のイメージです。
この説明がピンとこない人は、とりあえずExcelの参照では、
とさえ、覚えておけば大丈夫です。
ちなみに、相対参照、複合参照、絶対参照の切り替えは「F4」キーで行うことができます。
セル番地を指定して、「F4」キーを押すごとに、
- 「$A$1」絶対参照 「F4」キー 1回
- 「A$1」複合参照(列:相対参照、行:絶対参照) 「F4」キー 2回
- 「$A1」複合参照(列:絶対参照、行:相対参照) 「F4」キー 3回
- 「A1」相対参照 「F4」キー 4回
と参照が変化します。
先ほどの例で、実際に試してみましょう。
「C4」に「=B4*B1」と入力する際、「B1」に対して「F4」キーを一度押し、「=B4*$B$1」と絶対参照で入力します。
同様に商品Bと商品Cの消費税も計算したいのでオートフィルで数式をコピーすると、
今度は、正しく消費税が計算され、セルの参照を確認しても参照がずれていないことが分かります。
九九表を作ってみよう!
相対参照、絶対参照の理解は、Excelの効率化にかかせません。
相対参照、絶対参照を理解しているかを確かめるため、懐かしの九九表を作ってみましょう。
参照を正しく理解している人ならば、一瞬で作れます。
では、この1×1のセルにどのような数式を入力すればよいかを考えましょう。
くり返しになりますが、
です。
「C3」に「=C$2*$B3」と入力すればいいと分かりましたか?
オートフィルで縦と横にコピーして九九表の出来上がりです。
9×9も81と正しく算出されています。
参照の指定に慣れないうちは、オートフィル後の参照を確認して目的のセルが指定されているのかを、きっちり確認することをお勧めします。
ちなみに行と列の参照を間違えて、「C3」に「=$C2*B$3」と入力して、コピーすると
こうなります。
相対・絶対参照のミスは、目的と全く合わない結果を示してしまうことがあるので、正しい結果かどうかの確認は必ず行うようにしてください。
参照は一度、理解してしまえば何ともないのですが、人によっては少し混乱するかもしれません。少しずつ着実に理解していきましょう。
さらにMOSについて、勉強したい方は参考書を利用しましょう。