条件の合った行の数値だけを合計する

関数の応用

SUM関数はご存知ですか?

SUM関数はご存知でしょうか?
表の中の、指定した範囲の合計値を出す関数です。
エクセルを使っている人なら、ほとんどの方が知っているといえるくらい、有名な関数ですね。
しかし、SUM関数は表の中の全ての数値を合計してしまいます。
これでは、下図のような表から条件に合う行だけを合計したい場合、SUM関数を使うメリットがほとんどなくなってしまいます。
このように、単純な合計を出すまではいいですが、売上だけの合計や、仕入だけの合計をだそうとすると、自分でセルを選ばないといけなくなってしまいます。

自動で条件の合った行の数値だけを合計したい

そこで登場するのが、SUMIF関数です。
SUMIFは、表内から条件に合うものだけを合算してくれるという関数です。
SUMIF関数の使い方は
=SUMIF(条件検索範囲,条件,合算したい範囲)
となっており、SUM関数とは全然違う式になるので気をつけてくださいね。
実例を挙げると、このような感じになります。
このように、売上の行だけを合計、仕入の行だけを合計することができました。
これだけでも便利な関数ですが、他関数と混ぜた応用もしてみましょう。

SUMIFとINDIRECTの合わせ技

SUMIFと相性のいい関数として、INDIRECTを組み合わせた技を紹介。
(今回の主役はあくまでもSUMIFなので、INDIRECTの説明は割愛させていただきます。)
例:参照したい表が複数あり、どちらを参照したいか選べるようにする
こうする事で、検索月の横のセルに、1月と入力すれば1月シートの売上と仕入の合計を計算されて、2月と入力すれば2月のシートから集計してくれます。

【豆知識】条件検索範囲と、合算したい範囲の行をズラしたらどうなるの?

私自身が興味本位で気になったので、ちょっと実験してみました。
まず、SUMIFがどう動いているのかというと
  1. 条件検索範囲内で、条件に当てはまるのは何行目かを調べる
  2. 合計範囲内で、条件の当てはまった行数目の値を合計する

と動いているようです。

それを踏まえ、実際にやってみた結果がコチラ。

どうなっているのかといいますと

  1. 売上という文字を、E3~E8の中から探しにいく
  2. 売上という文字は、1,3,5行目にある
  3. 計算はF9~F14の中から集計する
  4. F9~F14の中で、1,3,5行目を合計する

おー、こうなるのか!

とちょっと感動したものの、これをどういう時に有効活用できるって言われると、正直なところ全く想像できません。

ですが知っていると、ちょっといい気分になりませんか?

・・・私だけですか?

コメント

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