相対参照と絶対参照

数式で指定する参照には「相対参照」と「絶対参照」の2つの形式があります。この違いをしっかり理解しましょう。特に数式をコピーした時の挙動が違うので注意してください。

「相対参照」と「絶対参照」は「コンピュータ内部で参照先をどのように指定しているか?」言い換えると「どのような座標を使って参照先を指定しているか?」という違いに関する話です。

初めて聞いたときは、難しく感じるかも知れませんが、しっかりと考えて悩んで違いの分かる人になれるよう努力してください。1回の講義では完全に理解できないかもしれませんが、分かってしまえばそれほど難しい話ではありません。

相対参照

セル「B2」に「あああ」と入力して、「C4」に「=B2」と入力してください。「C4」には参照先の内容「あああ」が表示されます。

sansho1

数式が入っているセルを基準(原点)にした座標を「相対座標」といいます。

相対参照では相対座標で参照先を指定しています。上の例では「C4」のセルを基準に「1左2上」という指定です。

sansho2

セル「C4」の数式をコピーしてセル「E7」に貼り付けしてみましょう。数式バーを見ると参照先が「=D5」になってます。

sansho3

これはセル「E7」を基準に「1左2上」という指定でセル「D5」を指定してることになります。「D5」には何のデータも入ってないので「E7」には「0」と表示されます。

sansho4

相対参照では数式が入ってるセルを基準に参照先を指定している。そのためコピーして別のセルに数式を貼り付けるとコピー先のセルを基準に参照先を指定します。その結果、参照先の番地がずれます。

絶対参照

どのセルに対しても絶対に変わらない基準(絶対原点)を用いた座標を「絶対座標」といいます。

絶対参照では絶対座標で参照先を指定しています。

絶対参照では列番号や行番号の前にドルマーク「$」を付けます。数式入力中にキーボードの「F4キー」を押すことでもドルマークをつけることができます。

セル「B2」に「あああ」と入力してセル「C4」に「=$B$2」と入力してください。「C4」には参照先の内容「あああ」が表示されます。

sansho5

見た目の結果は相対参照と同じなのですが、絶対参照では絶対座標という形式で参照先を指定しています。この例では左上の端を基準に「2右2下」という指定になります。

sansho6

セル「C4」の数式をコピーしてセル「E7」に貼り付けしてみましょう。数式バーを見ると参照先が「=$B$2」になってます。

sansho7

コピー先でも左上を基準に「2右2下」という指定のままなのでセル「B2」を参照していてその中身の「あああ」が表示されます。

sansho8

絶対参照では左端、上端を基準に参照先を指定している。そのためコピーして別のセルに数式を貼り付けても左端、上端が基準のままです。その結果、コピー先のセルでも参照先の番地がずれません。

まとめ

複合参照

絶対参照の「$」は列番号と行番号に対して別々に設定できます。

例題や課題をやってみて、コピーしたときの挙動を確認してみましょう。

後々コピーする必要がなければ、どちらの参照を使っても数式の計算結果は同じですが、数式のコピーを使って楽をしたいときはこの機能は必修です。(実際にはコピーを使わないと時間がかかって仕事になりません。)

なんで「$」記号なのか?

ドル記号「$」には深い意味はありません。

昔はコンピュータで扱うことができる文字や記号が、今よりもうんと少なかったのです。掛け算記号「×」がなかったのでアスタリスク記号「*」で代用したりしていました。昔の環境では文字記号エックス「x」と掛け算記号を使い分けられるような表示装置がなかったのかも知れません。

表計算アプリを作ったプログラマーが絶対参照の記号に「$」を選んだことが受け継がれている、と考えてください。

課題

基礎課題3  (←右クリックで保存せよ。)

課題は答えが合ってさえいればよいというわけではありません。何となくやるのではなく、なんでそうなるのか納得するまでしっかりと考えてください。


(情報処理演習TOPに戻る)   (藤本の担当講義に戻る)