【エクセル時短】は「少しでも早く仕事を終わらせたい!」というビジネスパーソンのみなさんに、Excelの作業効率をアップするワザをお届けする連載です。毎週木曜日更新。
過去の記事一覧はこちら【エクセル時短まとめ】

いきなりですが問題です。以下のようなExcelの表があるとき、ソフトドリンクだけの販売額の合計を求めるには、どうしますか?

【エクセル時短】「SUM」の一歩先へ!「SUMIF」の使い方とワイルドカードの応用ワザ

この画面の下にも、ずっとデータが続いていると考えてください(クリックで拡大)。

SUM関数の引数として「ソフトドリンク」の「販売額」のセル範囲を1つずつ指定する......なんて方法は論外ですよね。フィルターで抽出→コピーするのも面倒ですし、条件を変えたいときにフィルターをやり直すのも手間がかかります。

そんなときに便利なのが「SUMIF」(サム・イフ)関数。【エクセル時短】第21回では、「SUM」関数からステップアップするための定番関数「SUMIF」について解説します。

範囲を指定してから条件を指定

SUMIF関数は、条件を満たすデータを合計します。構文は以下のとおりです。

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

引数[範囲]に指定したセル範囲の中から[検索条件]に一致するデータを探して、[合計範囲]を合計します。

さっそく、ソフトドリンクだけの販売額の合計を求めてみます。

【エクセル時短】「SUM」の一歩先へ!「SUMIF」の使い方とワイルドカードの応用ワザ

セルI3に「=SUMIF(C3:C128,"ソフトドリンク",F3:F128)」と入力します。

【エクセル時短】「SUM」の一歩先へ!「SUMIF」の使い方とワイルドカードの応用ワザ

ソフトドリンクだけの販売額の合計が一瞬で求められました。

範囲]として「分類」列を指定し、[検索条件]を「"」(ダブルクォーテーション)で囲んだ「"ソフトドリンク"」としました。[合計範囲]には「販売額」列を指定しています。

この例では[検索条件]を直接指定していますが、「ソフトドリンク」という文字列はセルH3に入力してあるので、

=SUMIF(C3:C128,H3,F3:F128)

のようにセル参照にしても、同じ結果が得られます。セルH3のデータを書き換えて条件を変えられるので便利です。

また、[検索条件]には日付や数値も指定できます。例えば、[日付]が「7月5日」の[販売額]を合計するなら、「=SUMIF(A3:A128,"=2017/7/5",F3:F128)」とします。[価格]が「500円以下」の[販売額]を合計するなら、「=SUMIF(D3:D128,"<=500",F3:F128)」とします。不等号は半角で入力してください。

あいまいな条件はワイルドカードで

今度はワインだけの販売額の合計を求めてみましょう。表の「分類」列に「ワイン」という項目はありませんが、「商品名」列のデータの一部に「ワイン」という単語が含まれています。

このような、あいまいな条件を指定したいときは「ワイルドカード」を使います。「*」や「?」です。「ワイン」を含むデータを検索したいときは、[検索条件]に「"*ワイン*"」と指定します。

ワイルドカードの「*」は「0文字以上の任意の文字列」、「?」は「任意の1文字」の意味になります。検索したい文字数が決まっているなら、文字数分「?」を入力して「"????茶"」のように指定します。

【エクセル時短】「SUM」の一歩先へ!「SUMIF」の使い方とワイルドカードの応用ワザ

セルI4に「=SUMIF(B3:B128,"*ワイン*",F3:F128)」と入力します。ワイルドカード(*)によって「ワイン」を含むデータが検索され、販売額の合計が求められます。

いかがでしたか? 以下のリンクにあるSUMIF関数のリファレンスは、GoogleやYahoo!の検索からアクセスする人が多い、できるネットの人気記事の1つです。あわせて参照して、SUMIF関数をマスターしてください。