INDIRECT関数とMATCH関数を組み合わせる方法
INDIRECT関数は単体だとあまり使われることはなく、他の関数と組み合わせて使われる場合が多い。ここではINDIRECT関数とMATCH関数を組み合わせる方法を紹介しよう。MATCH関数と組み合わせることで、表内の任意のデータを簡単に取得できる。
INDIRECT関数とMATCH関数を組み合わせる方法について、次の2つの手順で解説する。
- MATCH関数で検索値の場所を返す
- INDIRECT関数で検索値と同じ行のデータを返す
■1.MATCH関数で検索値の場所を返す
MATCH関数は指定した値が、指定した範囲の何番目になるかを返す関数である。
以下では、「=MATCH(“田中”,A2:A10,0)」としている。MATCH関数によって、「田中」がA2〜A10の範囲で何番目にあるか出力しようとしている。
実行すると「4」と表示された。田中は4番目にあるので、正しく処理していると分かる。
■2.INDIRECT関数で検索値と同じ行のデータを返す
MATCH関数で「田中」が4番目になることが出力できたら、その情報を利用してINDIRECT関数を使って、「田中の点数は何点か」を表示してみよう。
以下では、「=INDIRECT(“B”&MATCH(“田中”,A2:A10,0)+1)」と指定している。MATCH関数の結果は、「4」であり、そこに1がプラスされるから「5」になる。
つまり、「=INDIRECT(“B5”)」ということになる。INDIRECTとMATCH関数によって、検索値(田中)と同じ行のデータを返すことができている。
実行すると「92」と表示され、B5の値が取得できていることが分かる。
まとめ
本記事ではINDIRECT関数について解説した。最後に、INDIRECT関数の書式についておさらいしよう。
- 参照文字列
- 意味:参照したいセル番号
- 例:=INDIRECT(”A1”)
- 参照形式
- 意味:FALSEを指定した場合、R1C1スタイルでのセル番号指定となる
- 例:TRUE or FALSE
INDIRECT関数にセル番号を指定すれば、そのセルの値を取得できる。
構成/編集部