ExcelのDSTDEVP関数の使い方|条件一致行の母標準偏差

スポンサーリンク

「営業部全員の売上のばらつき(母標準偏差)を出したい」「製造ロット全数で寸法のばらつきを見たい」。こんな場面で、フィルタで絞り込んでからSTDEV.P関数を使っていませんか。

条件が変わるたびにフィルタをかけ直すのは、地味に手間ですよね。「今度は総務部」「次は別ライン」と切り替えるたびに、表の見え方が変わってしまいます。共有ファイルだと他の人にも影響するので、気を使う場面も多いはずです。

そんなときに便利なのがExcelのDSTDEVP関数です。条件を別のセル範囲に書いておくだけで、該当するレコードの母標準偏差を自動で返してくれます。条件セルを書き換えれば結果も切り替わるので、簡易ダッシュボードのような使い方もできますよ。

この記事では、ExcelのDSTDEVP関数の基本構文から実務での使い方まで、まとめて紹介します。
DSTDEV関数(標本版)との使い分け、複数条件・OR条件の応用、よくあるエラーの対処法も実例付きで解説しますね。

ExcelのDSTDEVP関数とは?

DSTDEVP関数(読み方: ディースタンダードデビエーションピー)は、条件に合うレコードの母標準偏差を返す関数です。データベース形式の表から、指定した列の値だけを集計対象にできます。

名前は「Database STDEV Population(データベースの母標準偏差)」の略です。末尾の「P」は Population(母集団) を意味します。DSTDEV関数(標本標準偏差)と並ぶ姉妹関数で、対象データを「母集団そのもの」とみなすときに使います。

DSTDEVP関数の特徴をまとめると、次のとおりです。

  • 条件をセル範囲(条件範囲・クライテリア)で指定するスタイル
  • 条件範囲を書き換えるだけで集計条件をすぐ切り替えられる
  • 複数条件(AND条件・OR条件)にも対応
  • 見出し付きのリスト形式のデータが前提
  • 対象データを「母集団(全体)」とみなし、n(件数)で割る母標準偏差を返す
  • レコードが1件だけでもエラーにならず、0が返る(DSTDEVは1件で #DIV/0!

NOTE

DSTDEVP関数はExcel 2003以降のすべてのバージョンで使えます。Microsoft 365、Excel for Web、Mac版でも同じ動作です。

STDEV.P関数との違い(全体のばらつき vs 条件付きのばらつき)

DSTDEVP関数とSTDEV.P関数の最大の違いは「条件を付けられるかどうか」です。

比較項目STDEV.P関数DSTDEVP関数
条件指定できない(範囲全体が対象)できる(条件範囲で絞り込み)
構文=STDEV.P(範囲)=DSTDEVP(データベース, フィールド, 条件)
用途シンプルに範囲全体の母標準偏差を見る特定の条件に合うデータだけの母標準偏差を見る

「範囲全体のばらつきを知りたい」ならSTDEV.P関数で十分です。「営業部の担当分だけのばらつきを見たい」のように条件を付けたいなら、DSTDEVP関数の出番になります。

ExcelのDSTDEVP関数の書き方(構文と引数)

基本構文

=DSTDEVP(database, field, criteria)

引数は3つで、すべて必須です。日本語Excelの数式バーには =DSTDEVP(データベース, フィールド, 条件) と表示されます。

引数の説明

引数必須/任意説明
データベース必須見出し行を含むデータ範囲(例: A1:D8)
フィールド必須標準偏差を求める列の見出し名(文字列)または列番号(数値)
条件必須条件を記述したセル範囲(見出し行+条件行)

それぞれ詳しく見ていきましょう。

データベース(第1引数)

データベースには、見出し行を含めたデータ範囲を指定します。先頭行に列の見出し(「部署」「担当」「売上」など)が入っている必要があります。

フィールド(第2引数)

母標準偏差を求めたい列を指定します。指定方法は2つあります。

  • 文字列で指定: "売上" のように、見出しと同じ文字列をダブルクォーテーションで囲む
  • 数値で指定: データベースの左端列を1として、列の位置を数値で指定する(4列目なら 4

文字列で指定するほうが、あとから見たとき何の列かわかりやすいのでおすすめです。

条件(第3引数)

条件範囲には、見出し行と条件行の2行以上のセル範囲を指定します。これがDSTDEVP関数の最大の特徴です。

条件範囲の作り方は次のセクションで詳しく説明しますね。

TIP

フィールドに列番号を使う場合、データベース範囲の左端が1です。シートのA列が1とは限らないので注意してください。

ExcelのDSTDEVP関数の基本的な使い方

サンプルデータ

次のような売上データを使って説明します。担当者ごとの月間売上をまとめた表です。

 ABCD
1部署担当売上
21営業部田中120
32営業部田中150
43営業部佐藤180
54営業部佐藤90
65総務部鈴木100
76総務部伊藤110
87総務部伊藤105

条件範囲の設定方法

DSTDEVP関数の条件は、別のセル範囲に書きます。ここがSTDEV.P関数との大きな違いです。

条件範囲は次のルールで作ります。

  1. 1行目に見出しを書く — データベースの見出しと完全に同じ文字列を使う
  2. 2行目に条件値を書く — 一致させたい値を入力する

たとえば「営業部」の売上の母標準偏差を求めたい場合、シートの空いているエリア(たとえばF1:F2)に次のように書きます。

 F
1部署
2営業部

数式はこうなります。

=DSTDEVP(A1:D8, "売上", F1:F2)

結果は営業部の4件(120、150、180、90)の母標準偏差で 約33.54 が返ります。営業部全体を「母集団」とみなした場合のばらつきが、ひとつの数値で求められます。

TIP

条件範囲の見出しは、データベースの見出しと1文字でも違うと正しく動きません。コピー&ペーストで作ると確実ですよ。

比較演算子を使った条件

条件値には比較演算子も使えます。

条件値の書き方意味
営業部「営業部」と前方一致
>=100100以上
<150150未満
<>営業部「営業部」以外

たとえば「売上が100以上」のレコードに絞ってばらつきを見たい場合は、条件範囲をこう書きます。

 F
1売上
2>=100
=DSTDEVP(A1:D8, "売上", F1:F2)

対象は100以上の6件(120、150、180、100、110、105)です。母標準偏差は 約28.55 が返ります。

NOTE

文字列の条件値(例: 「営業部」)は既定では前方一致になり、「営業1課」なども一致してしまいます。完全一致にしたい場合は ="=営業部" のように先頭に = を付けてダブルクォートで囲んでください。

ExcelのDSTDEVP関数の実践的な使い方・応用例

複数条件(AND条件)でばらつきを求める

「営業部」かつ「売上が100以上」のように、複数の条件をすべて満たすレコードでばらつきを求めたい場合です。

AND条件は、条件範囲の同じ行に複数の見出し・条件値を横に並べて書きます。

 FG
1部署売上
2営業部>=100
=DSTDEVP(A1:D8, "売上", F1:G2)

結果は営業部で売上100以上の3件(120、150、180)の母標準偏差で 約24.49 が返ります。営業部の中でも好調な案件だけに絞ったばらつきを確認できます。

OR条件でばらつきを求める

「営業部」または「総務部」のように、どちらかの条件に合うレコードからばらつきを求めたい場合です。

OR条件は、条件値を別の行に書くのがポイントです。

 F
1部署
2営業部
3総務部
=DSTDEVP(A1:D8, "売上", F1:F3)

結果は営業部と総務部のすべてのレコード7件分の売上の母標準偏差 約29.51 が返ります。

同じ行に書くとAND条件、別の行に書くとOR条件。このルールを覚えておきましょう。

製造ロット全数の品質ばらつきを把握する

DSTDEVP関数が真価を発揮するのは、対象データが「母集団そのもの」になるケースです。代表的なのが製造ロットの全数測定データです。

 ABC
1製品ライン寸法
2製品A第110.2
3製品A第110.1
4製品A第210.5
5製品A第29.8
6製品B第120.3

製造ロット全数を測定した場合、その測定値そのものが「ばらつきの母集団」です。サンプリングではないため、DSTDEVPで母標準偏差を求めるのが正解になります。

「製品A・第1ライン」に絞って寸法のばらつきを確認する場合です。

=DSTDEVP(A1:C6, "寸法", E1:F2)

条件範囲(E1:F2)には「製品」「ライン」の見出しと「製品A」「第1」を入れておきます。母標準偏差を品質管理のしきい値と比較すれば、ライン別の安定性評価に使えますよ。

全社員データから部署別の評価ばらつきを比較する

社員評価のように「対象が全社員」の場合も母集団扱いが正しい使い方です。条件範囲の部署セルだけを書き換えれば、部署ごとのばらつきをサッと比較できます。

 F
1部署
2営業部
=DSTDEVP(A1:D8, "売上", F1:F2)

営業部の売上4件(120、150、180、90)で 約33.54 が返ります。
F2セルを「総務部」に書き換えてみてください。総務部の売上3件(100、110、105)の母標準偏差 約4.08 に切り替わります。

同じ売上規模でも、営業部のほうが案件ごとの差が大きく、総務部は安定している。こうした傾向をひと目で比較できるのがDSTDEVP関数の便利なところです。

条件範囲を切り替えて分析を素早く変える

DSTDEVP関数の大きな強みは、条件をセルに書いているため、セルの値を書き換えるだけで結果が即座に変わる点です。

たとえば条件範囲のF2セルを「営業部」から「総務部」に書き換えるとします。DSTDEVP関数の結果が自動的に総務部のばらつきに切り替わります。数式を修正する必要はありません。

データの入力規則(プルダウンリスト)と組み合わせるのもおすすめです。選択するだけで部署別のばらつきをサッと確認できる簡易ダッシュボードが作れますよ。

ExcelのDSTDEVP関数とDSTDEV関数の使い分け

DSTDEVP関数とよく似たDSTDEV関数は、どちらも条件付きで標準偏差を求めます。違いは「データを母集団とみなすか標本とみなすか」です。

比較項目DSTDEVP関数DSTDEV関数
扱いデータは「母集団(全体)」データは「標本(サンプル)」
計算式偏差二乗和を n で割る偏差二乗和を n-1 で割る
結果やや小さめの値(母標準偏差)やや大きめの値(不偏標準偏差)
1件のみのとき0が返る(エラーにならない)#DIV/0! エラー
用途対象データが全体そのものであるときサンプルから全体を推定したいとき

判断フロー: DSTDEVP?それともDSTDEV?

迷ったときは次の質問を順番にチェックしてみてください。

  1. 手元のデータは「分析対象のすべて」ですか?
  • はい → DSTDEVP関数(例: 全社員の評価、製造ロット全数)
  • いいえ、一部だけ → DSTDEV関数(例: アンケート回答者の一部、抽出検査)
  1. そのデータからもっと大きな集団を推定したいですか?
  • はい、推定したい → DSTDEV関数(標本から母集団を推定)
  • いいえ、このデータの傾向だけ知りたい → DSTDEVP関数

実務では「全数か、抜き取りか」を意識すると判断しやすくなります。製造業の全数検査・全社員データ・全コール記録は母集団扱いでDSTDEVP。市場調査の抜き取りサンプルや抽出検査はDSTDEV、というイメージです。

NOTE

同じデータに対してDSTDEVPはDSTDEVよりわずかに小さい値を返します。これは分母が n か n-1 かの違いによるもので、件数が少ないほど差が大きく出ます。100件あれば差はごくわずか、5件くらいだと目に見えて違いが出ますよ。

似た関係の関数には、条件なしで全体のばらつきを出すSTDEV.P関数(母集団)とSTDEV.S関数(標本)があります。条件付きで分散を出すDVARP関数・DVAR関数もあるので、用途に応じて使い分けてくださいね。

DSTDEVP関数のよくあるエラーと対処法

DSTDEVP関数で「思った結果にならない」ケースをまとめました。

症状原因対処法
#NUM! エラー条件に一致するレコードが0件条件範囲のスペル・条件値を見直す
#VALUE! エラーフィールドに存在しない列名を指定しているデータベースの見出しと完全一致する文字列を使う
結果が0になる条件一致が1件のみ、または対象データの値がすべて同じ1件しかないと偏差ゼロで0が正解。複数件あって0なら値がすべて同じ
結果が想定より大きい条件範囲に空白行が含まれている条件範囲を必要な行だけに絞る(空白行は「すべて一致」と解釈される)
結果が想定より小さいDSTDEV(n-1で割る)とDSTDEVP(nで割る)を取り違えている母集団扱いならDSTDEVPで正しい。標本扱いならDSTDEVに切り替える
STDEV.Pと結果が違う条件で絞った対象レコードが違う条件範囲の見出し・条件値を見直して対象レコードを確認する
想定と違う列のばらつきが返るフィールドの列番号を間違えている列番号ではなく見出し名(文字列)で指定するのがおすすめ
条件が部分一致になる文字列条件は既定で前方一致完全一致したい場合は ="=営業部" のように先頭に = を付ける
文字列の列でエラーになるDSTDEVP関数は数値列のばらつきを返す関数文字列の列を指定すると計算対象にならない。数値列を指定すること

TIP

#NUM! エラーで悩んだら、まず条件に合うレコード数をDCOUNT関数で確認してみてください。件数が0件だと、そもそも計算対象になりません。

まとめ

ExcelのDSTDEVP関数は、データベース形式の表から条件に合うデータの母標準偏差を求める関数です。

ポイントを整理します。

  • 構文は =DSTDEVP(データベース, フィールド, 条件) で、引数は3つすべて必須
  • 条件は数式内ではなく、セル範囲(条件範囲・クライテリア)に書くのが特徴
  • 条件範囲は「見出し行+条件行」のセットで作る
  • 同じ行に条件を横並びにすればAND条件、別の行にすればOR条件
  • 条件セルの値を変えるだけで分析対象を切り替えられる
  • STDEV.P関数は全体のばらつき、DSTDEVP関数は条件付きのばらつき
  • DSTDEV関数は標本前提で、nではなく n-1 で割る
  • DSTDEVP関数はレコードが1件だけでも0が返り、エラーにならない
  • 全数測定・全社員データなど「母集団そのもの」のときに使う
  • 結果がおかしいときはまず「条件範囲の見出し」と「DSTDEVとの取り違い」をチェック

製造ロット全数の品質ばらつきや、全社員データの部署別評価ばらつきの比較で威力を発揮する関数です。まずはサンプル表で =DSTDEVP(A1:D8, "売上", F1:F2) から試してみてくださいね。

関連記事

タイトルとURLをコピーしました