はじめに
時々必要になるが、その時には多分忘れているであろう知識を書き残しておく。
INDIRECT 関数を使いつつ,行と列の増減に追従する
INDIRECT 関数を使って大きい範囲から一部を参照するときに,引数の文字列に行番号や列番号の一部がハード・コードされていると,行と列が挿入・削除によって増減したときに追従しなくなる。それを避けるため,参照先のテーブルの基点のインデクスを CELL 関数で追跡する。
例:
=LET(alpha,'sheet_name'!R68C[1],mother_corner,mother_sheet!R53C10,r0,CELL("row",mother_corner),c0,CELL("col",mother_corner),range,"mother_sheet!R"&r0&"C"&(c0+alpha)&":R"&(r0+36)&"C"&(c0+alpha),INDIRECT(range,FALSE))