[エクセル中級] 1個おきに並んだセルを詰める関数,1個おきに並べる関数
2018/04/07
すでにデータが入っている表から、1個おき(,2個おきなど)でセルを参照したり、1個おきにセルを並べる方法です。
1個おきに参照してセルを詰める
1個おき:0, 2, 4, ……
1個おきに参照できるように、[0, 2, 4, ……]となる数値を求める関数を入れます。この結果は後で OFFSET関数 に使います。
セルの位置によって数値を変えるには、ROW関数 を使います。
- ROW関数
- セルの行番号を返します。
参照 行番号を取得したいセル
今回は、[自分のセルの行番号]と[先頭のセルの行番号]の差を2倍すればよいことになります。先頭のセルのみ絶対参照にします。
F2: =(ROW(F2)-ROW(F))*2
[0, 2, 4, ……]となりました。
OFFSET関数 で参照
あとは、OFFSET関数 で先頭のセルから[0, 2, 4, ……]行移動したセルを参照すれば完成です。[参照]に入れる先頭のセルを行方向絶対参照にするのを忘れないでください。
F2: =OFFSET(A,(ROW(F2)-ROW(F))*2,0)
下までコピーすれば、1個おきに参照できました。
横方向にも
1個おきに並べる
1個おきに並べる場合もほぼ同じです。
先ほどは行番号の差を2倍しましたが、今回は半分にします。
K2: =(ROW(K2)-ROW(K$2))/2
1個おきに並べる場合、直後にはデータが入らないので、2セルを選択して右下をドラッグ(オートフィル)します。こうすると、「参照するセル」と「何もしないセル」が交互に並びます。
1個おきに[0, 1, 2, ……]とデータを並べることができました。
OFFSET関数 で参照
1個おきに参照したときと同様に、OFFSET関数 で参照します。
K2: OFFSET(F$2,(ROW(K2)-ROW(K$2))/2,0)
これを、上下2セルを選択してオートフィルすれば、
1個おきに並べることができました!お疲れさまでした!