概要
エクセルで、1行おき、1列おきの合計を求めたい場合、参照先のセルが少ない場合はsum関数を使用して、「=sum(A1,A3,A5,・・・)」のように記述しても良いですが、参照先が多い場合は大変です。
そのような時の便利な書き方です。
基本となる書き方
範囲内の合計を求めることができる、SUMPRODUCT関数を使用します。
1行おきの合計を求める場合
=SUMPRODUCT((MOD(ROW(範囲),除数)=位置)*範囲)
「範囲」には、合計を求めたい範囲を設定します。
「除数」には、”2″を設定します。ちなみに、2行おきの場合は”3″を設定します。
「位置」には、奇数行を計算したい場合は”1″を、偶数行を計算したい場合は”0″を設定します。
1列おきの合計を求める場合
=SUMPRODUCT((MOD(COLUMN(範囲),除数)=位置)*範囲)
「範囲」には、合計を求めたい範囲を設定します。
「除数」には、”2″を設定します。ちなみに、2列おきの場合は”3″を設定します。
「位置」には、奇数列を計算したい場合は”1″を、偶数列を計算したい場合は”0″を設定します。
サンプル
1行おき(奇数行)の合計を求める場合の例
イメージ

数式
=SUMPRODUCT((MOD(ROW(A1:A10),2)=1)*A1:A10)
1行おき(偶数行)の合計を求める場合の例
イメージ

数式
=SUMPRODUCT((MOD(ROW(A1:A10),2)=0)*A1:A10)
1列おき(奇数列)の合計を求める場合の例
イメージ

数式
=SUMPRODUCT((MOD(COLUMN(A1:J1),2)=1)*A1:J1)
1列おき(偶数列)の合計を求める場合の例
イメージ

数式
=SUMPRODUCT((MOD(COLUMN(A1:J1),2)=0)*A1:J1)
参考
SUMPRODUCT 関数 – Microsoft サポート
SUMPRODUCT 関数は、対応する範囲または配列の製品の合計を返します。 既定の操作は乗算ですが、加算、減算、除算も可能です。
MOD 関数 – Microsoft サポート
説明 数値を除数で割ったときの剰余を返します。 戻り値は除数と同じ符号になります。
ROW 関数 – Microsoft サポート
説明 引数として指定された配列の行番号を返します。
COLUMN 関数 – Microsoft サポート
COLUMN 関数は、指定された列の列番号を返 セル参照。 たとえば、列 D は 4 番目の列なので、数式 =COLUMN(D10) は 4 を返します。