INDIRECT(インダイレクト)関数の使い方

エクセル関数基礎

機能

INDIRECT関数は、文字列で指定したセルを参照して値を返す関数です。

記述ルール

INDIRECT関数は次のように記述します。

=INDIRECT(参照文字列,[参照形式])

第1引数の「参照文字列」には、セル参照を示す文字列を指定します。

第2引数の「参照形式」には、第1引数のセル参照の形式を指定します。TRUEの場合はA1形式、FALSEの場合はR1C1形式です。この引数は省略可能で、省略した場合はTRUEが指定されます。

=INDIRECT("B2")

上記の例では、セルB2を参照します。このINDIRECT関数でのセル参照と非常に似ているのが絶対参照です。

注意点

INDIRECT関数も絶対参照も、オートフィルで参照先が変わらないという点では同じです。しかし、行の挿入や削除をした場合には違いが出ます。

=INDIRECT("B2")
=$B$2

たとえば、上記の2つの数式を入力した後でA列を削除した場合、INDIRECT関数には変化はありませんが、絶対参照の数式は次の形に変化します。

=$A$2

絶対参照は、参照先のセルを追尾しています。このため、参照先のセルが移動すると、移動先まで追いかけて参照し続けてくれます。

上記の例の場合、A列が削除されたことで元のセルB2はセルA2へと位置がずれますが、絶対参照の機能で自動的に参照先が$A$2に変わるのです。これはセルA2のみを切り取り・貼り付けをした場合も同様です。

これに対してINDIRECT関数は指定したセルを参照するだけセルの追尾はしないので、A列を削除しても影響を受けません。

場合によってはこの違いによって参照先が予期しないセルになることがあるため、違いを理解したうえで使用しましょう。

コメント