Excelで間接アドレス(INDIRECT)を使う方法|実例4選で解説
本記事では、Excelにおける「間接アドレス(間接参照)」の具体的な活用例を4つご紹介します。間接参照を利用すると、セルそのものではなくセルのアドレス(番地)を文字列として指定し、そこから値を取得できるようになります。それでは、さっそく本文に入りましょう。
ワークブックのダウンロード
Excelで間接アドレスを使う4つの例
ここでは、次の表を使用して、Excelでの間接アドレスの使い方を順に解説していきます。
記事の作成には Microsoft Excel 365 を使用していますが、その他のバージョンでも同じ手順で操作できますので、ご自身の環境に合わせて試してみてください。

1. INDIRECT関数を使った間接参照
ここでは2つの表があり、1つ目の表の売上(Sales)の値を、2つ目の表の Sales 列に転記したいとします。このような場合、INDIRECT関数を使えば、間接アドレス参照によって値を取り込むことができます。

➤ 結果を表示するセル F5 を選択します
➤ 次の数式を入力します
=INDIRECT("C"&ROW(C5))- ROW(C5) → セル C5 の行番号を返します
結果 → 5 - INDIRECT("C"&ROW(C5)) は
INDIRECT("C5") となり、セル C5 の値を返します
結果 → $4,629.00

➤ Enter キーを押します
➤ フィルハンドルを下方向へドラッグします

結果:
これで、間接参照を使って、2つ目の表の Sales列 に売上の値を表示できました。

2. 間接アドレス参照で値を合計する
続いて、間接参照を使って売上の値を合計する方法をご紹介します。

➤ 結果を表示するセル D9 を選択します
➤ 次の数式を入力します
=INDIRECT("D5")+INDIRECT("D6")+INDIRECT("D7")+INDIRECT("D8")- INDIRECT("D5") → セル D5 の値を返します
結果 → $4,629.00 - INDIRECT("D6") → セル D6 の値を返します
結果 → $3,257.00 - INDIRECT("D7") → セル D7 の値を返します
結果 → $2,091.00 - INDIRECT("D8") → セル D8 の値を返します
結果 → $2,125.00 - INDIRECT("D5")+INDIRECT("D6")+INDIRECT("D7")+INDIRECT("D8") は
$4,629.00+$3,257.00+$2,091.00+$2,125.00 となり
結果 → $12,102.00

➤ Enter キーを押します
結果:
これで、セル D9 に売上の合計が表示されます。

3. 別シートのセルを間接参照する
ここでは、January(1月)、February(2月)、March(3月) という名前の3つのシートがあり、それぞれに商品の売上データが入力されているとします。



次に、間接アドレス参照を使って、これらのシートから売上の値を取り出し、下の表の各月に対応する列へ転記していきます。

➤ 結果を表示するセル C5 を選択します
➤ 次の数式を入力します
=INDIRECT("January!"&ADDRESS(ROW(D5),COLUMN(D5)))- ROW(D5) → セル D5 の行番号を返します
結果 → 5 - COLUMN(D5) → セル D5 の列番号を返します
結果 → 4 - ADDRESS(ROW(D5),COLUMN(D5)) は
ADDRESS(5,4) となり、セルアドレスを返します
結果 → $D$5 - INDIRECT("January!"&ADDRESS(ROW(D5),COLUMN(D5))) は
INDIRECT("January!"&"$D$5") → INDIRECT("January!$D$5") となり
結果 → $4,629.00

➤ Enter キーを押します
➤ フィルハンドルを下方向へドラッグします

すると、January シートの1月の売上記録が、January 列に表示されます。

同様に、February と March の売上記録も、次の数式で取得できます。
=INDIRECT("February!"&ADDRESS(ROW(D5),COLUMN(D5)))
=INDIRECT("March!"&ADDRESS(ROW(D5),COLUMN(D5)))
4. INDIRECT関数とADDRESS関数を組み合わせた間接参照
ここでも、1つ目の表の売上の値を、2つ目の表の Sales 列に転記することを目標とします。今回は、INDIRECT関数と ADDRESS関数を組み合わせるほか、Row No.(行番号) 列の値も利用します。

➤ 結果を表示するセル G5 を選択します
➤ 次の数式を入力します
=INDIRECT(ADDRESS(D5,3))- D5 → セル D5 の値を返します
結果 → 5 - ADDRESS(D5,3) は
ADDRESS(5,3) となり、セルアドレスを返します
結果 → $C$5 - INDIRECT(ADDRESS(D5,3)) は
INDIRECT("$C$5") となり
結果 → $4,629.00

➤ Enter キーを押します
➤ フィルハンドルを下方向へドラッグします

結果:
これで、間接参照によって、2つ目の表の Sales列 に売上の値を表示できました。

練習セクション
ご自身で練習できるよう、Practice シートに練習用セクションを用意しています。Excelにおける間接アドレスへの理解を深めるために、ぜひご自身の手で操作してみてください。

まとめ
本記事では、Excelにおける間接アドレス(間接参照)の活用例をいくつかご紹介しました。皆さんの業務のお役に立てば幸いです。ご意見やご質問がある場合は、お気軽にコメント欄でお知らせください。
関連記事
- ExcelのINDIRECT関数で範囲を参照する方法(8つの簡単なテクニック)
- ExcelでINDIRECT関数をシート名と組み合わせて使う方法(4つの条件別解説)
-
Excelのデータベース関数とは?12種類の使い方を実例付きでわかりやすく解説
この記事では、Excelのデータベース関数の使い方を詳しく解説します。Excelには12種類のデータベース関数が用意されており、それぞれの適用方法を一つずつ紹介していきます。まずは記事全体の概要を以下の画像でご確認ください。記事を最後まで読めば、すべての関数の使い方を習得できます。 練習用ワークブックは、下のダウンロードボタンから入手できます。 Excelのデータベース関数の基礎知識 Excelのデータベース関数を使うと、特定のデータベース(リスト)に対して合計、積、平均などの基本的な計算を簡単に実行できます。データベース関数は全部で12種類あり、DSUM、DAVERAGE、DCOUNT、D
-
Excelのデータモデル活用術:3つのステップで複数テーブルを統合する方法
Excelは膨大なデータを処理できる強力なツールですが、データモデル機能を活用していなければ、その真価を発揮できていないかもしれません。データモデルを使えば、共通の列を基準にテーブル間のリレーションシップ(関連付け)を作成し、複数のテーブルからデータを結合できます。この記事では、Excelのデータモデルの基本的な使い方を、わかりやすい手順とともに解説します。 理解を深めながら実際に練習したい方は、サンプルのExcelワークブックをダウンロードして、ご自身でも操作してみてください。 データモデルを使うメリット データモデルはバックグラウンドで動作し、ピボットテーブルなどのレポート機能を効率