Sheet基本
DCOUNTA・DSUM 完全ガイド
DCOUNTA・DSUM 完全ガイド
条件範囲で柔軟に絞り込む旧世代の集計関数
COUNTIFS・SUMIFSより古い関数だが、条件をセル範囲で管理できる特徴がある。条件が多い・変動する場合の集計で今でも使われるパターンを解説する。
GASとの関係:条件をシートで管理してGASから呼び出す設計
DCOUNTA/DSUMの「条件範囲をセルに書く」発想は、GASで集計する際の「設定シートから条件を読み込む」設計と同じ方向性です。条件の外部化という考え方が共通しています。
GASで自動化を学ぶ →目次
D関数(データベース関数)とは
DCOUNTA・DSUMはExcel由来のデータベース関数(D関数)で、条件をシートのセル範囲(条件範囲)として指定します。COUNTIFSやSUMIFSと機能は同じですが、条件の管理方法が違います。
基本構文
=DCOUNTA(データベース, フィールド, 条件範囲)
=DSUM(データベース, フィールド, 条件範囲)
| 引数 | 内容 |
|---|---|
| データベース | ヘッダー行を含むデータ全体の範囲 |
| フィールド | 集計する列のヘッダー名(引用符で囲む)または列番号 |
| 条件範囲 | 別の場所にヘッダー+条件値を並べたセル範囲 |
基本的な使い方
データが A1:E100 にあり、F1:G2 に条件範囲を書く場合:
// F1: "地域" G1: "売上"
// F2: "東京" G2: ">=50000"
// → 東京 かつ 売上50000以上の件数
=DCOUNTA(A1:E100, "担当者", F1:G2)
=DSUM(A1:E100, "売上", F1:G2)
COUNTIFSとの比較
| 比較 | DCOUNTA/DSUM | COUNTIFS/SUMIFS |
|---|---|---|
| 条件の書き場所 | シート上の条件範囲(セル) | 関数の引数の中 |
| OR条件 | 条件範囲の行を増やすだけ(得意) | 別途工夫が必要 |
| 可読性 | 条件が外にあるため式がシンプル | 条件が式の中に埋まる |
| 普及度 | 使われることが少ない | 現代の標準 |
D関数の強み:OR条件が簡単に書ける
// 東京 または 大阪 の売上合計(OR条件)
// 条件範囲(F1:F3):
// F1: 地域
// F2: 東京
// F3: 大阪
=DSUM(A1:E100, "売上", F1:F3)
// → 東京行 + 大阪行 の売上合計(ORでまとめて集計)
SUMIFS はAND条件のみなので、ORはSUMIF2回+加算か、SUMPRODUCTが必要です。D関数なら条件行を追加するだけでORが実現できます。
今D関数を使うべき場面
- 条件が多くなりやすいダッシュボードで、ユーザーが条件をシートから変更できるようにしたい
- OR条件が複数あってSUMIFSでは書きにくい場合
- 既存のExcelシートとの互換性が必要な場合
新規で作るならCOUNTIFS/SUMIFSを使う方がシンプルで保守しやすいのが一般的です。
この知識をGASで活かす
D関数の「条件をセル範囲で管理する」設計は、GASで「設定シートから条件を読み込んで集計処理する」パターンに発展します。条件の外部化によって、GASコードを変更せずにシートから動作を制御できます。
Free Newsletter
AIを業務に活かしたいなら
SMR-Labメルマガ
毎週火曜10時、コピペで使えるChatGPTプロンプト・
GASテンプレートをお届け。登録は1分・完全無料。

