[範囲]と[合計範囲]の高さを一致させるのがポイント

SUMIF」(サム・イフ)関数は、条件を指定して数値を合計したいときに使う定番の関数です。特定の文字列の指定、数値や日付との比較、部分一致での抽出など、さまざまな条件を指定して数値を合計できます。

以下は、あるセミナーの参加者数をまとめた表です。SUMIF関数を使えば、開催地や日付、特定の文字列を含むかどうか、といった条件を指定して参加者数の合計を求められます。

SUMIF関数で数値を合計する。比較演算子とワイルドカードで思い通りに合計可能

SUMIF関数では、例えば『開催地が「新宿」の参加者数だけを合計する」といった計算が可能です。

さっそくSUMIF関数の構文を確認しましょう。


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


引数[範囲]に指定したセル範囲で[検索条件]に一致するデータを探し、[合計範囲]の数値を合計します。ポイントは、[範囲]と[合計範囲]のセル範囲の高さを同じにすることです。

例えば、以下のように[合計範囲]の高さがずれていると正しく合計されません。当たり前なのですが、数式のコピーを繰り返したりすると、このようなミスが発生するので注意してください。

SUMIF関数で数値を合計する。比較演算子とワイルドカードで思い通りに合計可能

範囲]と[合計範囲]のセル範囲の高さがずれていると正しく合計されません。

引数[検索条件]で使える比較演算子とワイルドカード

SUMIF関数の2つ目の引数[検索条件]では、比較演算子とワイルドカードが使えます。指定する条件と組み合わせて、「"」(ダブルクォーテーション)で囲みましょう。

引数[検索条件]に使える比較演算子

演算子 名称 使用例 結果
= 等しい "=5" 5と等しい
<> 等しくない "<>新宿" 「新宿」に等しくない
> より大きい ">5" 5より大きい
< より小さい "<5" 5より小さい
>= 以上 ">=5" 5以上
<= 以下 "<=5" 5以下

引数[検索条件]に使えるワイルドカード

ワイルドカード 意味 使用例 結果の例
* 任意の文字列 "*限定" オンライン限定、会員限定など
任意の文字列+「限定」
? 任意の1文字 "新?" 新宿、新橋、新田など
「新」+任意の1文字

ワイルドカードそのものを検索したいときは、「*」や「?」を「~」で挟んで、「"~?~"」と指定します。

特定の単語に一致する場合に合計する

まずはSUMIF関数の基本の使い方です。指定したセル範囲から「新宿」に一致するデータを探して参加者数を合計します。「=SUMIF(C8:C32,"新宿",D8:D32)」と入力して結果を確認しましょう。

=SUMIF(C8:C32,"新宿",D8:D32)
1SUMIF関数を入力する

SUMIF関数で数値を合計する。比較演算子とワイルドカードで思い通りに合計可能

セルC1に「=SUMIF(C8:C32,"新宿",D8:D32)」と入力します。

2結果が表示された

SUMIF関数で数値を合計する。比較演算子とワイルドカードで思い通りに合計可能

指定したセル範囲で「新宿」に一致するデータの参加者数が合計されました。

続けて、入力した数式を「=SUMIF(C8:C32,E1,D8:D32)」と変更します。セルE1には「新宿」と入力してあります。2つ目の引数[検索条件]はセル参照でも指定できることを確認しましょう。数式の意味は先ほどと同じ、結果も同じです。

=SUMIF(C8:C32,E1,D8:D32)
3引数[検索条件]を修正する

SUMIF関数で数値を合計する。比較演算子とワイルドカードで思い通りに合計可能

セルC1の数式を「=SUMIF(C8:C32,E1,D8:D32)」と修正します。

2結果が表示された

SUMIF関数で数値を合計する。比較演算子とワイルドカードで思い通りに合計可能

セルE1の「新宿」が参照されて結果が表示されました。先ほどと同じですね。

特定の日付に一致する場合に合計する

特定の単語と同様、特定の日付に一致する条件も指定可能です。数式は「=SUMIF(A8:A32,"2020/4/7",D8:D32)」となります。

=SUMIF(A8:A32,"2020/4/7",D8:D32)

SUMIF関数で数値を合計する。比較演算子とワイルドカードで思い通りに合計可能

セルC2に「=SUMIF(A8:A32,"2020/4/7",D8:D32)」と入力した結果です。

「等しくない」場合に合計する

特定の値以外を条件とするときは、比較演算子の「<>」を使います。ここでは「ー」以外の開催地の参加者数を合計します。数式は「=SUMIF(C8:C32,"<>ー",D8:D32)」となります。

=SUMIF(C8:C32,"<>ー",D8:D32)

SUMIF関数で数値を合計する。比較演算子とワイルドカードで思い通りに合計可能

セルC3に「=SUMIF(C8:C32,"<>ー",D8:D32)」と入力した結果です。

なお、比較演算子の「<」や「>」は「"<2020/4/7"」のように、基準の日付「より前」や「より後」という指定も可能です。「<=」や「>=」を使えば「以前」「以降」という意味になります。

任意の文字で終わる場合に合計する

ワイルドカードの「*」を使えば、任意の文字列で終わる条件を指定できます。ここでは「(オンライン限定)」で終わるセミナーへの参加者数を合計します。数式は「=SUMIF(B8:B32,"*(オンライン限定)",D8:D32)」です。

=SUMIF(B8:B32,"*(オンライン限定)",D8:D32)

SUMIF関数で数値を合計する。比較演算子とワイルドカードで思い通りに合計可能

セルC4に「=SUMIF(B8:B32,"*(オンライン限定)",D8:D32)」と入力した結果です。

ワイルドカードの位置を変えれば、自由度の高い条件となります。例えば、「"セミナーA*"」とすれば、「セミナーA」で始まるすべてのデータが一致することになります。

指定した文字数の単語を条件に合計する

指定した文字数の単語を条件として合計することを考えます。任意の1文字を表すワイルドカードは「?」です。数式は「=SUMIF(C8:C32,"新?",D8:D32)」となります。

ここで指定した「新?」とは、『「新」+任意の1文字』という意味です。「新宿」「新橋」などは条件に一致しますが、「新杉田」や「新横浜」は一致しません。

=SUMIF(C8:C32,"新?",D8:D32)

SUMIF関数で数値を合計する。比較演算子とワイルドカードで思い通りに合計可能

セルC5に「=SUMIF(C8:C32,"新?",D8:D32)」と入力した結果です。

SUMIF関数は、条件を指定して数値を合計するときの定番です。複雑な条件も指定できて便利なので、ぜひ実務でも活用してみてください。比較演算子とワイルドカードは、ほかの関数で指定するときも共通です。