Excelで数式を作ったあと、それをコピーして他のセルに貼り付けたら、思っていたのと違う結果になった——高校の情報の授業でExcelを習い始めると、まず最初にここでつまずく人がとても多いです。原因のほとんどは「相対参照」と「絶対参照」の違いを理解できていないことにあります。
この記事では、相対参照・絶対参照・複合参照の違いと、$マークの意味を、具体例を使ってわかりやすく解説します。VLOOKUPやCOUNTIFSなど他の関数を理解するための土台になる内容なので、まだ自信がない人はここでしっかり整理しておきましょう。
相対参照とは
Excelでは、何も指定しなければセルの参照は「相対参照」になります。相対参照は、数式が入っているセルから見た位置関係(相対的な位置)で参照先を記憶する方式です。
たとえば、C2セルに =A2*B2 という数式を入力し、それをC3・C4…にコピーすると、数式は自動的に =A3*B3、=A4*B4…というように、コピー先に合わせて行番号がずれていきます。
| コピー先のセル | 実際に入る数式 |
|---|---|
| C2(元のセル) | =A2*B2 |
| C3 | =A3*B3 |
| C4 | =A4*B4 |
この「コピーすると参照先が自動でずれる」性質が相対参照の一番の特徴です。同じ計算を大量の行に一気に適用したいときに便利です。
絶対参照とは
一方、コピーしても参照先を絶対にずらしたくない場合があります。たとえば「消費税率が入力されているセル」や「割引率の一覧表」のように、どの行にコピーしても常に同じセルを見てほしいケースです。
このときに使うのが絶対参照です。行番号・列番号それぞれの前に$(ドルマーク)を付けることで、その部分をコピーしてもずらさないように固定できます。
| コピー先のセル | 元の数式が =A2*$B$1 の場合 |
|---|---|
| C2(元のセル) | =A2*$B$1 |
| C3 | =A3*$B$1 |
| C4 | =A4*$B$1 |
A列側(左側の数値)は相対参照のままなので行ごとにずれていきますが、$B$1だけはどの行にコピーしても変わりません。これが絶対参照です。
$マークの意味を整理しよう
$マークは「列」と「行」それぞれに個別に付けることができます。これを理解すると、あとで説明する「複合参照」もスムーズに理解できます。
$A$1:列(A)も行(1)も固定する=完全な絶対参照$A1:列(A)だけ固定し、行(1)は相対参照のままA$1:行(1)だけ固定し、列(A)は相対参照のままA1:列も行も固定しない=相対参照
つまり「$が付いている部分は固定される」「$が付いていない部分はコピー先に合わせてずれる」というシンプルなルールだけ覚えておけば大丈夫です。
キーボードでの切り替え方(F4キー)
数式バーで参照したいセルにカーソルを合わせた状態でF4キーを押すと、次の順番で参照の種類を切り替えることができます。毎回$を手入力する必要はありません。
A1 → $A$1 → A$1 → $A1 → A1(元に戻る)
複合参照とは
「列だけ固定」「行だけ固定」のように、行と列のどちらか一方だけを固定する参照方法を複合参照と呼びます。よく使われるのは、縦横に広がる一覧表(九九の表のようなもの)を1つの数式だけで作りたいときです。
たとえば、行方向にも列方向にもコピーして使いたい表では、「縦にコピーしたときは行を固定したい」「横にコピーしたときは列を固定したい」という場面が出てきます。このようなときにA$1や$A1のような複合参照を使うことで、1つの数式を表全体にコピーするだけで正しい計算ができるようになります。
よくある間違い
- 一覧表を参照する数式(VLOOKUPやCOUNTIFSの検索範囲など)を作るときに、範囲を絶対参照にし忘れてコピーすると、行がずれるごとに参照先の表がズレてしまい、正しく検索・集計できなくなる
- 逆に、本来ずらしたい部分まで$で固定してしまい、コピーしても計算結果が全部同じ値になってしまう
- $の位置を間違える(
$A1とA$1を混同する)
特にVLOOKUPやXLOOKUP、COUNTIFSでは「検索する値」は相対参照のまま、「検索対象の表(範囲)」は絶対参照にする、という組み合わせがとてもよく出てきます。ここを意識できるようになると、関数の理解がぐっと楽になります。
まとめ
相対参照・絶対参照・複合参照の違いは、文章で読むだけでなく、実際に数式をコピーして「参照先がどう変わるか」を自分の目で確認するのが一番の近道です。
以前紹介した「Excel演習ドリル」では、この記事で説明した参照のズレ方をそのまま選択式クイズで確認できます。VLOOKUPやCOUNTIFSの問題も含まれているので、この記事を読んだあとにぜひ挑戦してみてください。


コメント