Excel 相対位置を参照する~INDIRECTのすすめ~

ExcelのINDIRECT関数をご存知でしょうか?INDIRECT関数は、計算式を入力したセルから見た相対位置にあるセルを参照することができる関数である。

Excelのヘルプファイルには、以下のような説明がある。

参照文字列によって指定されるセルに入力されている文字列を介して、間接的にセルを指定します。

関数説明

関数の書式としては、以下のような形となる。

INDIRECT(参照文字列,参照形式)
参照文字列:参照するセルの位置や範囲名を文字列で指定する。(例:”A1″、”R1C1″)
参照形式 :TRUE または 1 :A1形式で参照する。
FALSE または 0 :R1C1形式で参照する。

相対位置を指定するには、参照文字列にR1C1形式で指定します。
書式としては、R[相対列番号]C[相対行番号] となります。

メリット

  • 相対位置の同じ文字列の計算式を複数の場所で使用できる
  • 条件付き書式で、対象のセルと同じ行や同じ列の値を判定できる
  • 文字列で指定するため、参照するセルを計算式で指定することができる

同じ行の左隣のセル(R[-1]C)の値を参照する場合

=INDIRECT("R[-1]C",FALSE)

同じ列の1行目から、合計を表示する行の1行上までの合計を求める場合

=SUM(INDIRECT("R1C",FALSE):INDIRECT("R[-1]C",FALSE))

INDIRECT(“R1C”,FALSE) ・・・ 同じ列の1行目のセル
INDIRECT(“R[-1]C”,FALSE) ・・・ 同じ列の合計表示セルの1つ上のセル
上記の範囲を:(コロン)で繋げ、SUM関数で合計値を計算している。

この場合、どこの列に指定しても、合計の計算式を変える必要がない

通常の参照方法では、参照場所が変わってしまう。
セルの削除や追加を繰り返していると、式が変わってしまう場合があり、そんな時に使用できる。
INDIRECT関数で指定したセルは、表を移動しても参照する位置がついていくため、ずれることがない。

条件付き書式で、同じ行の左隣りの値が10以上の場合にセルの色を黄色にする場合

=(INDIRECT("RC[-1]",FALSE)>=10)
条件付き書式で、同じ行の左隣りの値が10以上の場合にセルの色を黄色にする場合

コメント

タイトルとURLをコピーしました