Aerial view of a man using computer laptop on wooden table
Excelで大量のデータを管理していると、「条件に合ったデータだけを集計したい」という場面がよくあります。そんな時に便利なのが、Excelの「データベース関数」です。中でも「DSUM(ディーサム)」関数は、条件を指定して合計を出す強力な関数です。しかし、使い方に少しクセがあり、初めて触れる人にとっては難しく感じるかもしれません。
本記事では、DSUM関数の基本から実践的な使い方、よくある失敗例とその対処法まで、丁寧に解説します。業務効率化にもつながるDSUM関数の使い方を、ぜひマスターしてみてください。
DSUM関数は、「Database SUM」の略で、Excelのデータベース関数のひとつです。指定した条件に合致するデータの合計を求めることができます。構文は次の通りです。
DSUM(データベース, フィールド, 条件)
この関数を使うと、「売上表の中から東京支店の売上だけを合計」といった処理が簡単に行えます。
たとえば、次のような売上データがあるとします。
店舗 | 商品 | 売上 |
---|---|---|
東京 | A | 1000 |
大阪 | B | 1500 |
東京 | C | 2000 |
名古屋 | A | 1300 |
この表に対して「東京店舗の売上合計」を出したい場合、以下のようにDSUM関数を使います。
A1:C5
とする(1行目は見出し)E1:E2
に設定し、「店舗」「東京」と記入=DSUM(A1:C5, "売上", E1:E2)
これで、東京店舗の売上(1000 + 2000 = 3000)が表示されます。
DSUM関数の強力な特徴は、「複数の条件を指定できる」点です。たとえば、「東京店舗かつ商品Aの売上合計」を求めるには、次のように条件を設定します。
店舗 | 商品 |
---|---|
東京 | A |
この条件範囲(たとえばE1:F2
)を使って、=DSUM(A1:C5, "売上", E1:F2)
と指定すると、「東京かつAの商品」に該当する売上が返されます(この例では1000)。
複数行に条件を分けることで、「または」の条件も設定できます。
店舗 | 商品 |
---|---|
東京 | |
大阪 |
このようにすれば、「東京または大阪の店舗」の売上合計を求めることが可能です。
DSUM関数の2番目の引数「フィールド」は、列名(文字列)または列番号で指定できます。
"売上"
(文字列)で指定するのが一般的ですただし、列番号で指定すると、列の順番を変更した際に意図しない結果になるリスクがあるため、列名の指定を推奨します。
DSUM関数を使っていると、以下のようなエラーや問題に遭遇することがあります。
原因:条件が一致しない、または条件範囲の設定ミス
→ 条件の列名が正しく指定されているか、見出しと一致しているか確認しましょう。
原因:フィールドの指定が不正(列名が存在しない)
→ フィールドに存在しない列名を指定していないか見直してください。
原因:条件のスペースや全角・半角の違い
→ 一見一致しているようでも、全角スペースや違う文字コードでマッチしないことがあります。
DSUM関数は、以下のようなケースでとても便利です。
たとえば、毎月の売上表を部門・商品・担当者別にまとめるようなシーンでは、SUMIF関数よりも柔軟に条件を扱えるDSUM関数が有利な場合があります。
条件付き合計には「SUMIFS」関数もあります。
どちらも似ていますが、以下のような違いがあります。
項目 | DSUM | SUMIFS |
---|---|---|
条件の指定 | 別表で指定 | 数式内で指定 |
OR条件の対応 | 可能 | 難しい |
柔軟性 | 高い(複雑な条件) | シンプルな条件向け |
データベース構造前提 | 必要(見出し行あり) | 不要 |
まとめ:
状況によって使い分けると良いでしょう。
DSUM関数は、見出し付きのデータベースを条件付きで集計したいときに非常に便利な関数です。
一見難しそうに感じるかもしれませんが、構文と条件の範囲指定を理解すれば、業務でのデータ分析や集計作業を効率化できます。
ぜひ、実際のExcelデータでDSUM関数を試してみて、使いこなせるようになりましょう。