エクセル(Excel)の使い方/関数・数式

SUMIFS関数で複数条件を満たすデータの合計を算出

SUMIFS関数で複数条件を満たすデータの合計を算出する方法を紹介します。SUMIFS関数を使うときに複数の条件のうち、ひとつの条件を指定しない方法や、Excel2003でDSUM関数で代用する方法も解説します。

緑川 吉行

執筆者:緑川 吉行

エクセル(Excel)の使い方ガイド

関数名の末尾に「IF」が付く関数には制約があった

ガイド記事「条件を満たすデータの平均値を算出するAVERAGEIF関数」では、Excel2007で新しくAVERAGEIF関数が追加され、関数名の末尾に「IF」が付く関数がSUMIF関数、COUNTIF関数、AVERAGEIF関数の3種類になったことを紹介しました。

これらの関数は、指定した条件を満たすデータだけを処理できる関数ですが、「指定できる条件は1つだけ」という制約がありました。

たとえば、ガイド記事「条件を満たすデータの平均値を算出するAVERAGEIF関数」では、SUMIF関数の使用例として、セルA16に入力された支店の金額データだけを合計するサンプルを紹介しました。ここで指定した条件は、「支店名」の1つだけです。
SUMIF関数の使用例

SUMIF関数の使用例


「支店名」だけでなく、「商品名」なども条件に加えて処理するデータを絞り込みたい。そういった要望に応える形で、Excel2007では「複数の条件」を満たすデータを処理する関数が追加されました。

 

「複数の条件」を満たすデータだけを処理する関数がExcel2007で登場

追加されたのは、SUMIFS関数、COUNTIFS関数、AVERAGEIFS関数の3つ。いずれも、関数名の末尾に「IF」の複数形を表す「IFS」が付いています。複数の条件を満たすデータだけを対象に、SUMIFS関数は「合計」、COUNTIFS関数は「データの個数」、AVERAGEIFS関数は「平均」を算出します。
関数名の末尾に「IFS」が付いている関数

関数名の末尾に「IFS」が付いている関数

この記事では、これらの関数のうち、SUMIFS関数を詳しく紹介します。

 

複数条件を満たすデータだけを合計できるSUMIFS関数

下図は、Excel2010で作成したSUMIFS関数の使用例です。ここでは、セルB15~D15に入力されている「支店名」「営業名」「得意先名」の3つの条件を満たすデータだけを対象にして、セルE15に売上金額の「合計金額」を算出しています。
SUMIFS関数の使用例

SUMIFS関数の使用例


それでは、セルE15に入力されているSUMIFS関数の内容を確認してみましょう。まず、1つ目の引数「合計対象範囲」には、合計するデータが入力されているセル範囲を、見出しを含めないで指定しています。
 
引数「合計対象範囲」の指定

引数「合計対象範囲」の指定


セルE15 =SUMIFS(E3:E12,B3:B12,B15,C3:C12,C15,D3:D12,D15)

そして、条件データを検索するセル範囲を引数「条件範囲」、条件データが入力されているセルを引数「条件」に指定しています。この2つの引数を1組として、条件の数だけ指定できます。ここでは、「支店名」「営業名」「得意先名」の3組分の引数を指定しています。
引数「条件範囲」と引数「条件」の指定

引数「条件範囲」と引数「条件」の指定



なお、合計金額を算出するには、条件データがすべて入力されている必要があります。もし、「支店名」は「東京」、「営業名」は「鈴木」、「得意先名」は条件を指定しない、という場合は、条件を指定しないセルに「*」を入力してください。
条件を指定しない場合の条件入力

条件を指定しない場合の条件入力

 

Excel2003ではDSUM関数で代用できる

パソコンに「Microsoft Office 互換機能パック」がインストールされている場合、Excel2007で作成したブックをExcel2003で開くことができますが、SUMIFS関数が入力されているブックをExcel2003で開いて再計算を実行すると、「#NAME?」エラーが表示されてしまいます。このような場合は、DSUM関数を代用して、SUMIFS関数と同じような機能を実現しましょう。

下図は、Excel2003を使用して、SUMIFS関数で紹介したサンプルと同じ内容をDSUM関数で作成したものです。
DSUM関数を入力した

DSUM関数を入力した



セルE15に入力されているDSUM関数の内容を確認していきましょう。まず、1つ目の引数「データベース」に、見出しを含めた表全体のセル範囲を指定しています。
引数「データベース」の設定

引数「データベース」の設定

E15 =DSUM(A2:E12,E2,B14:D15)


2つ目の引数「フィールド」には、合計したい列の列見出しだけを指定しています。
引数「フィールド」の設定

引数「フィールド」の設定



そして、3つ目の引数「条件」に、条件を入力するセル範囲を、見出しも含めて指定しています。
引数「条件」の設定

引数「条件」の設定



なお、DSUM関数の場合、合計金額を算出するためにすべての条件データが入力されている必要はありません。もし、「支店名」は「東京」、「営業名」は「鈴木」、「得意先名」は条件を指定しない、という場合は、条件を指定しないセルを空白にしておきます。
条件を指定しない場合の条件入力

条件を指定しない場合の条件入力



今回は、SUMIFS関数を中心に紹介しましたが、AVERAGEIFS関数、COUNTIFS関数も引数の構成は同じなので、ぜひ利用してみてください。Excel2003では、AVERAGEIFS関数をDAVERAGE関数、COUNTIFS関数をDCOUNTA関数で代用できます。

【関連記事】
条件を満たすデータの平均値を算出するAVERAGEIF関数
 
【編集部おすすめの購入サイト】
Amazonで Excel 関連の商品をチェック!楽天市場で Excel 関連の商品をチェック!
※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます