DCOUNTA・DPRODUCT・DSTDEV・DVAR は、条件表で選んだ行だけを使って、数える・掛ける・標準偏差・分散を出すデータベース関数です。
E1:E2 の条件表に「店=東」と書いておくと、東の店の行だけが計算に使われます。この記事では、4 つの関数の使い方を、実際の Excel で確かめた結果で説明します。
練習用Excelファイル(無料ダウンロード)
店・商品・数量の表と条件表、この記事の DCOUNTA・DPRODUCT・DSTDEV・DVAR の式をまとめた練習ファイルです。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り
目次
DCOUNTA・DPRODUCT・DSTDEV・DVAR 関数の書き方
=DCOUNTA(表, 列, 条件表)
=DPRODUCT(表, 列, 条件表)
=DSTDEV(表, 列, 条件表)
=DVAR(表, 列, 条件表)
| 引数 | 意味 |
|---|---|
| 表 | 見出しをふくめた表の範囲(A1:C6) |
| 列 | 計算する列の見出し名(”数量”)か、左から何列目か |
| 条件表 | 見出しと条件を書いた範囲(E1:E2) |
合計の DSUM、数値だけを数える DCOUNT は DSUM関数、最大・最小・平均は DMAX・DMIN・DAVERAGE関数で説明しています。
1. 空白でないセルを数える(DCOUNTA)
東の店の行で、「商品」の列が空白でないセルを数えます。
=DCOUNTA(A1:C6,"商品",E1:E2)

結果は 3 でした。DCOUNTA は文字のセルも数えます。
2. 条件に合う数を掛け合わせる(DPRODUCT)
東の店の数量(10・8・6)を掛け合わせます。
=DPRODUCT(A1:C6,"数量",E1:E2)

結果は 480 でした。
3. 標準偏差を出す(DSTDEV)
東の店の数量の標準偏差(標本)を出します。
=DSTDEV(A1:C6,"数量",E1:E2)

結果は 2.00 でした。STDEV.S と同じ計算です。
4. 分散を出す(DVAR)
東の店の数量の分散(標本)を出します。
=DVAR(A1:C6,"数量",E1:E2)

結果は 4.00 でした。標準偏差の 2 乗です。
【実機で検証】DCOUNTA でつまずくところ

| ためしたこと | 式 | 結果 |
|---|---|---|
| DCOUNT で「商品」を数える | =DCOUNT(例!A1:C6,"商品",例!E1:E2) | 0 |
| DSTDEVP(母集団) | =DSTDEVP(例!A1:C6,"数量",例!E1:E2) | 1.63299316 |
| DVARP(母集団) | =DVARP(例!A1:C6,"数量",例!E1:E2) | 2.66666667 |
| 列を番号で指定 DPRODUCT(…,3,…) | =DPRODUCT(例!A1:C6,3,例!E1:E2) | 480 |
| ない列名 “金額” | =DVAR(例!A1:C6,"金額",例!E1:E2) | #VALUE! |
| 条件の「東」を空白にした | =DCOUNTA(例!A1:C6,"数量",E3:E4) | 4 |
「商品」の列を DCOUNT で数えると 0 でした。DCOUNT は数値だけを数えるので、文字の列では DCOUNTA を使います。
母集団の標準偏差 DSTDEVP は 1.63299316、分散 DVARP は 2.66666667 です。列を 3 と番号で指定しても 480 で同じでした。
ない列名を入れると #VALUE! になりました。条件表の「東」を空白にすると 4 で、店にかかわらず数量が入っている行がすべて数えられました。
よくある質問
条件で合計したいときは?
DSUM 関数で、条件表を使った合計と AND・OR の書き方を説明しています。
関数だけで条件つきの数を数えたいときは?
SUMIFS・COUNTIFSなら条件表を作らずに数えられます。
標準偏差の考え方を知りたいときは?
STDEV.S 関数で説明しています。
練習用Excelファイル(無料ダウンロード)
この記事の例をまとめた練習ファイルです。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

コメント