【Excel】1行おきの合計を算出する
↑の画像のように1行おきに合計したい項目が並んでいる表は
珍しくありませんよね?
この表で「数量」・「金額」の合計を求めるには
セル【E10】…数量の合計 に
=SUMPRODUCT((MOD(ROW(E4:E9),2)=0)*E4:E9)
セル【E11】…金額の合計 に
=SUMPRODUCT((MOD(ROW(E4:E9),2)=1)*E4:E9)
これでそれぞれの合計が算出されたかと思います。
一体どのような理屈・構成になっているのか?
以下、この数式の構成・理屈を追っていこうと思います。
数式の構成・理屈
この数式の中には
以下の3つの関数が使用されております。
■ =SUMPRODUCT(配列,1 配列2, 配列3…)
範囲または配列の「積」を合計する関数。
条件を指定すると、一致するデータを合計する事も出来る。
■ =MOD(数値, 除数)
「数値」…割り算の分子となる値
「除数」…割り算の分母となる値
をそれぞれ指定して、割り算後の余りを求める関数。
■ =ROW(範囲)
範囲の行数を調べる関数
これら3つを組み合わせて
1行おきの合計が算出されています。
3つそれぞれが機能し、以下のような理屈で数値が算出されています。
↑の画像のような説明が付きます。
① セル【E4~E9】の行数を ”2” で割って
② 割ったその余りが ”0”
③ という条件に合致するセルを
④ セル【E4~E9】から探して合計する
この理屈で成り立っているので、当然、「〇行おき」と
お好みの間隔で合計を求める事が出来ます。
例えば、「2行おき」に合計ならば、
=SUMPRODUCT((MOD(ROW( “範囲” ),3)= ”余りの数値” )* “範囲”)
で求める事が可能になります。
以上になります。
何かお役に立てれば幸いです。