
Excelで合計を計算するときはSUM関数を使いますが、性別や県別など条件を指定して合計を計算するときは「SUMIF」関数を使います。
下図はExcel2016です。
< スポンサーリンク >
SUMIF関数
指定した条件を満たす範囲内の値を合計します。
SUMIF(範囲, 検索条件, [合計範囲])
範囲=必須。条件によって評価するセル範囲を指定。 各範囲のセルには、数値か、数値を含む名前、配列、または参照が含まれている必要があります。空白と文字列は無視されます。
検索条件=必須。計算の対象となるセルを定義する条件を、数値、式、セル範囲、文字列、または関数で指定。
※文字列条件や、論理記号または数学記号を含む条件は、二重引用符(“)で囲む必要があります。条件が数値の場合、二重引用符は不要です。
合計範囲=省略可能。範囲引数で指定したセル以外のセルを加算する場合は、加算する実際のセルを指定。「合計範囲」を省略すると、「範囲」で指定したセル(条件が適用されるセル)が加算されます。
- SUMIF 関数を使用して255文字より長い文字列と文字列 #VALUE! を照合すると、間違った結果が返されます。
- 「合計範囲」 に含まれるセルのサイズと形状は、必ずしも「範囲」と一致している必要はありません。加算の対象となる実際のセルは、「合計範囲」の左上のセルを基準にして決定され、サイズと形状が「範囲」に対応するセルが含まれます。
SUMIF関数の使用例
日付(A列)が2019年7月2日以降の販売数(C列)を合計しています。
=SUMIF(A2:A5,”<=2019/7/2″,C2:C5)

日付(A列)が何も入力されていない販売数(C列)を合計しています。
=SUMIF(A2:A5,””,C2:C5)

販売数(C列)が10以上を合計しています。
=SUMIF(C2:C5,”<=10″)

販売数(C列)が10のものを合計しています。
=SUMIF(C2:C5,10)

文字列の一部と一致するものを合計する場合
文字列の一部と一致するものを合計する場合は、ワイルドカードを使います。
商品(B列)がりんごで終わるものの販売数(C列)を合計しています。
=SUMIF(B2:B5,”*りんご”,C2:C5)

商品(B列)が野菜で始まるものの販売数(C列)を合計しています。
=SUMIF(B2:B5,”野菜*”,C2:C5)

SUMIF関数とSUM関数の違い
「合計するだけ」でよいか「条件付きで合計したい」かで使う関数が変わります。
- SUM関数=範囲内のすべての数値を無条件で合計する。詳しくはSUM関数、加算演算子の使い方を参照。
- SUMIF関数=範囲内で条件に一致する値だけを合計する。
「複数の条件」を同時に満たす値を合計したい場合は、SUMIF関数ではなくSUMIFS関数を使う必要があります(SUMIF関数は条件を1つしか指定できません)。
SUMIF関数が0になる・正しく合計されないときの原因
SUMIF関数で結果が0になったり、想定と違う合計になったりするときは、主に以下の原因が考えられます。
- 数値が文字列として入力されている=セルの表示が数値に見えても、実際は文字列(左詰めで表示される)だと合計対象外になります。セルの書式や「数値に変換」機能で数値化してから計算します。
- 検索条件の二重引用符の付け忘れ・付けすぎ=比較演算子や文字列条件は”<=10″のように二重引用符で囲む必要があります。数値だけを指定する場合は不要です。
- 「範囲」と「合計範囲」の行数・列数がずれている=2つの範囲は同じ行数で指定するのが基本です。ずれていると意図しないセルが合計されてしまいます。
- ワイルドカード(*や?)を条件に含む文字自体として使いたい場合=*や?をそのまま検索したいときはチルダ(~)を前に付けてエスケープする必要があります(例:”~*”)。
まとめ
SUMIF関数を使うと、性別や日付、金額の範囲など「条件付きの合計」を数式ひとつで求められます。範囲・検索条件・合計範囲の3つの引数を正しく指定すること、検索条件の二重引用符やワイルドカードの使い方に注意することがポイントです。複数条件を組み合わせたい場合はSUMIFS関数、条件なしで合計するだけならSUM関数を使うというように、目的に応じて使い分けましょう。
こんな記事も書いています
