Excelで業務効率化を目指すなら、INDIRECT関数の習得は大きな武器になります。
一見難しそうに見えるこの関数は、マスターすれば別シートの参照や動的なデータ処理が格段に楽になる優れものです。
この記事では、INDIRECT関数の基本的な使い方から応用テクニックまで、わかりやすく解説していきます。具体的な例を交えながら説明するので、初心者の方でも理解しやすい内容となっています。
ぜひ最後までご覧ください。
- 関数の組み合わせによってできる事を増やしたい
- 文字列のアドレスをセル参照に変換したい
- Excel関数の勉強をしている
- 便利な関数を探している
「Excel関数?」「聞いた事あるけど何か知らないな?」という方は、こちらの記事でエクセル関数について解説していますので先に確認して頂くと理解しやすいと思います。
INDIRECT関数とは?
INDIRECT関数の読み方
読み方は「インダイレクト関数」です。
INDIRECT関数では何ができるの?
INDIRECT関数では文字列として指定されたセル参照を実際のセル参照に変換することができます。
例えば、セルA1に「B1」という文字列が入力されている場合、通常「=A1」という式を入力すると「B1」という文字列がそのまま表示されます。しかし「=INDIRECT(A1)」とすると、セルB1の内容が表示されるのです。
単体で使われるような関数ではありませんが、他の関数と組み合わせて使用することで出来る事の幅が一気に広がります。データの取得範囲を条件によって変更したり、複数の表から必要なデータだけを取り出したりすることもできます。他にも、ドロップダウンリストと組み合わることで、選択内容に応じて参照先を変えることも可能です。
INDIRECT関数の使い方
関数の基本構文をマスター
まずはINDIRECT関数の式をチェックしましょう。
※[]内の引数は省略することができます。
=INDIRECT( 参照文字列 , [ 参照形式 ] )
INDIRECT関数の引数は2つありますが、必ず指定するのは「参照文字列」のみです。
- すべての引数を指定する場合
=INDIRECT(E6, TRUE) - 最小限の引数のみを指定する場合
=INDIRECT(E6)
関数の引数について知ろう
第1引数:参照文字列(必須)
「参照文字列」引数には、セル参照を表す文字列、またはセル参照を指定します。
例えば、セル参照を表す文字列を指定する場合、セルA1を参照したい場合は「”A1″」を指定します。
別のシート(Sheet2)のセルA1を参照したい場合は「”Sheet2!A1″」と指定します。
文字列を直接指定する場合は、必ず「”」ダブルクォーテーションで文字列を囲むようにしてください。
セル参照を指定する場合、はダブルクォーテーションで囲まずに「B1」のように指定します。
B1を指定することにより、B1セルの値を関数の引数として利用することができます。
例えばセルB1に「A1」という文字列が入力されている場合、A1が「参照文字列」引数に指定されたことになります。
第2引数:参照形式(省略可能)
「参照形式」引数では、参照文字列で指定したセル参照の種類を論理値で指定します。
TRUEまたは省略した場合は「A1形式」、FALSEを指定した場合は「R1C1形式」のセル参照になります。通常のExcel操作では「A1形式」を使うことが一般的です。
R1C1形式で表示したい理由がなければ省略しても問題ありません。
実際にやってみよう!実践編
同じシートのセルを指定
同じシートのセルを参照してみます。
1 |
=INDIRECT("A1") |
別のシートのセルを指定
次は別シートのセルを参照してみましょう。
シートから指定する場合は「シート名!セル番地」の形式で指定します。
1 |
=INDIRECT("Sheet2!A1") |
仕事で役立つ便利技!
VLOOKUP関数との組み合わせ
VLOOKUP関数とINDIRECT関数を組み合わせると、検索対象のセル範囲を動的に切り替えることができます。
1 |
=VLOOKUP(A1,INDIRECT(E1),2,FALSE) |
この組み合わせは複数の表がブック内に存在し、条件に応じたデータを取得したい場合などに利用します。
MATCH関数との組み合わせ
MATCH関数とINDIRECT関数を組み合わせることで、特定の条件に合致するデータを効率的に取得できます。
1 |
=INDIRECT("B"&MATCH(E1,A2:A5,0)+1) |
VLOOKUP関数との組み合わせと同様に、条件に応じたデータを取得したい場合などに利用できます。
よくあるエラーと解決法
#REF!エラーの原因と対策
このエラーは、数式が無効なセル参照をしている場合に表示されます。
エラー原因 | 解決策 |
---|---|
参照セルが存在しない | 指定したアドレスの形式や、誤字脱字がないかを確認する |
参照シートが存在しない | シートを指定している場合、正しいシート名を指定しているか確認する |
参照ブックが存在しない | ブックを指定している場合、正しいブック名を指定しているか確認する 指定したブックを開いていることを確認する |
さらなるスキルアップを目指そう!
INDIRECT関数を学習した後は、更に以下の関数も内容を把握しておきましょう。
用途が似ている関数や、一緒に使うとさらにできることの幅が広がる関数です。
関数名 | 用途 |
---|---|
VLOOKUP | |
XLOOKUP | VLOOKUP関数より柔軟でシンプルな検索 |
MATCH | |
XMATCH | |
SUMIF | 条件に一致するセルの合計を求める |
AVERAGEIF | 条件に一致するセルの平均を求める |
OFFSET | 基準となるセルから指定した行列数だけ離れたセルを参照 |
まとめ
本記事では、INDIRECT関数の基本概念と構文、引数の詳細な使い方、基本的なセル参照と別シート参照の方法について解説しました。
INDIRECT関数は、「間接的に」セルを参照できる非常に強力な関数です。
基本的な使い方は簡単ですが、他の関数や機能と組み合わせる必要があり、様々な関数を知る必要があります。
他の関数との組み合わせを習得することで、データ参照や動的なデータ処理が格段に楽になります。
特に大量のデータを扱う業務や、定期的にデータを更新する必要がある場合に便利な関数です。まずは簡単な例から試してみて、徐々に応用的な使い方にチャレンジしてみてください。
関数一覧
ましゅかぶろぐではExcel関数の一覧を3パターンご用意しています。
用途に合わせてお使いください。
各一覧の文字色が青くなっている関数はクリックすると解説ページを開くことができます。
エラー値についてのまとめ記事
関数でエラーが発生した際に表示される、エラーの種類を以下の記事でまとめています。

コメント