Excel 相対参照・絶対参照」記事で、Excelの特徴的なセル参照「相対参照」「絶対参照」について解説しました。
私共の教室でも「相対参照」「絶対参照」の説明をしても受講者から「分からない」という声をたびたび耳にします。
どうやら、次のような考えが浮かび、スッキリと頭に入っていかないようです。

Excelでは、セルを参照するのに列番号と行番号とを組み合わせて、例えば「C3」というように指定します。
このセル参照を「相対参照」と呼びますが、「C」列「3」行というように絶対的な番号で参照しているのに「相対」と呼ぶことに違和感がある‥‥。

相対参照
「相対参照」というのは、式が入力されたセルから“相対的な”位置によって他のセルを参照する方法です。
例えば、下図のように、E2セルに入力された「=A1+B1+C1」という式は、E2セルから見て左に4つ 上に1つ進んだセル(A1)の内容と、左に3つ 上に1つ進んだセル(B1)の内容と、左に2つ 上に1つ進んだセル(C1)の内容とを加算した結果を返すという意味になります。

 

その E2セルを E3セルと E4セルにコピーしてみます。
すると、E3セルは「=A1+B1+C1」ではなく「=A2+B2+C2」になり、E4セルは「=A3+B3+C3」になります。
つまり、E3セルについては、E3セルから見て、左に4つ 上に1つ進んだセル(A2)の内容と、左に3つ 上に1つ進んだセル(B2)の内容と、左に2つ 上に1つ進んだセル(C2)の内容とを加算するという数式を表しており、そのようなセル参照の方法はそのまま E2セルと同じですね。
E4セルについても同じです。

ここまでをまとめると、相対参照というのは、参照元のセルから参照先のセルの位置を相対的に見たセル参照であり、それをセル番地として表したものとなります。

絶対参照
それでは「絶対参照」の例を見てみましょう。
絶対参照とは、式が入力されたセルの位置に関わらず、絶対的な位置によってセルを参照する方法です。
下図のように、E2セルに入力された「=$A$1+B1+C1」という式は、A列の1行目のセル(A1)の内容と、E2から見て左に3つ 上に1つ進んだセル(B1)の内容と、左に2つ 上に1つ進んだセル(C1)の内容とを加算した結果を返すという意味になります。

 

したがって、E2の結果は相対参照と同じく63となります。

一方、E2セルを E3セルにコピーしてみると、E3の内容は「=$A$1+B2+C2」になります。
つまり、A列の1行目のセル(A1)の内容と、E3から見て左に3つ 上に1つ進んだセル(B2)の内容と、左に2つ 上に1つ進んだセル(C2)の内容とを加算した結果になります。
したがって、E3の結果は65になります。

複合参照
「絶対参照」を表わす「$」は、行・列の一方にだけ付けることも出来ます。
このような参照を特に「複合参照」と呼ぶことがあります。
例えば、下図の例では、E2セルに入力された「=$A1+B1+C1」という式は、A列の E2から見てみて上へ1個進んだセル(A1)の内容と、E2から見て左に3つ 上に1つ進んだセル(B1)の内容と、左に2つ 上に1つ進んだセル(C1)の内容とを加算した結果を返すという意味になります。

 

この E2セルを E3セルにコピーしてみると、E3の内容は「=$A2+B2+C2」になります。

A1参照形式」と「R1C1参照形式
ところで、セル参照には「A1参照形式」と「R1C1参照形式」とがあります。
Excelの初期設定では「A1」形式ですが、「R1C1」形式にも切り替えられます。
[ファイル]-[オプション]-[数式]の「数式の処理」項にある「R1C1参照形式を使用する」にチェックします。

「A1」形式では列・行の順で番地を表しますが、「R1C1」形式では行・列の順で表します。
「A1」形式で「E3」セルが選択されていて、このセルから「B2」セルを参照してみると。「A1」形式では「=B2」ですが、「R1C1」形式では「=R[-1]C[-3]」になります。

つまり、「=R[-1]C[-3]」とは「このセルから縦に一つ戻り、横に二つ戻った位置にあるセルを参照しています」と同義ということです。
R1C1参照形式が、参照する側と参照する対象のセルの関係を、より具体的に表現していることがわかると思います。

ただし、R1C1参照形式が「相対参照」であるという理解は間違いです。
R1C1参照形式でも、例えば「=R[-1]C[-3]*R1C1」のように、絶対参照も複合参照もできます。

名前付け
実は、あるセルまたはセル範囲に名前付けすると「絶対参照」となります。
[数式]-[定義された名前]-[名前の管理]をクリックすると、このブック内で定義されている名前が一覧表示されます。
そのいずれも、「参照範囲」欄をみると絶対参照であることが分かります。

名前付けされたセルやセル範囲は、移動しても、それを参照する数式には影響しません。
例えば下図の A1セルに「HOME」と名付け、E2セルで「=HOME+B1+C1」としてそれを参照したとします。

 

そして、元の「HOME」セルを移動しても、参照した E2セルは何ら問題なく表示されます。

 

構造化参照
この次のステップとしては、「テーブル」として知られる「構造化参照」ということなります。
テーブルに数式を追加する場合、それらの名前を手動で入力しなくても、テーブルに数式を入力してセル参照を選ぶと、名前が自動的に表示されます。 
下図は、先ほどと同じ数値データ範囲をテーブル化し、改めて E3セルに横一行の合計を求めているところです。

 

E3セルには「=テーブル1[@列1]+テーブル1[@列2]+テーブル1[@列3]」と入力されています。
「テーブル1」がしのテーブルの名前、「列1」「列2」「列3」がそれぞれの項目の名前です。

構造化参照(テーブル)では、「名前付け」も「セル参照」も不要になります。
もちろん、名前付けすることも、セル参照することも可能ですが‥‥。

いかがでしょう。
いくつかの例を見ながら Excelでの「セル参照」の様子がお分かりになりましたでしょうか。