googleスプレッドシートのindirect関数でR1C1形式を利用する

完全に自分用のメモ。

Excelやgoogleスプレッドシートではindirect関数というのがあって文字列でしていたセルを参照できる関数がある。

スプレッドシートで通常は “A1” だとか “B3” みたいな形で行を数字で列を英字で指定するのが一般的であるけれども、行と列を数字で指定する “R1C1” といった形式で表現したい場合は

=indirect(“R1C1”, false)

と引数にfalse渡すとR1C1形式で参照することができる様になる。

これで何が便利かというとindirect関数は単独のセルだけではなくて範囲も指定できるのだけれども、列を英字ではなくて数字で表現できる様になるので

=indirect(“R1C” & col() & “:R1C100”)

といった表現ができる様になる。例えば上の例ではindirect関数を書いたセルの列数が文字結合される。
これによって、言葉で表現するのが難しいのだが終点を固定したまま始点を可変にして横方向に範囲を縮めていくということが、一度書いたこのセルを横にコピーしていくことで実現できる。

どういったケースで使うのだろうと思われるかもしれないけれども自分は見事に使うシーンにぶつかったので上で解決。

No visits yet