エクセルで数行おきのセルに入っている数値の合計を計算する数式についてかんたんに解説します【エクセルTips】

エクセル

はじめに

エクセルで数行おきの数字の合計を出したいというケース、意外にあるのではないかと思います。
数行ひとかたまりのデータがズラーッと下に伸びている表の項目ごとの合計が知りたい、そんなケースを想像します。
この記事では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のパワープレイ
<例で使用している数式>
=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関数を使ったと思います。
しかしながら、どんなに非効率なフォームでも従わなくてはならない場面もあると思います。
この記事が理不尽に直面している方のお役に立てたら幸いです。

【外部リンク】SUMIF関数|Microsoftサポート

最後までお付き合い頂き、ありがとうございました!

当ブログはエクセル関数の擬人化キャラクター記事をメインコンテンツとしています!
よろしければこちらの記事もどうぞ~!

【内部リンク】エクセル関数 SUMIF関数擬人化記事

コメント

タイトルとURLをコピーしました