SUMIF関数は条件の範囲内を合計

SUMIF関数とは、「ある条件を満たすデータだけを検索して合計を算出する」関数です。
SUMIF関数

SUMIF関数(画像はエクセルの使い方 ガイド緑川吉行氏作成)


下のような売上実績データから、大阪支店の売上金額だけ合計して算出することができたり、支出額データから特定の用途を指定して金額を合計したりと、ビジネスから家庭用まで幅広く役立つSUMIF関数。今回は、そんなSUMIF関数の基本的な使い方と、様々な場面で使いやすい応用法をご紹介します。
 
SUMIF関数

(画像はガイド記事「条件を満たすデータの平均値を算出するAVERAGEIF関数」より引用)

 <目次>  

SUMIF関数の使い方

それでは、実際にSUMIF関数を使って特定のデータの合計を算出してみましょう。例として、下の「4月の支出額リスト」から「用途」が「食費」の「金額」だけを合計します。

 
SUMIF関数

このデータから「用途」が「食費」の「金額」を合計して算出したい


このときの数式は、

=SUMIF(B3:B14,”食費”,C3:C14)

です。これをC16のセルに入力します。
 
SUMIF関数

「検索条件」を「””(ダブルクオーテーション)」で囲むのを忘れずに


すると、「金額」データの中から「用途」が「食費」のものだけが合計され、C16セルに「7010」と表示されました。
SUMIF関数

「用途」が「食費」のデータだけを合計できた


数式を直接入力する以外にも、数式タブの「関数の挿入」ボタンからSUMIF関数を選択して使用することもできます。
 
SUMIF関数

数式タブにある「関数を挿入」ボタン
 

合計を表示させたいC16セルを選択した状態で、「関数の挿入」をクリック。「関数名」の一覧からSUMIF関数を選択すると下のような入力欄が表示されるので、「範囲」「検索条件」「合計範囲」にそれぞれ指定したいセルを入力しましょう。
 
SUMIF関数

引数を入力する画面が表示される


これで「OK」を押しても、先ほどと同じように「7010」と表示されます。
 

応用1.特定の文字を含むデータを合計したい場合

ここからは、SUMIF関数の応用法について解説していきます。まずは、特定の文字を含むデータを合計したい場合について。例として、以下の購入リストの中から「チョコ」という文字を含むものの金額を合計したいとします。
 
SUMIF関数

ここから「チョコ」を含む商品の金額を合計したい


このとき、数式の「検索条件」には「*チョコ*」と入力します。「チョコ」の前後を「*(アスタリスク)」で囲みましょう。したがって、入力する数式は、

=SUMIF(B2:B8,”*チョコ*”,C2:C8)

となります。
SUMIF関数

「検索条件」には「*チョコ*」と記入


すると、C11セルに「370」と表示されます。
 
SUMIF関数

「イチゴチョコ」「チョコレート」「ホワイトチョコ」の合計


この「*(アスタリスク)」はワイルドカードといって、特定の文字列を抽出したいときに使用します。抽出したい文字列の前後両方にワイルドカードをつけると、その文字を含む文字列が抽出されます。

「*チョコ」のように、文字の前にワイルドカードをつけると末尾が「チョコ」の文字列が抽出され、逆に「チョコ*」とすると先頭に「チョコ」がつく文字列が抽出されます。
 
SUMIF関数

末尾が「チョコ」の文字列を抽出するとき


「検索条件」に「*チョコ」と入力すると……
 
SUMIF関数

「検索条件」を「*チョコ」にした場合の表示


「イチゴチョコ(200円)」と「ホワイトチョコ(90円)」の合計が算出されました。「チョコレート(80円)」は含まれていないことが分かりますね。
 

応用2.日付を条件に指定する場合

条件に日付を指定することも可能です。条件が日付のとき、以下の3つに場合分けされると思います。

1、特定の日付以降の合計を算出

=SUMIF(日付範囲,">=yyyy/mm/dd",合計範囲)

たとえば4月10日以降のデータを合計したいとき、数式は

=SUMIF(A3:A14,">=2017/4/10",C3:C14)

となります。
 
SUMIF関数

4月10日以降の支出合計は「85010」と表示された


2、今日以前の合計を算出
条件として指定したい日付が今日の場合、以下のような数式でも合計を出すことができます。

=SUMIF(日付範囲,"<="&TODAY(),合計範囲)

3、日付セル以前の合計を算出
日付セルを指定して、それ以前の合計を算出することもできます。例えば、4月7日よりも前の合計を出す場合、A4セルを指定して次のような数式を入力します。

=SUMIF(日付範囲,"<="&A4,合計範囲)
 
SUMIF関数

4月7日以前の支出額の合計
 

応用3.”以外”を条件にしたい場合

「検索条件」に「<>○〇(検索対象外に指定するもの)」と入力します。例えば、「交通費」以外の金額合計を算出したい場合、「検索条件」には「”<>交通費”」と入力。全体の数式は、

=SUMIF(B3:B14,"<>交通費",C3:C14)

となります。
SUMIF関数

「〇〇以外」を検索条件にしたいときは「<>〇〇」とする
 

これで、交通費以外の金額が合計され、C16には「93210」と表示されます。
 
SUMIF関数

交通費以外の支出額が算出できた

 

応用4.OR条件を入れたい場合

最後に、検索条件にOR条件を入れたい場合について。SUMIF関数を用いて「AもしくはB」を検索条件に指定できるのは、AとBに重複するデータが存在しない場合のみです。

たとえば今回の例なら、「用途」が「食費」または「交通費」の金額の合計を算出することはできます。この場合、「食費」の合計を導く数式と「交通費」の合計を導く数式を合計しましょう。入力する数式は、

=SUMIF(B3:B14,”食費”,C3:C14)+ SUMIF(B3:B14,”交通費”,C3:C14)

です。簡単ですね。

しかし、「4月10日以前」または「食費」の合計を算出というように、複数の条件を同時に満たすデータが存在する場合、SUMIF関数を使うとかなり面倒な数式になってしまうので、先にIF関数で「4月10日以前」かつ「用途」が「食費」であるデータを導いてからSUM関数を使用した方がよいでしょう。

SUMIF関数

「4月10日以前」と「食費」を同時に満たすデータが存在するのでSUMIF関数では合計できない
 

複数条件を同時に満たすデータの合計を出すにはSUMIFS関数

SUMIF関数は基本的に1つの条件を指定して合計を算出する関数ですが、Excel2007より追加されたSUMIFS関数を使えば、複数条件を同時に満たすデータの合計を出すことができます。
 
SUMIFS関数

画像はガイド記事「SUMIFS関数で複数条件を満たすデータの合計を算出」より引用


上の例では、支店が「東京」で営業した人が「佐藤」、そして得意先が「株式会社エクセル」という3つの条件を同時に満たすデータが3行目と12行目に存在しますね。このような複数条件を同時に満たすデータの合計を出すときにSUMIFS関数が使えます。

SUMIFS関数については、ガイド記事「SUMIFS関数で複数条件を満たすデータの合計を算出」で詳しく解説しているので、そちらをご覧ください。

【関連記事】

※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。