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

Home » 媒体 » All About » SUMIFS関数で複数条件を満たすデータの合計を算出
All About, IT・インターネット, エクセル(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関数






コメントを残す