Excel 関数

INDIRECT関数の使い方を分かりやすく解説|セル参照を自在に操ることができる関数【Excel】

2021年2月8日

数式が少し複雑に見えて難しく感じるINDIRECT関数です。
でもこれを使いこなすことができれば、Excelでできることの幅が大きく広がります。

INDIRECT関数で自在にセル参照ができる

INDIRECT関数はセル参照を操る関数です。
そのため、使いこなすにはセル参照の知識は不可欠です。

曖昧な人は、まずはこちらの記事からご覧ください。

通常のセル参照では、一度入力した数式でのセルの指定は限定的です。
INDIRECT関数を使うと、セル参照時に指定するセル番地を自在に操ることができるようになります。

INDIRECT関数は文字列でセル参照ができる

INDIRECT関数は、セル参照時に指定するセル番地を文字列で表すことができる関数です。

文字列で表すと、どんなことができるのでしょうか?

最初の例のように、D3セルにA1セルの値を表示させたいとき、INDIRECT関数を使うと『=INDIRECT("A1")』となります。

このときINDIRECT関数は、A1セルを指定して参照しています。
INDIRECT関数で、『=INDIRECT("A1")』はA1セルを参照します。

文字列で指定ができるため、INDIRECT関数の中身は『&』を使って連結が可能です。

先程の数式を『=INDIRECT("A"&"1")』と入力したとき、INDIRECT関数の中身は「A1」になり、A1セルを指定して参照します。
INDIRECT関数で、『=INDIRECT("A"&"1")』はA1セルを指定します。

それでは次に、指定したいセル番地を他のセルに入力した値から反映させてみましょう。

指定するセルの行番号を、D1セルに入力した値で操作できるようにします。
A1セルに『=INDIRECT(”A”&D1)』と入力します。

このとき、D1セルに入力された「1」が反映されて、INDIRECT関数の中身は「A1」になります。
INDIRECT関数で、『=INDIRECT(”A”&D1)』は、D1セルに入力された「1」が反映されて、A1セルを指定します。

D1セルに「2」と入力すればA2セルを、「3」と入力すればA3セルを参照するようにINDIRECT関数の参照先を操作することができる様になっています。
INDIRECT関数で、『=INDIRECT(”A”&D1)』は、D1セルに入力された「2」が反映されて、A1セルを指定します。
INDIRECT関数で、『=INDIRECT(”A”&D1)』は、D1セルに入力された「3」が反映されて、A1セルを指定します。

INDIRECT関数を活用しよう

任意のシートからセルを参照する

別のシートにあるセルを参照したいときは、『=Sheet2!A1』のように入力しました。
INDIRECT関数で、この「Sheet2」の部分を操作できるようにすれば、好きなシートからセルを指定することができます。

下図のように、「果物」シートに果物の名前が、「野菜」シートに野菜の名前が並んでいます。
Sheet1でA1セルにこのように関数が入っているとき、D1,E1セルに入力した文字列で参照先を指定できます。
INDIRECT関数で、シート名も任意に指定できるようになります。

INDIRECT関数で、シート名も任意に指定できるようになります。

VLOOKUP関数との組み合せ

他の関数との組み合せで、いよいよINDIRECT関数が本領を発揮します。

上の例から発展させて、下図のような表を作ります。

「果物」シートと「野菜」シートでそれぞれのカテゴリーの商品別の価格をまとめています。
Sheet1では、カテゴリーと商品名をもとに価格を表示させます。

ここではVLOOKUP関数の、範囲を指定するところでINDIRECT関数を使用しています。
VLOOKUP関数の参照範囲の指定にINDIRECT関数を利用しています。
INDIRECT関数の中身は『A2&"!A:B"』となっています。
A2を見ると「野菜」と入っているので、『A2&"!A:B"』は「"野菜"&"!A:B"」となり、ここでのINDIRECT関数は「野菜!A:B」の範囲を参照することになります。

オートフィルでコピーすれば下まで反映されます。
INDIRECT関数を用いることで、オートフィルに対応させて入力を簡単にできます。

INDIRECT関数まとめ

私はExcelの関数をパズルを組んでいくような感覚で楽しんでいるので、このパズルの可能性を大きく広げてくれるINDIRECT関数は好きな関数1つです。

使いこなせばアイデア次第で様々な場面で活用できるので、ぜひ覚えて活用してみてください。

 

合わせて使いたい関数

ADDRESS関数の使い方|INDIRECT関数の応用に便利な関数【Excel】

ADDRESS関数は、セル番地を返してくれる関数です。 単独で使用することは稀で、INDIRECT関数やMATCH関数などと組み合わせて使います。 ADDRESS関数でセル番地を表記する ADDRES ...

続きを見る

 

Microsoft - Office サポート -

▼この記事を見ている人におすすめの書籍

-Excel 関数
-

Copyright © わたがしワーク , All Rights Reserved.