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 関数の実行対象となるデータ範囲を制限する文字列式。たとえば、criteria は多くの場合、WHERE という語句がないだけで、SQL 式の WHERE 句と同等です。criteria を省略した場合、DStDev 関数および DStDevP 関数は、定義域全体に対して expr を評価します。criteria に含めるすべてのフィールドは、domain 内のフィールドであることも必要です。そうでない場合、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 メソッドを使用して、最初に変更を保存する必要があります。

注: 次の例は、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 Insider に参加する

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

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

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

×