SUMIF(サムイフ)関数は、条件を設定し、条件にマッチした数値データのみ合計を求める関数です。

【構文】

=SUMIF(範囲, 検索条件,条件範囲)

【使用例】

  • =SUMIF(B2:B10,"月",D2:D10)
    セルB2~B10の中で「月」のあるデータを探し、見つかったセルをすべてマーキングします。そして、そのマーキングした同一行にある各セルD2~D10の数値データを合算します。
  • =SUMIF($B$2:$B$10,F2,$D$2:$D$10)
    絶対参照で設定したセルB2~B10の中で、セルF2のあるデータを探し、見つかったセルをすべてマーキングします。そして、その行にある同じく絶対参照で設定したセルD2~D10までの数値データを合算します。数式をオートフィルをするとき、このように作成する場合があります。
  • =SUMIF(B:B,F2,D:D)
    セルF2のデータをB列より探し、見つかったセルをマーキングします。そして、そのマーキングした同一行にある、同じD列の各セルの数値データを合算します。

はじめて学習する人は、①検索範囲と②検索条件と③の合計範囲がごっちゃになってしまいがちです。①検索したい範囲を選択して、②検索キーワードを打って抽出という、検索・置換の操作をイメージいながら式を立てていくと覚えやすいと思います。

関数説明

SUM関数に、条件を加えて合計を求めるというのがSUMIF関数です。

以下のサンプルデータで、曜日が「月」だけの乃木坂駅の乗降客数の数値を合算して、セル「H7」に答えを求めるとします。

アクティブセルを置いてから、[数式]タブ→[数学/三角]→[SUMIF]関数を探します。

引数ボックスは①範囲、②検索条件、③合計範囲の3つが表示され、以下のように設定します。

この表において、

① 範囲=[曜日]の範囲
② 検索条件=”月”
③ 合計範囲 = [乗降客数]の範囲

設定後、SUMIF関数はこのように判断し、[曜日]列に続いているデータで「月」というデータが見つかったら、その平行移動した先にある、乗降客数の数字をピックアップしてくれます。

これで、1月1日から12月31日まで、月曜日に利用した乃木坂駅の乗降客数のデータがわかる、というわけです。

あとは、オートフィルで求めたいところですが……検索条件を”月”と入力してしまったため、オートフィルでデータを送ると、すべてが「月」となってしまいます。

ここは、連続データのように月・火・水とはいかないことにご注意ください。数式内で「月」という文字列を入れた場合は、オートフィルをしても結果はコピーになります。

そのため、表にある曜日をセル参照しましょう。

これでオートフィルすれば、火、水、木、金…と出力されます。

しかし、相対参照はセル参照のみだけでなく、範囲指定を行った際にも適応されてしまうことを忘れてはいけません。

答えはあっていても、このようにずれてしまい、危ない橋を渡っている数式になってしまいます。

そのため、絶対参照を数式に設定する必要があります。

数式を一度修正するためには、月曜日のセルにアクティブセルをおいて、数式の修正は数式バーの「fx」ボタンを押します。

引数ダイアログが出てきました。これで修正を行ってください。

範囲と合計範囲を、それぞれF4キーを押して絶対参照にしましょう。

再度オートフィルをして、数式は完成です。

これで、検索範囲と合計範囲をずらすことなく、各曜日の合計を求めることができました。

さえちゃんのSUMIF関数ワンポイントアドバイス

絶対参照の設定で使い方に問題はないのだけど、全部で8つドルマークがついてドルドルしていてなんだか気になりますよね。その場合は、範囲・合計範囲をそれぞれ列単位で取得すると楽です。

このように、答えはあっているけれどもドルドルしている。

これを列取得してしまえばOK!

こうすることで、ドルドルしなくなって数式がシンプルになりました。

ただし、これを使うためには条件があり、

① 表の下に表を作成しない
② 数式で使用する列にセル結合をしない

この2つのルールがあります。

SUMIF関数は基本的に集計作業に用いることが多いため、そういったワークシートにはセル結合をしないほうが数式が立てやすくなります。

列取得のほうが断然数式を作成する手間も楽になりますので、SUMIF関数の範囲は列取得! と覚えてしまっていいかもしれません。

関数ライブラリの種類

数学/三角

数式の構文

=SUMIF(範囲,検索条件,合計範囲) 

引数ダイアログ

Microsoft 公式サポート

SUMIF関数 - Office サポート