DSUM関数の使い方|条件表で合計する・AND・OR・DCOUNT・DGETも【実機で解説】

DSUM関数の使い方|条件表で合計する・AND・OR・DCOUNT・DGETも【実機で解説】

DSUM 関数は、条件を書いた小さな表(条件表)に合う行だけを合計する関数です。=DSUM(A1:D11,"金額",E1:E2) のように、表全体・合計する列の見出し・条件表の 3 つを指定します。条件をセルに書くので、条件表を書き換えるだけで集計が変わります。

同じ仲間に、件数を数える DCOUNT、条件に合う 1 件を取り出す DGET などがあります(データベース関数)。この記事では、条件表の作り方と AND・OR の書き分けを、実際の Excel で確かめた結果で説明します。

練習用Excelファイル(無料ダウンロード)
売上の表と条件表、この記事の DSUM・DCOUNT・DGET の式をまとめた練習ファイルです。条件表を書き換えて試せます。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り
目次

DSUM・DCOUNT・DGET 関数の書き方

=DSUM(表全体, "合計する列の見出し", 条件表)
=DCOUNT(表全体, "数える列の見出し", 条件表)
=DGET(表全体, "取り出す列の見出し", 条件表)
引数意味
表全体見出しの行を含めた表(A1:D11)
列の見出し“金額” のように見出しの文字で指定(列の番号 4 でもよい)
条件表1 行目に表と同じ見出し、2 行目から下に条件を書いた範囲

条件表のルール:同じ行に並べた条件は「かつ(AND)」、別の行に分けた条件は「または(OR)」になります。見出しは元の表と同じ文字にします。

1. 条件表に合う行を合計する

E1:E2 に「分類=果物」の条件表を作り、果物の金額を合計します。

=DSUM(A1:D11,"金額",E1:E2)
エクセルのDSUM関数で条件表に書いた分類が果物の行の金額を合計した画面
エクセルのDSUM関数で条件表に書いた分類が果物の行の金額を合計した画面

結果は 4,300 でした。E2 を「野菜」に書き換えると、野菜の合計に変わります。

2. 2 つの条件(かつ)で合計する

条件を同じ行に横に並べると「かつ(AND)」になります。分類=果物、かつ、担当=鈴木です。

=DSUM(A1:D11,"金額",E5:F6)
エクセルのDSUM関数で条件表の同じ行に2つの条件を並べて果物かつ鈴木の金額を合計した画面
エクセルのDSUM関数で条件表の同じ行に2つの条件を並べて果物かつ鈴木の金額を合計した画面

結果は 2,500 でした(1,500+1,000)。

3. どちらかの条件(または)で合計する

条件を別の行に縦に並べると「または(OR)」になります。分類が果物、または飲料です。

=DSUM(A1:D11,"金額",E9:E11)
エクセルのDSUM関数で条件表の別の行に条件を並べて果物または飲料の金額を合計した画面
エクセルのDSUM関数で条件表の別の行に条件を並べて果物または飲料の金額を合計した画面

結果は 5,150 でした(果物 4,300+飲料 850)。SUMIFS では「または」を 1 つの式で書きにくいので、ここが DSUM の便利なところです。

4. 条件に合う 1 件を取り出す(DGET)

DGET は、条件に合う行が1 件だけのとき、その値を取り出します。

=DGET(A1:D11,"金額",E14:E15)
エクセルのDGET関数で条件表に書いた商品がぶどうの行の金額を1件取り出した画面
エクセルのDGET関数で条件表に書いた商品がぶどうの行の金額を1件取り出した画面

ぶどうの金額 1,500 が取り出せました。条件に合う行が 2 件以上あると #NUM! になります(下の検証)。

【実機で検証】DSUM でつまずくところ

エクセルのDSUM関数とSUMIFSの一致やDGETの複数件や空欄の条件を確かめた画面
エクセルのDSUM関数とSUMIFSの一致やDGETの複数件や空欄の条件を確かめた画面
ためしたこと式結果
SUMIFS で果物の合計=SUMIFS(DSUM!D2:D11,DSUM!A2:A11,"果物")4,300
DCOUNT で果物の件数=DCOUNT(DSUM!A1:D11,"金額",DSUM!E1:E2)4
DAVERAGE で果物の平均=DAVERAGE(DSUM!A1:D11,"金額",DSUM!E1:E2)1,075
DGET で 2 件ある「りんご」=DGET(DSUM!A1:D11,"金額",A13:A14)#NUM!
条件が空欄の条件表(A16:A17)で DSUM=DSUM(DSUM!A1:D11,"金額",A16:A17)7,250
ない見出し「売上」を指定=DSUM(DSUM!A1:D11,"売上",DSUM!E1:E2)#VALUE!

果物の合計は SUMIFS でも 4,300 で、DSUM と同じでした。DCOUNT で数えると 4 件、DAVERAGE の平均は 1,075 です。

DGET で、2 件ある「りんご」を指定すると #NUM! になりました。DGET は 1 件だけに決まる条件で使います。

条件表の条件が空欄だと、すべての行が条件に合うとみなされ、合計は 7,250(全体)になりました。条件表の範囲に空欄の行を入れないように注意します。表に無い見出し「売上」を指定すると #VALUE! です。

よくある質問

SUMIFS と DSUM はどちらを使う?

条件が決まっていて「かつ」だけなら SUMIFS が手軽です。「または」を混ぜたい、条件を表にして書き換えながら集計したいときは DSUM が便利です。SUMIFS は SUMIFS・COUNTIFSの使い方で説明しています。

「1,000 以上」のような条件は?

条件表の金額の列に >=1000 と書きます。「りん*」のようにワイルドカードも使えます。

DCOUNT と DCOUNTA のちがいは?

DCOUNT は数値の入ったセルだけを、DCOUNTA は空欄でないセルを数えます。文字の列を数えるときは DCOUNTA を使います。

練習用Excelファイル(無料ダウンロード)
この記事の例をまとめた練習ファイルです。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

あわせて読みたい:関連記事

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次