DStDev、DStDevP 関数

DStDev 関数および DStDevP 関数を使用して、特定のレコード セット (ドメイン) に含まれる値セット全体に対して標準偏差を導くことができます。 Visual Basic for Applications (VBA) モジュール、マクロ、クエリ式、あるいはフォームまたはレポートの演算コントロールで、DStDev 関数および DStDevP 関数を使用します。

DStDevP 関数は母集団を評価し、DStDev 関数は母集団の標本を評価します。

たとえば、モジュールの DStDev 関数を使用して、学生の試験得点の標準偏差を計算できます。

構文

DStDev ( expr , domain [, criteria] )

DStDevP ( expr , domain [, criteria] )

DStDev 関数および DStDevP 関数には、次の引数があります。

引数

説明

expr

必須。 標準偏差を見つける数値フィールドを識別する式。 テーブルやクエリ内のフィールドを識別する文字列式であることもあれば、対象フィールド内のデータに対して計算を実行する式である場合もあります。 expr では、テーブル内のフィールド、フォームのコントロール、定数、または関数の名前を指定することができます。 expr で関数を指定する場合、その関数は組み込みでもユーザー定義でもかまいませんが、別の定義域の集計関数または SQL 集計関数は使用できません。

domain

必須。 定義域を構成するレコード セットを識別する文字列式。 テーブル名の場合もあれば、パラメーターを必要としないクエリのクエリ名の場合もあります。

criteria

省略可能です。 DStDevまたはDStDevP関数を実行するデータの範囲を制限するために使用する文字列式。 たとえば、条件は、where という単語を除いて、SQL 式の where 句と等価です。 抽出条件を省略すると、DStDev関数とDStDevP関数は、ドメイン全体に対してexprを評価します。 条件に含まれるフィールドは、ドメインのフィールドでもかまいません。それ以外の場合、 DStDev関数およびDStDevP関数は Null を返します。

解説

domain の参照するレコードが 2 つ未満の場合、または criteria を満たすレコードが 2 つ未満の場合、DStDev 関数および DStDevP 関数は Null を返し、標準偏差を計算することはできません。

マクロ、モジュール、クエリ式、または演算コントロールで DStDev 関数または DStDevP のどちらを使用しても、正しく評価されるように criteria 引数を慎重に構築する必要があります。

DStDev 関数および DStDevP 関数を使用して、選択クエリの [抽出条件] 行で抽出条件を指定できます。 たとえば、[受注] テーブルと [商品] テーブルを作成して、平均および運送料を足した数値が標準偏差を超える商品をすべて表示することができます。 [運送料] フィールドの下の [抽出条件] 行には、次の式が含まれます。

>(DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders"))

クエリの集計フィールド式または更新クエリの [更新] 行にある DStDev 関数および DStDevP 関数を使用できます。

注: 集計クエリの集計フィールド式では、DStDev 関数および DStDevP 関数、StDev 関数および StDevP 関数を使用できます。 DStDev 関数または DStDevP 関数を使用する場合、データをグループ化する前に値が計算がされます。 StDev 関数または StDevP 関数を使用する場合、フィールド式の値が評価される前にデータがグループ化されます。

抽出条件を特定する必要があるときには、演算コントロールの DStDev 関数および DStDevP 関数を使用して、関数が実行されるデータ範囲を制限します。 たとえば、カリフォルニアに出荷される注文の標準偏差を表示するには、テキスト ボックスの ControlSource プロパティを次の式に設定します。

=DStDev("[Freight]", "Orders", "[ShipRegion] = 'CA'")

domain 内のレコード全体に対して標準偏差を導くだけの場合は、StDev 関数または StDevP 関数を使用します。

ヒント    expr が導き出すフィールドのデータ型が数字の場合、DStDev 関数および DStDevP 関数は倍精度浮動小数点データ型を返します。 演算コントロールで DStDev 関数または DStDevP 関数を使用する場合は、パフォーマンスを向上させるために、式にデータ型の変換関数を指定します。

注: これらの関数を使用する場合、domain 内のレコードに対して行った変更は、保存しないと指定されません。 変更した値に基づいて DStDev 関数または DStDevP 関数を実行する場合は、[データ] タブの [レコード] にある [レコードの保存] をクリックして、別のレコードへフォーカスを移動するか、または Update メソッドを使用して、最初に変更を保存する必要があります。

クエリの例

結果

[DStDev ("unitprice", "productSales", "unitprice>140") を Expr1、DStDevP ("unitprice"、"productSales" 140<、"unitprice>140")、""、"unitprice" の順にクリックして Expr2 として選択してください。productSales "," unitprice<140 ");

"Unitprice" (sample として指定されているデータを含む) の標準偏差は、"unitprice" が140よりも大きく、結果が Expr1 に表示される "ProductSales" というテーブルから計算します。 また、"unitprice" の標準偏差 (指定されたデータを母集団全体と見なします) を計算し、"単価" を140よりも小さくして、結果を Expr2 で表示します。

Dstdev ("unitprice", "productSales", "unitprice>140") を DstDev、DStDevP ("unitprice"、"productSales"、"unitprice<140") として、dstdevp ("unitprice"、"productSales"、"unitprice>140")、DStDevP ("unitprice")"productSales"、"unitprice<140")

"Unitprice" の標準偏差 (標本として指定されているデータ) を "ProductSales" というテーブルから計算します。このとき、"unitprice" の値は140よりも大きく、結果は DstDev で表示されます。 また、"unitprice" の標準偏差 (指定されたデータを母集団全体と見なします) を計算し、"単価" を140よりも小さくして、結果を DstDevP に表示します。

VBA の例

注: 次の例は、Visual Basic for Applications (VBA) モジュールでのこの関数の使用方法を示しています。 VBA の使用方法の詳細については、[検索] の横にあるドロップダウン リストで [開発者用リファレンス] を選び、検索ボックスに検索する用語を入力します。

次の例では、英国に出荷される注文の母集団と母集団の標本が返されます。 domain は、[受注] テーブルです。 criteria 引数は、ShipCountryRegion 値が英国のレコードを導き出すようにレコードの結果セットを制限します。

Dim dblX As Double
Dim dblY As Double
' Sample estimate.
dblX = DStDev("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")
' Population estimate.
dblY = DStDevP("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")

次の例では、criteria 引数の strCountryRegion 変数を使用して、同じ数値が計算されます。 文字列式に単一引用符 (') が含まれるため、文字列が連結されると、文字リテラルの UK が単一引用符で囲まれます。

Dim strCountryRegion As String
Dim dblX As Double
Dim dblY As Double
strCountryRegion = "UK"
dblX = DStDev("[Freight]", "Orders", _
"[ShipCountryRegion] = '" & strCountryRegion & "'")
dblY = DStDevP("[Freight]", "Orders", _
"[ShipCountryRegion] = '" & strCountryRegion & "'")

注:  このページは、自動翻訳によって翻訳されているため、文章校正のエラーや不正確な情報が含まれている可能性があります。 私たちの目的は、このコンテンツがお客様の役に立つようにすることです。 情報が役に立ったかどうか、ご意見をお寄せください。 参考までに、こちらから英語の記事をお読みいただけます。

Office のスキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×