エクセルINDIRECT関数とは?別シートを参照し、VLOOKUPと組合せる使い方【コピペ用テンプレートあり】

はじめに
エクセルの INDIRECT関数は、 参照するセルを文字列で指定する関数 です。
ここでは、以下の内容を取り扱っています。
- INDIRECT関数による別シートの参照方法
- INDIRECT関数とVLOOKUP関数の組合せによる、参照先を切り替えてデータ値を抽出する方法
下にテンプレート・サンプルのセルデータがあるので、
INDIRECT関数とは
INDIRECT関数は 文字列 を受け渡すことで、参照先を指定できる関数です。
- INDIRECT("A1") A1セルの値を参照
他の関数はセル参照で指定する
似た機能を持つ他の関数(OFFSET関数、INDEX関数)は、
セル参照 と数値を受け渡して、参照先を指定します。
- OFFSET(A1, 0, 0) A1セルの値を参照
- INDEX(A1, 1, 1) A1セルの値を参照
ダブルコーテーションで囲うと文字列として扱われる
数式の中で、ダブルコーテーション(")で囲われた文字は、文字列(テキスト)として扱われます。
たとえば、以下のように形式が変化します。
- A1 : セル参照(参照)
- "A1" : 文字列(テキスト)
- 0 : 数値
- "0" : 文字列(テキスト)
いつ使うのか?
INDIRECT関数は、 参照するセルを動的に変更したいときに使用します。
特に、参照するシートを切り替える場合に有効です。
エクセルでの算出方法
INDIRECTとVLOOKUP関数を組み合わせることで、
Sheet1, Sheet2, Sheet3, Sheet4という名称の4つのシートを用意し、
計算手順
上記のINDIRECTとVLOOKUP関数を組み合わせた処理について、
- 1.文字列の結合
- 2.関数に入力
- 3.VLOOKUPで使用
1. 文字列の結合
2つの文字列 (Sheet2, !A2:B3) を結合し、 シート名を含むセル参照の文字列 (Sheet2!A2:B5) を作成します。
※ シート名を含むセル参照は、シート名 + ! + セル の形式です。
文字列の結合
数式中で、文字列を結合するには、&演算子を使用します。
2. 関数に入力
INDIRECT関数に、1.で作成した文字列を渡します。
3. VLOOKUPで使用
VLOOKUP関数に、2.で得られた配列値を渡します。
検索値
, データ範囲
, 抽出列の番号
, 検索方法
)データ範囲
の1列目から検索値
を探し、
マッチした行の(抽出列の番号
列の)値を返す。
検索値
データ範囲
抽出列の番号
検索方法