条件が一致するものだけを合計するSUMIF関数

関数

SUMIF関数とは

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

意味:検索範囲内で検索条件を満たす行を特定し、合計範囲の値を足す

SUMIF関数で行えるのは、条件を満たすデータの値のみを合計することです。

条件を満たすデータ個数を数えたいときはCOUNTIF関数を利用しますので、次の記事をチェックしてください。

検索範囲・合計範囲の設定

SUMIF関数の範囲設定は「B1:B100」(意味:セルBからB100)など指定できます。

しかし、このような範囲指定をした状態で、列方向へオートフィルをすると、下の数式の範囲が1つずつズレてしまいます。

例えば、「B1:B100」と範囲指定したものを列方向へオートフィルすると、下の数式の範囲は「B2:B101」と1つずつ範囲がズレていきます。

このように範囲がズレてしまうと、作成する表が思うように機能しない場合があります。

範囲ズレを防ぐために範囲の設定は下記の2パターンで行うことをオススメします!

  • 行全体の指定
  • 「$」を利用した固定範囲で指定

行全体の指定

行全体を指定すると、列方向へオートフィルをしても、範囲全体のままなのでズレることはありません。

行全体の指定は「B:B」などとすれば、B行全体を範囲指定したことになります。

また、メリットは範囲がズレないだけではありません。

カウントしたいデータが随時更新される場合、「B 1:B100」などと範囲指定していると、101番目以降にあるデータがカウントされなくなってしまいます。

そこで、行全体を指定していれば、どんなにデータベースが増えても全てのカウントが可能になるというメリットがあります。

ただし、行方向へのオートフィルをした場合は、指定行が1行ずつズレてしまうので注意

「$」を利用した固定範囲で指定

「$」を利用して範囲を固定すると、オートフィルで範囲がズレません。

これは、列方向・行方向に関係なく、「$」をつけていれば、範囲は固定されます。

「$」を利用するとは、動かしたくない要素の前に「$」を入力します。

例:「B1:100」→「$B$1:$B$100」

このように固定すれば、オートフィルをしても、範囲を固定したまま数式を複製できます。

条件式の作り方

数式意味
=A1=1A1は1と等しい
<>A1<>1A1は1以外
>A1>1A1は1より大きい
>=A1>=1A1は1以上
<A1<1A1は1より小さい
<=A1<=1A1は1以下

数値の場合は、条件式にそのまま数字を入力して良いです。

しかし、文字列の場合は、条件式に「”(ダブルクォーテーション)」をつける必要があります。

例)セルA1に「男性」と入力されているかが条件 → 条件式「A1=”男性”」

複数条件で絞って合計したいときはSUMIFS関数

ここまで説明したSUMIF関数は、1つの条件を満たすデータを合計するものでした。

一方、ここで説明する関数は、複数条件を満たすデータを合計するSUMIFS関数です。

SUMIFS(合計範囲 , 検索範囲1 , 検索条件1 , 検索範囲2 , 検索条件2 )

意味:各検索範囲で各検索条件を満たすものの合計範囲を合計する

※条件が3つ以上なら、2つ目同様に後ろに付け足せば良い

※SUMIF関数と異なり、合計範囲が先頭にある点に注意

例)『列Aが「男性」かつ列B「数学」』の列C「点数」の合計を知りたい

式)SUMIFS(C:C , A:A , “男性” , B:B , “数学” )

コメント

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