はじめに
エクセルで数行おきの数字の合計を出したいというケース、意外にあるのではないかと思います。
数行ひとかたまりのデータがズラーッと下に伸びている表の項目ごとの合計が知りたい、そんなケースを想像します。
この記事では2パターンの解決策を提示します。
方法①:検索列を設けてSUMIF関数で集計する方法
方法②:検索行なしのSUMPRODUCT関数(N関数・MOD関数とのネスト)で集計する方法
検索行を追加させてもらえないというケースもあるでしょうからね…。
キュウさんすごいマウス操作ですね。
はい…。
SUM関数の引数に3行おきのセルを指定しているんです。
あららら、これは関数案件ですね。
状況にもよるので2パターン紹介します!
方法① 検索列を設けて計算
まずは比較的簡単な検索列を設ける方法です!
<例で使用している数式>
=SUMIF($B$3:$B$14,"A",$C$3:$C$14)
検索列はABCの繰り返しなんですね。たしかに、これはシンプルで簡単です。
そうですね!
ここでSUMIF関数を使って検索値を”A”とすれば1行目、
“B”とすれば2行目の合計が計算できますよね。
たしかに、これはシンプルで簡単です。
検索列を作らせてもらえるなら素直にこういう解決をすると良いと思います!
方法② 検索行なしで計算
つぎに、検索列を設けない方法です!
<例で使用している数式>
=SUMPRODUCT($B$3:$B$14,N(MOD(ROW($B$3:$B$14),3)=0))
急に難しくなりましたね…。
SUMPRODUCT関数、難しいですよね。
ざっくり説明すると、
対象範囲の各セルの行番号を3で割った余りが0~2を繰り返すので、
余りが0~2のどの値になったときに集計の対象にするかを設定しています。
0~2の繰り返しは
『MOD(ROW($B$3:$B$14),3)』
の部分ですね。
そうです。
対象セルが3行目の時には0、4行目の時には1、5行目の時は2、
そして6行目だとまた0…といった繰り返しになるんですね。
あ、なるほど…。
0は3行目、6行目というように3行おきに出てくるんですね。
もし4行おきにしたい時はMOD関数の第2引数を『4』に、
=で一致を判定する数字を0~3に変更します。
ちょっと難しいですけど、応用が効く数式ですね!
そうですね。
やはり検索列があると心強いなと思ってしまいます。
おわりに
この記事を書いたきっかけはTwitterでお悩みを見つけたことでした。
以前筆者が会社の電気使用量についてエクセルにまとめる仕事をしていたときにこの数式を知っていれば…
う~ん、それでもやはり検索列を作ってSUMIF関数を使ったと思います。
しかしながら、どんなに非効率なフォームでも従わなくてはならない場面もあると思います。
この記事が理不尽に直面している方のお役に立てたら幸いです。
最後までお付き合い頂き、ありがとうございました!
当ブログはエクセル関数の擬人化キャラクター記事をメインコンテンツとしています!
よろしければこちらの記事もどうぞ~!
コメント