応募する

応募する

Tel.03-4500-9361 / 受付時間:平日10:00~19:00

こちらは全て株式会社エージェントゲートでの採用・募集となります。

エクセル(Excel)の参照とは?相対・絶対・複合参照について解説

エクセルでわからない関数の使い方を調べていると、「絶対参照」や「複合参照」といった、いくつかの「参照」という言葉が出てきます。何がどの参照なのかを知らなければ、関数を使いたくても使えません。

この記事では、エクセルにおける「相対参照」「絶対参照」「複合参照」を解説します。それぞれの特徴やできること、注意点をエクセルの画像付きで解説しているので、ぜひ参考にしてください。

目次

エクセル(Excel)の参照とは

エクセルにおける参照とは、特定のセル番地を指定することです。一般的な参照の意味は、「ほかのものと照らし合わせること」となっており、セルに数字や文字、記号といった情報を格納できるエクセルでは、セル番地を指定すると、そのセルに入っている情報を取得できます。

例えば「=A4*5」といった、セルに任意の数字を掛け算する数式を書いたり、合計値を求めるSUM関数を使って「=SUM(A1:A5)」といった表現が可能です。

参照には「相対参照」「絶対参照」「複合参照」の3種類があります。順に見ていきましょう。

相対参照

エクセルの相対参照は、セルの位置をずらしながら参照する方法です。例えば、下記のような価格表があったとします。

それぞれの商品単価と個数をかけ合わせて小計を出す際、効率的なのは「オートフィル」を使う方法です。

まずE3セルに”もも肉の小計”を求める数式を入力します。「=C3*D3」という数式になります。Enterを押して数式を確定させたら、計算結果が出力されるので、下方向にドラッグして「オートフィル」をかけましょう。自動的に小計が合計されました。実はこの時、「相対参照」が働いて参照する値がずれています。

絶対参照

相対参照は参照するセルがズレていく参照方法であるのに対し、エクセルの絶対参照は、「セルの番地を固定して数式の処理を行う」参照方法です。相対参照は何もしなくても数式にできますが、絶対参照は半角のドルマーク($)を付与しなければなりません。

例えば、「A4セル」に対して、絶対参照は下記のように使います。列と行のうち、固定したい方の前にドルマークを付与します。どちらも動かしたくない場合は、行と列それぞれの前にドルマークを付与しましょう。

A4セル相対参照。行も列もズレる
$A4セルA列からは動かさず、行数だけをズラす
A$4セル4行目からは動かさず、列だけをズラす
$A$4セル列も行もズラさない。A4セルだけを参照する

絶対参照は、参照先のセルを絶対に動かしたくない場合に使う参照方法です。全体に占める割合を計算する際は、よく使われます。

例えば各商品の小計が、売上総合計の何%にあたるのかを計算するような時です。もも肉が合計金額に占める割合を求める場合、「小計/総合計×100」という計算をするので、「=E3/E6*100」という数式になります。

この時点では何の問題もありません。しかし、この状態でオートフィルをかけてしまうとエラーになります。

なぜかというと、参照先の「総合計」のセルがズレてしまっているからです。試しに、一番上のエラーが発生したセルの数式を確認してみると、何も記入されていないことがわかります。そこで、参照先のセルを絶対に動かさないように固定する絶対参照が活きてくるのです。

先ほどの数式を「=E3/E6*100」から「=E3/$E$6*100」に変えてみましょう。1行目は先ほどと同様に計算結果が表示され、オートフィルをかけてみると、その下のセルも正しく計算結果が表示されました。

複合参照

相対参照や絶対参照の名前を聞いたことがあっても、「複合参照」という名前を聞いたことがある方は少ないのではないでしょうか?複合参照とは、これまで解説してきた相対参照と絶対参照を組み合わせた参照方法のことです。

名前は聞いたことがなくても、知らないうちに複合参照を使ったことがあるケースは多いです。ここでは「九九の表」を使って解説しています。仕組みが非常に複雑なので、エクセルの画像と照らし合わせながらみてみましょう。

まずは九九の表を作ります。見出しの行と列の数値を参照先に指定して掛け算をすると、1×1はうまくいきます。しかし、縦と横のどちらでも良いので、オートフィルをかけてみましょう。想定外の数値が出力されます。表の中で参照先がズレてしまうからです。そこで使うのが、セルを固定したい時に用いる「絶対参照」になります。

まずは、横方向セルが正しく表示されるようにしましょう。参照先の列を固定したいので、列の前にドルマークを付与して「=B1*$A2」という数式を入力すると、正しい結果が表示されます。今度は縦方向にオートフィルをかけてみると、どうなるでしょうか?残念ながらまだズレが生じています。

今度は参照先の行を動かさず、列だけ動かすような数式が必要です。数式は下記のようになります。

「=B$1*$A2」という数式を入力してみましょう。

横方向も縦方向も、想定通りの数値になりました。このように、相対参照と絶対参照を組み合わせてセルに入力された値を参照する方法を「複合参照」といいます。

エクセルで別のシートのセルを参照する方法

エクセルはブックというファイルの中に、いくつものシート(作業場)を作れる仕様です。シート1には各種計算、2シート目は綺麗なレイアウトで表を作成するといったことができます。シートが分かれていても中身を参照できるので、自分がメモや計算に使う雑な作りのシートと、人に見せる用の綺麗なシートに分割できる点がメリットです。ここでは、エクセルで別のシートのセルを参照する方法を解説します。

別のシートを参照する方法

前提として、同じシート内のセルを参照する場合は、セル番地を指定すればOKです。別シートのセルを参照する時は、少し手順が変わります。

別シートを参照する際は、参照先のシート名とセル番地を入力しなければなりません。「=別シート名!セル番地」といったように、別シートの名前とセル番地の間は、半角のエクスクラメーションマーク「!」で繋ぐ点も注意が必要です。単純な誤字や全角・半角のミスでシート名を間違えると参照に失敗するため、参照したいシート名をダブルクリックして、Ctrlキー+Cでコピーするのがおすすめです。

別のシートを参照してコピペ

自ら数式を入力しなくても、参照したい別シートのセルを範囲選択してコピーし、表示させたいシートの任意の場所へ貼り付けるだけで、別シートの参照ができます。ただし、Ctrl+Vで貼り付けるのではなく、右クリックをして「形式を選択して貼り付け」からリンクマークのあるボタンを選びましょう。この貼り付けの方法であれば、自分でシート名をコピーしなくても簡単に貼り付けられます。

INDIRECT関数で別シートを参照できる

エクセルでは、参照したいシート、セルの番地を直接指定する方法と、INDIRECT(インダイレクト)関数を使う方法があります。

INDIRECT関数の使い方

INDIRECT関数は以下の数式で表されます。

=(参照文字列,参照形式)

参照文字列は、セル番地や「”〇〇”」といったダブルクォーテーションマークで文字列を囲んだ形にして表現します。第2引数の「参照形式」は、省略可能です。参照形式には「A1形式」と「R1C1形式」の2つがあります。「A1形式」は普段見慣れているような、A1セルといった番地を指す形式です。一方の「R1C1形式」は、同じA1セルを指していても「R1C1」と表現します。

なかなか複雑な構造をしています。参照形式を省略すると、自動的に「A1形式」が指定されるため、INDIRECT関数を使う際は、「第2引数は省略する」と覚えることで、より早く習得可能です。

例えば同じシートのA2セル(文字列)を参照するのであれば、「=INDIRECT(“A2”)」別シートのセルを参照する場合は、「=INDIRECT(“シート名!A2”)」と記載します。

一方、セルの中身が数値の場合は、ダブルクォーテーションは不要です。「=INDIRECT(A2)」、「=INDIRECT(シート名!”A2”)」という風に表現します。

MATCH関数と組み合わせる

数値を直接入力するのとINDIRECT関数を使うのとでは何が異なるのでしょうか?INDIRECT関数は、MATCH関数との相性が良好な関数です。MATCH関数とは、検索条件を満たすセルの情報を表示する関数です。MATCH関数の数式は下記のようになります。

=MATCH(検索値,検索範囲,照合の種類)

MATCH関数の引数は下記の3つです。

引数特徴
検索値検索に用いる条件値
検索範囲条件に合致する値を探すセルの範囲
照合の種類1:以下0:一致-1:以上

第1引数の検索値は、検索したい文字列を入力します。日本語やアルファベット、記号といった文字列の場合は、ダブルクォーテーションマークで囲い、数字であればそのまま指定して大丈夫です。また、既に値が入力されたセルの番地を指定して引数にすることもできます。セル番地を指定する際、ダブルクォーテーションマークは不要です。

第2引数の検索範囲には、どこからどこまでのセルを検索するのか指定します。セル番地を手打ちで入力するのは面倒なので、セルをドラッグして一気に範囲選択するのがおすすめです。また、F4キーを押すことで選択したセルを絶対参照に変更できます。

第3引数の「照合の種類」は、条件によって値を変更します。「以下」を指す1、「完全一致」を指す0、「以上」を指す-1の3種類があり、適切に指定しなければなりません。例えば、MATCH関数で「”あいうえお”と一致したら」という条件を指定する場合は、「一致」の0を第3引数に指定します。

「以上」と「以下」はあいまい検索をする場合に使われる種類です。「以下」を表す”1”を指定すると検索範囲の中で、指定値以下かつ最大値の位置を返します。ただし、照合の種類を1に指定する場合、検索範囲を昇順(値の小さい方から値の大きい方へ)に並び替えなければなりません。

「以上」も同様で、”-1”を指定すると検索値以上かつ、最小値の位置を返します。検索範囲は降順(値の大きい方から値の小さい方へ)に並び替えましょう。

指定したセルの中身を出力するINDIRECT関数と、検索値に当てはまる位置を示すMATCH関数を組み合わせると、検索値に対応する値を表示できます。例えば「ビリヤード」という条件をMATCH関数に入力して、INDIRECT関数でビリヤードの料金を表示できるのです。

数式は以下のようになります。

=INDIRECT(“B”&MATCH(E1,A2:A3,0)+1)

なぜMATCH関数を入力した後に+1するのかというと、見出し行を除くためです。見出し行の1行分を足すことで、実質的に検索値の横のセルに入力された内容を表示できます。

まとめ

エクセルの参照には、相対参照、絶対参照、複合参照の3種類があります。参照するセル番地を動かしたい場合は相対参照、固定させたい場合は絶対参照、必要に応じて動かしたい場合は複合参照がおすすめです。

絶対参照は半角のドルマーク($)を、行と列のうち固定したい方の前に付与します。A1セルの行を固定する場合はA$1、列を指定する場合は、$A1、行と列どちらも固定する場合は、$A$1と記載します。

別シートのセルの中身を参照する際は、別シート名と半角のエクスクラメーションマークでセル番地を繋ぎましょう。