次の方法で共有


Partition 関数

計算された一連の範囲内で数値が発生する場所を示すVarian (String) を返します。

構文

Partition(number, start, stop, interval)

Partition 関数の構文には、次の名前付き引数があります。

指定項目 説明
number 必須。 範囲に対して評価する数値。
start 必須です。 数値の範囲全体の先頭となる数値。 0 より小さい値は指定できません。
stop 必須です。 数値の範囲全体の末尾である数値。 start 以下の値をこの数字に指定できません。
interval 必須。 1 つの範囲と次の範囲の差である数値。 数値を 1 未満にすることはできません。

注釈

Partition 関数では、number が含まれる特定の範囲を特定し、その範囲を示す Variant (String) を返します。 Partition 関数は、クエリで最も効果的です。 たとえば、さまざまな範囲(例: 1 から 1000、1001 から 2000 など) に含まれる注文数を示す選択クエリを作成することができます。

次の表では、startstopinterval 各パーツの 3 つのセットを使用して範囲が決定される方法を示します。 「最初の範囲」と「最後の範囲」の列は、Partition が返す値を示しています。 範囲は lowervalue: uppervalue により表され、範囲の下限値 (lowervalue) と範囲の上限値 (uppervalue) はコロン (:) により区切られます。

start stop interval 最初より前 最初の範囲 最後の範囲 最後より後
0 99 5 " :-1" " 0: 4" " 95: 99" " 100: "
20 199 10 " : 19" " 20: 29" " 190: 199" " 200: "
100 1010 20 " : 99" " 100: 119" " 1000: 1010" " 1011: "

上記の表の3 行目は、startstop が定義するセットの値が、interval によって均等に割れない場合の結果を示します。 interval は 20 ですが、最後の範囲は stop まで達します (11 個の値)。

Partition は、コロンの左右のそれぞれの文字数を stop の文字数より 1 つ多い文字数にするために、必要に応じて先頭に十分なスペースを含めて範囲を返します。 これにより、Partition を他の数字で使用する場合でも、結果のテキストはその後の並べ替え操作で正しく処理されます。

interval が 1 の場合は、start 引数および stop 引数に関わらず、範囲は number:number になります。 たとえば、interval が 1、number が 100、stop が 1000 の場合、Partition は "100:100" を返します。

引数には 10 進値を指定できますが、処理の前に最も近い偶数の整数に丸められます。 引数のいずれかが Null の場合、 PartitionNull を返します

この例では、Freight フィールドを含む Orders テーブルがあるものとします。 配送料が各範囲に含まれる注文の数をカウントする選択プロシージャを作成します。 最初に Partition 関数を使ってこれらの範囲を設定した後、SQL の Count 関数で各範囲の注文の数をカウントします。

この例の Partition 関数の引数は、start = 0、stop = 500、interval = 50 です。 したがって、最初の範囲は 0:49 であり、上限の 500 まで同様に分割されます。

SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.Freight) AS Count
FROM Orders
GROUP BY Partition([freight],0,500,50);

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。