この記事を読んでわかること
- Excelの参照(絶対参照・相対参照)について学べる
- 参照にしかたを知ることができる
- 参照エラーの原因と対処法がわかる
- 関数を使った参照例を知ることができる
-著者情報-
名前:Utatane
Excel使用歴:15年以上
ひとこと:初心者だった当時に戻った気持ちになって解説いたします
※わかりやすさを重視しております。厳密には解釈が異なる場合がありますことをご了承ください。
実演パソコンのスペック(ソフトやバージョンによっては、表示や結果が異なる場合があります)
- OS:Windows11 Home 64bit
- Excel:Microsoft Office Home and Business 2021
Excelの参照とは?
参照とは、別のセルの値を表示したり使用したりすることをいいます。
参照を行うことで、別のセルの値で計算をしたり、関数の引数として使用したりもできます。
引数については下記記事をご参考ください。
参照には大きく分けて3つの種類があります。
相対参照
最も基本的な参照方法です。
下図のように、B1セルに「=A1」と入力することで、A1セルと同じ値を表示することができます。

相対参照の特徴として、別のセルにコピーすると参照先のセルが変わるという点です。
例えば上図の例では、B1セルをB2にコピーするとA2セルを参照するようになります。

同じく右へコピーすると、「=C1」「=D1」のように変わっていきます。
学校の座席を例にするとわかりやすいかと思います。
自分の席が真ん中にあったとします。
隣の席やナナメ前の席のように、自分の席を基準とした参照方法が相対参照です。

ですので自分の席が1つ後ろに変わったら、参照する席も変わってしまいます。

絶対参照
絶対参照は、参照先を固定する参照方法です。
下図のように「$」マークが参照に付いていれば絶対参照の目印となります。

前項の相対参照と違って、セルをコピーしても参照先は変わりません。

混合参照
混合参照は、相対参照と絶対参照を合わせた参照方法です。
「=$A1」や「=A$1」のように行か列の片方が相対参照、もう片方が絶対参照となっている場合を混合参照といいます。
「=$A1」は列だけが絶対参照で固定されているため、右のセルにコピーしても「=$A1」となり、「B列」に変わったりしません。
しかしながら、行は相対参照で固定されていないため、下のセルにコピーすると「=$A2」のように変わります。
「=A$1」は「=$A1」とは全く逆のことが起こるわけです。
稀に列だけ固定したい、行だけ固定したいという場面が出てきますので、余裕があれば覚えておきましょう。
参照のしかた
ではそれぞれの参照のしかたを見ていきましょう。
今回は、B2セルにA1セルを参照する数式を入力してみます。
まずB2セルを選択したら、そのままダブルクリックするか、F2キーを押して編集モードにします。
(セル内でカーソルが点滅していたら編集モード)

セル内に「=(イコール)」を入力します(「Shift」キーを押しながら「-」キーを押す)

全角でも半角でも構いませんが、この後のことを考えると、半角の方が作業しやすいかと思います。
全角のイコール:=
半角のイコール:=
続けて「A1」と入力するか、「A1」セルを選択しましょう。

これが相対参照です。
次に絶対参照のしかたです。
相対参照の状態で「F4」キーを押してみましょう。
(もちろん「$」を直接入力してもいいです)

「=A1」が「=$A$1」となり、絶対参照に変わりました。
そのままF4キーを押すたびに、「=A$1」→「=$A1」→「A1」→「=$A$1」と変わっていきます。
これで混合参照も簡単に行えます。
Enterキーを押すと、参照が確定されます。
範囲セルを参照
「A1~B3」のように、範囲のセルを参照することも可能です。
前項ではセル1つをクリックして参照しましたが、
A1~B3のセルをドラッグして範囲選択します。

「=A1:B3」と表示されたら成功です。
もちろん「=A1:B3」と直接入力してもOKです。
行・列を参照
一行、一列を参照することもできます。
セルに「=」を入力したら、参照したい列(Aの部分)をクリックします。

「=A:A」というように表示されれば成功です。
行の場合も同様で、「1」の部分をクリックすることで、「=1:1」と表示され、一行を参照することができます。
複数の行・列を参照することも可能です。
範囲選択した時のように、A→Cへとマウスをドラッグして列を範囲選択してみてください。

「=A:C」と表示されれば成功です。
別シートのセルを参照
別シートのセルを参照したい場合もあるかと思います。
そんな時は、以下のようにやってみてください。
セルに「=」を入力するところまでは前項と同じです。

次に、参照したいセルがあるシートタブ(画面下部)をクリックします。
そしてそのまま参照したいセルをクリックします。

もちろん、シートやセルをクリックせず「=シート名!セル名」と直接入力してもOKですが、
書き間違うとエラーが発生しますので注意してください。
(「!」はシート名がここで終わりという意味です)
別ブックのセルを参照
別ブックのセルを参照することもできます。
やり方は別シートの時とほぼ同じです。
セルに「=」を入力したら、参照するセルがあるブック(画面下部)をクリックします。

あとは「シート」→「セル」の順にクリックすればOKです。

もちろんブックをクリックせず、直接「[ファイル名]シート名!セル名」と入力してもOKですが、
書き間違うとエラーが発生しますので注意してください。
([]内がファイル名を指します)
別ブックのセルを参照した場合、自動的に絶対参照になります。
相対参照にしたい場合は「$」を消すか、「F4」キーを何度か押して相対参照に戻してください。
参照先のブック(ファイル)を閉じてしまうと、エラーが発生して参照が崩れる場合があります。
ブックを閉じる前に値のみ貼り付けをして参照を解除しましょう。
関数の引数に参照を使う
参照したセルの値を関数の引数に指定してみましょう。
今回は説明しやすい「SUM」と「LEFT」を例に挙げて解説いたします。
関数の基本的な使い方は下記記事をご参考ください。
SUM
SUMは複数のセルの値を合計する関数です。
今回はA1~C1の値を合計してみましょう。
セル内に「=sum()」と入力したら、()内にカーソルを入れます。

あとは参照するセルを範囲選択したら、Enterキーを押して完了です。


別シートや別ブックのセルを合計することもできます。
LEFT
LEFTは、指定した文字列を指定の文字数分だけ抜き取る関数です。
今回はA1に表示された文字列を、B1に表示された文字数分だけ抜き取ってみましょう。
セル内に「=left()」と入力したら、()内にカーソルを入れます。

A1を選択すると参照され、()内にA1と入ります。
これが第一引数(文字列)となります。

そのまま「,」を入力して区切ります。
ここからは第二引数である文字数の指定です。
さきほどと同様にB1セル選択します。

B1が()内に入力されたら、Enterキーを押して完了です。

文字列「Utatane」の左から3文字分(Uta)が抜き取れました。
参照エラー「#REF!」の原因と対処法

セルに「#REF!」と表示された場合は、参照先のセルが存在しないか、無くなったことが原因です。
下記のような心当たりが無いか思い出してみましょう。
- セル内に直接入力して参照した(スペルミスの可能性)
- セル・行・列・シートを削除した
- 別ブックを参照していて、そのブックを閉じた
保存する前なら元に戻す(「Ctrl」キーを押しながら「Z」キーを押す)ことで復元できる場合があります。
しかしながら、保存してブックを閉じてしまうと、復元することはできません。
作業前にバックアップ(複製保存)を必ず行うようにしましょう。
INDIRECT関数で動的な参照を実現
ちょっと特殊な参照方法をお見せしましょう。
実践で使うことはほぼありませんが、こんな参照方法もあるんだと、休憩のつもりで見てください。
現在、下図のように「A1」に「Utatane」という文字列が入っており、
A2にはA1という文字列が入っています。

この状態でA3に「=INDIRECT(A2)」と入力してみましょう。

セルには「Utatane」と表示されました。
A1セルを参照したわけではないのに不思議ですよね。
INDIRECT関数は、参照先のセルの値を参照先にするという特殊な関数です。
何を言っているかわからないですよね。
今回の場合は、「=INDIRECT(A2)」でA2セルを参照しましたが、A2セルに「A1」と表示されていたため、参照先がA1に変わり、「Utatane」と表示されたということです。
A2セルの値をB1に変えると、参照先はB1に変わります。

A3セルの値がB1セルの値であるプリンに変わりました。
最後に
Excelの参照について解説いたしました。
当ブログでは、VBAマクロやPythonなど、時間を生み出すプログラミング術を公開しております。
この記事がわかりやすいと感じた方は、他の記事も読んでいってください。
最後までお読みいただき、ありがとうございました。がんばってください!