間接参照でメンテナンスを簡単にする(INDIRECT関数)

間接参照を覚えることで、たくさんの表をコントロールすることができます。

使うのは「INDIRECT関数」です。

基本的な用途:範囲を間接指定する

上記がINDIRECT関数の例になります。

構造式:INDIRECT(参照文字列,[参照形式])

参照文字列の部分で、セルを指定します。

参照形式は、「TRUE」と「FALSE」がありますが、基本的には「TRUE」と入れておけばOKです。

参照形式は、何も指定しなくても問題ありませんが、その場合はTRUEとして扱われます。

なお、上記の式は、INDIRECTを使わないと下記と同じになります。

「$H:$I」と入力するのが直接入力です。

ただし、いちいち全てのセルに「$H:$I」と入力するのは面倒です。

セルの文字を引用(この場合セルD10)すると楽です。しかし、D10と入力すると参照範囲が『「$H:$I」→「D10」』に代わってしまうだけで、セルの中身の文字を引用することになりません。

そこで使うのが、INDIRECT関数になります。

セルの中身の文字を引用する関数なのです。

INDIRECT関数のメリット

メリット1.参照範囲が見た目でわかる

INDIRECTを使うメリットは、2つの画像を見比べると分かると思いますが、参照範囲が見た目で分かるようになる点です。

上記では参照範囲は1つだけですが、例えば5個とか10個とか、参照範囲がたくさんになってくると管理とメンテナンスが難しくなってきます。

目に見えるだけでも(セルを1つずつ調べなくても良い)メンテナンスがかなり簡単になることが分かるかと思います。

メリット2.参照範囲を可変的に扱うことができる

例えば参照範囲を「$H:$I」/「$E:$F」を切り替えながら参照したい場合には、以下のような形で関数を変更しなくても可変的に扱うことができます。

上記ではリスト形式にて切り替え可能としていますが、関数を用いることで参照範囲を自動変更することもできますので、応用範囲はかなり広いと言えるでしょう。

まとめ

間接参照を行うことで、メンテナンスが簡単になったり、参照範囲を変化させることができるようになることを述べました。

応用範囲が広い関数になるので、ぜひ使ってみてください。