Excelセル関数 n行おきに抽出したい
面倒なマクロを組まずに, セルの抽出を行いたい.
具体的にはA列にデータが入っていて, それをB列に10行おきに表示させたい. すなわち, B列にはB1=A1, B2=A11, B3=A21のようになる.
まず, 自分のセルの行と列はROW(), COLUMN()で数値として得られる.
これをセルのアドレスをあらわす文字列に変換するにはADDRESS(行番号, 列番号)を用いる.
さらにアドレス文字列から, その内容を得るにはINDIRECT(文字列)を用いれば良い.
これらを組み合わせると,
=INDIRECT(ADDRESS((ROW()-1)*10+1,1)) かもしくは =INDIRECT("A"&((ROW()-1)*10+1))
となる. 上の式だと最後の1がA列から抽出することを表す.
結果として使えるセル関数のてんこ盛りだったのでここにメモしておく.