N列おきに飛び飛びのセルを参照したい
計算式で、A1+C1、A1+E1、A1+G1、、、という様に隣の列ではなく、N列おきに飛び飛びのセルを参照したいことがあります。
例えば、セルA1からセルH1まで数字が入力されています。セルA3からのA列に1行目の値をセルC1から2列飛ばしに参照したい場合を考えます
セルA3に=C1 、セルA4に=E1 、セルA5に=G1 と入力をしても良いのですが、数が多くなると大変な作業になり、参照先のセルを間違うことだってあり得ます。セルのコピーをしても、=C2、=C3、、となり上手くいきません。
関数を使って、サッとセルのコピーでやる方法です。OFFSET関数と、ROW関数を使います。
=OFFSET(参照する最初のセルの絶対参照,0,(ROW()-参照する最初のセルの列番号)*差分,1,1)
をセルA3に入力します。
参照する最初のセル:セルC1から2つ飛ばしに列を参照したいので、C1になります。C1の絶対参照になります。
参照する最初のセルの列番号:これは、A列が1.、B列が2、C列が3、、、と数えた数字です。
差分:幾つずつ列を飛ばして参照したいか。今の場合は、C列、E列と2列ずつ飛ばしたいので2となります。
今の場合は、A3に
=OFFSET($C$1,0, (ROW()-3)*2,1,1)
という式を入力して、下のセルにコピーをすれば、C1、E1、G1と参照していくことができます。
ROW関数
書式:ROW(セル)
引数に指定したセルの行番号を返します。=ROW(C10)の時、10が返ってきます。
引数を省略するとROW 関数が入力されているセルの行番号を返します。例えば、A10に=ROW()と入力すれば、A10の行数、10が返ってきます。
OFFSET関数
書式 :OFFSET(基準,行数,列数,高さ,幅)
基準セルを指定した数(行数、列数)だけ移動したセル範囲を返します。実際に範囲を移動するのではなく、参照するだけです。
基準:基準にするセルのアドレスを指定します。
行数:基準セルを上下方向へ移動する数を指定します。下方向は、プラス。上方向は、マイナスで指定します。
列数:基準セルを左右方向へ移動する数を指定します。右方向は、プラス。左方向は、マイナスで指定します。
高さ:基準セルの行の大きさを指定します。正の数字を指定します。
幅:基準セルの列の大きさを指定します。正の数字を指定します。
セルA1:B6に数値が入力してあります。セルD8には、OFFSET関数を使ってセルB4を参照します。基準セルはセルA1とします。
セルB4は、セルA1からみて、3行下(プラス3)、1列右(プラス1)となります。基準セルの囲は、1行、1列となります。
なので、セルD8には、=OFFSET(A1,3,1,1,1) という式が入ります。
Your Message