INDIRECT関数とは
INDIRECT関数とは、指定したセルの内容を返す関数です。
エクセル上での説明もほぼ同じ書き方をされていて、下記のようになってます。
だって他に言い方が無いんだもの。
INDIRECT関数の使い方
まずは使い方について。
式:=INDIRECT(参照文字列,[参照形式])
参照文字列には、セル(範囲も可)を指定します。
参照形式は、セルの指定をA1形式かR1C1形式のどちらを使うかを指定しますが、省略の場合はA1形式となるので、基本は省略して大丈夫です。
1を指定するとA1形式、0を指定するとR1C1形式となり、実際に式を組むと下記のようになります。
形式省略:=INDIRECT("A1")
A1指定:=INDIRECT("A1",1)
R1C1指定:=INDIRECT("R1C1",0)
INDIRECT関数を使ってみる
正直なところ、説明を読んでも、なんとなくわかるけど、なんとなくわからない。
と思った方、いるんじゃないでしょうか。
そうです、私です。
百聞は一見に如かずということで、実際に使っているシーンを見てみましょう。
INDIRECT関数でA1を参照したので、A1セルにある値、セイウチという文字が表示されました。
指定したセルの内容を返す関数なので、そりゃそうですよね。
という事はもしかしてINDIRECT関数使わない場合でも結果は同じなんじゃ・・・
同じですね。
なーんだINDIRECT関数って意味のない関数なんだね!
・・・と煽り倒すのは早計ッッ!
INDIRECT関数のもつ、2つの大きなメリットを紹介。
参照先の参照先を参照
INDIRECT関数を使う場合、参照先がセルだった場合、さらにその先の内容を参照してくれます。
どういう事かは図を見てください。
このように、INDIRECT関数を使わない場合は、指定した参照先の内容を返すだけで終わります。
しかしINDIRECT関数を使う事で、指定した参照先に書かれた参照先の内容を返すことができます。
ちなみに、INDIRECT関数を重ねることで、参照先の参照先の参照先の参照先の参照先を返す、なんて事も可能です。
式内で参照先の組み立てができる
INDIRECT関数を使うと、式の中で参照先の組み立てができます。
例えば、A1セルを参照したいから、="A" & 1 という組んだとします。
すると、A1セルを参照するのではなく、A1という文字が表示されるだけで終わってしまいます。
これに対し、INDIRECT関数の中で参照先を組み立てた場合は、参照先の内容を返してくれます。
INDIRECT関数は他関数と組み合わせると強い
なんとなく、INDIRECT関数は何をしている関数なのか、わかりましたか?
正直なところ、単純にセル参照する場合と、INDIRECT関数を使う場合での差はありましたが、INDIRECT関数単体ではそれほど便利さを感じられないですよね。
ですが、式内で参照先の組み立てができるという能力が非常に便利でして、他関数と組み合わせると、ものすごい効果を発揮してくれます。
どう効果があるのかは、実際に応用してみた記事がありますので、ぜひご覧ください。
INDIRECT関数と絶対参照・相対参照
INDIRECT関数を使っていて、絶対参照や相対参照が思ったように機能しないぞ?と感じたことありませんか?
INDIRECT関数での絶対参照・相対参照はちょっと混乱しやすいポイントだと思います。
そこで、別記事にて整理してみましたので、ぜひご覧ください。
ぜひ覚えて。そして広めて。
INDIRECT関数がメインで活躍する場面は少ないですが、INDIRECT関数の使い方を知ってるかどうかで、作業効率が大きく変わる事はあります。
僕自身、この関数を知った時に一気に世界が変わりました。
おかげで過去に作ったファイルのテコ入れに追われましたが。
とにかく、使い方のコツさえ掴めてしまえば、それほどの価値がある関数だと思いますので、ぜひ使ってみてください、そして広めてください。
今日からあなたもINDIRECT信者だ。
コメント