データベースから条件に合うデータの合計を求める…DSUM関数

[Excel 2016/2013/2010/2007]

データベース関数のひとつDSUM関数を使用すると、データベース形式の表から条件に合うデータを探して合計を求められます。データベース形式とは、1行目に列見出し、2行目以降にデータが入力された表のことです。

スポンサーリンク

作例…受注データベースから11/1以降の東京都の受注額の合計を求める

図1の受注データベースから条件表の条件に合うデータを探し、該当データの「受注額」を合計します。

DSUM関数の引数[データベース]に受注データベースのセル「A2:E10」、[フィールド]に「受注額」の文字が入力されているセル「E2」、[条件]に条件表のセル「A13:E14」を指定します。

[データベース]から[条件]に合うデータを探して[フィールド]列を合計する
=DSUM(データベース, フィールド, 条件)

セルG14 | =DSUM(A2:E10,E2,A13:E14)

図1 DSUM関数を使用して、2017/11/1以降の東京都の受注額(★印)を合計する。

注意

文字列の「完全一致条件」の注意
図1では「地区」の条件として「東京都」と入力していますが、この条件の実際の意味は「東京都で始まる」です。正確に「東京都」を抽出するには、「=東京都」という条件を指定する必要があります。詳しくは「データベース関数で文字列の完全一致条件を指定する」を参照してください。

関数解説…DSUM関数

=DSUM(データベース, フィールド, 条件)

データベース]から[条件]に合致するデータを探し、見つかった行の[フィールド]列のデータの合計を求めます。条件に合致するデータが見つからない場合は、「0」が返されます。

引数

引数 指定 説明
データベース 必須 データベースのセル範囲を指定する。1行目に列見出しを入力しておくこと
フィールド 必須 合計対象の列見出しの文字列を指定するか、データベースの左端から数えた列番号を指定する
条件 必須 条件表のセル範囲を指定する。1行目に列見出しを入力しておくこと

メモ

データベース関数
「データベース関数」には、DSUM関数(合計)、DAVERAGE関数(平均)、DCOUNT関数(数値の個数)、DCOUNTA関数(データの個数)、DMAX関数(最大)、DMIN関数(最小)などがあります。いずれも[データベース][フィールド][条件]の3つの引数を持ちます。

引数[フィールド]の指定方法

引数[フィールド]には、合計対象の列見出しが入力されているセルを指定するか(式1)、列見出しの文字列をダブルクォーテーション「”」で囲んで指定するか(式2)、データベースの左端列を「1」として数えた列番号を指定します(式3)。

式1 | =DSUM(A2:E10,E2,A13:E14)
式2 | =DSUM(A2:E10,"受注額",A13:E14)
式3 | =DSUM(A2:E10,5,A13:E14)

引数[条件]の指定の注意

1行目に列見出しを入力する

データベース関数では、条件の対象とする列を、条件表の1行目に入力された列見出しで判断します。条件表の1行目には、必ずデータベースの列見出しと同じ文字列を入力してください。

AND条件は同じ行、OR条件は異なる行に入力する

図2条件表1のように複数の条件を同じ行に入力すると、「条件A、かつ、条件B」という意味のAND条件になります。条件表2のように複数の条件を異なる行に入力すると、「条件A、または、条件B」という意味のOR条件になります。詳しくは、「データベース関数でAND条件/OR条件を指定する」を参照してください。

図2 AND条件は同じ行、OR条件は異なる行に入力。

空白セルはOK、空白行はNG

引数[条件]に指定する条件表の条件欄に、空白セルがあってもかまいません。図3条件表1では「列見出し1」「列見出し3」の条件欄が空白ですが、問題ありません。条件表1条件表2は同じ条件を表します。

ただし、条件表の1行まるごと空白にしてしまうと、データベースの全データが集計されるので注意してください。例えば、条件表3では、「条件A」「条件B」が無視され、データベースの全データが集計対象となります。

図3 条件表1条件表2は同じ条件を表す。条件表3では「条件A」「条件B」が無視され、データベースの全行が集計される。

メモ

データベース関数の条件の指定方法
条件の指定方法は、次のページを参考にしてください。
スポンサーリンク

関連記事