K-fix Learning & Playing

09 条件付き合計の関数


集計の種類で合計が最も多く利用する関数がSUM関数です。このSUM関数に、条件によって処理を分けることができるIF関数を組み合わせたものがSUMIF関数です。
SUMIF関数は、特定の条件を満たすデータだけを合計を返します。書式は以下になります。

「範囲」:検索したい文字や数値のデータが入力されたセルの範囲を指定します。
「検索条件」:絞り込んで調べたい文字や数値を指定します。
「合計範囲」:検索条件に一致するデータに対応する数値のデータが入力されたセルの範囲で、省略できます。省略した場合は検索範囲が合計の対象になります。

検索条件には、比較演算子やワイルドカードを使って、より複雑な条件を指定することができます。
例えば、A2からA10までに名前、B2からB10までに0~100までの点数が入力されている場合、名前に「川」が付く人の点数の合計を求める数式は「=SUMIF(A2:A10,"*川*",B2:B10)」です。
名前が3文字の人の点数の合計を求める数式は「=SUMIF(A2:A10,"???",B2:B10)」です。「*」と「?」は「ワイルドカード」を呼ばれ、「*」は任意の文字数、「?」は1文字を表します。

複数の条件を指定して数値の合計を求める関数がSUMIFS関数です。書式は以下になります。

「合計対象範囲」:合計する値の入力されたセルの範囲を指定します。
「条件範囲」:条件の検索対象とするセルの範囲を指定します。
「条件」:条件範囲を検索する条件を指定します。

条件範囲と条件はセットで指定し、最大127セットまで指定できます。指定した条件は「AかつB」のようなAND条件となりますが、「AまたはB」のようなOR条件も指定することできます。
AND条件の例として、A2からA10まで名前、B2からB10まで年齢、C2からC10まで点数が入力されている時、名前に「川」が付き、年齢が50以上の人の点数の合計を求める数式は「=SUMIFS(C2:C10,A2:A10,"*川*",B2:B10,">=50")」です。
次にOR条件の例で、名前に「川」または「田」が付き、年齢が50以上の人の点数の合計を求める数式は「=SUMIFS(C2:C10,A2:A10,"*川*",B2:B10,">=50")+SUMIFS(C2:C10,A2:A10,"*田*",B2:B10,">=50")」です。つまり、OR条件にしたい時は、SUMIFSで求めた結果を加算します。