Eurekapu.com

参考_INDIRECT関数

結論からいえば、INDIRECT関数は、 便利なのですが、経理・会計実務の現場では、最後の手段くらいに使うべきです。

「置換機能」を頑張って使えば、INDEX-MATCH関数を使いながら、参照元にジャンプできる状態を残せます。SUMIFS関数でも同様に使えます。

IINDIRECT 関数の構文
=IINDIRECT( 参照文字列, [参照形式] )
参照文字列
参照したいセルのアドレスを文字列で指定します。A1形式、R1C1形式、または名前を指定できます。
[参照形式]
省略可能です。「TRUE」を指定すると、参照形式がA1形式になり、「FALSE」と指定する場合は参照形式がR1C1形式になります。

たとえば、INDIRECT関数を使うと計算式の中のシート名称を可変にできます。

これの何がうれしいかというと、 動的に関数内の式を変更できるので、たとえば、決まった並びのシートが20~100枚あって「集計」シートにすべてを集計したい場合に使えたりします。 コンサルティングの現場で力技で数値を集計するときに使っていました。

たとえば、オペレーティング・リース取引からファイナンス・リース取引に修正が必要だとしたときに、その修正が必要なセルのアドレスを変更するだけで、すべてのシートの修正が可能です。 このシートが30枚とかあったら、置換機能を使うよりもずっと楽なので、使ってしまうかという感じです。

  1. 関数式が直感的でなく読める人が限られること(少なくとも小松にとっては難しいです)
  2. メンテナンス性が悪いこと
  3. INDEX・MATCH関数で作っていても参照元にジャンプできないこと
    Ctrl +[ が使えない)