Partition関数 …数値がどの区分に含まれるかを調べる

[Access 2016/2013/2010/2007]

AccessのPartition関数の使い方を紹介します。

スポンサーリンク

書式

Partition(数値, 範囲の先頭, 範囲の最後, 区分のサイズ)

範囲の先頭から範囲の最後までを区分のサイズで区切った中で、数値がどの区分に含まれるかを調べます。アンケート結果を年代別に集計したり、売上を価格帯別に集計するときに使用します。

引数

引数 指定 説明
数値 number 必須 調べる対象の数値を指定
範囲の先頭 start 必須 範囲の先頭の数値を指定。「1~100を10ずつ区切る」場合、「1」を指定する
範囲の最後 stop 必須 範囲の最後の数値を指定。「1~100を10ずつ区切る」場合、「100」を指定する
区分のサイズ interval 必須 区分のサイズの数値を指定。「1~100を10ずつ区切る」場合、「10」を指定する

使用例

使用例 戻り値 説明
Partition(6, 1, 100, 10)  1: 10 1~100を10ずつ区切った中で、6は「 1: 10」に含まれる
Partition(28, 1, 100, 10) 21: 30 1~100を10ずつ区切った中で、28は「 21: 30」に含まれる
Partition(92, 1, 95, 20) 81:95 範囲を区分のサイズで等分できない場合、最後の区分のサイズで調整される
Partition(28, 101, 500, 100)  :100 数値範囲の先頭より小さい場合
Partition(700, 101, 500, 100) 501: 数値範囲の最後より大きい場合
Partition(Null, 101, 500, 100) Null 引数のいずれかがNull値の場合、戻り値はNull値

メモ

戻り値には桁に合わせて適切なスペースが補われる

Partition関数は「最小値:最大値」の形式で戻り値を返しますが、「範囲の最後+1」の桁に合わせて戻り値の「最小値」と「最大値」の先頭にスペースが補われます。

●Partition(3, 1, 98, 10)
「98+1」が2桁なので最小値と最大値が2桁で表示され、戻り値は「□1:10」になる。

●Partition(3, 1, 99, 10)
「99+1」が3桁なので最小値と最大値が3桁で表示され、戻り値は「□□1:□10」になる。

実践例:顧客の年齢を10歳刻みで分類する

顧客の年齢構成を調べたり、年齢ごとの購買傾向を分析したりするときに、5歳刻み、10歳刻みなど、一定の幅で分類したいことがあります。Partition関数は、そんなときに威力を発揮します。

ここでは、クエリを使用して[年齢層]フィールドを作成し、20歳以上59歳以下を10歳の幅で分けることにします。その場合、引数[範囲の先頭]に「20」、[範囲の最後]に「59」、[区分のサイズ]に「10」を指定します。20歳未満と60歳以上は、それぞれひとくくりにまとめられます。なお、下図のデータシートでは[年齢層]フィールドの桁を揃えて表示するために、等幅フォントである「MSゴシック」を使用しています。

年齢層: Partition([年齢],20,59,10)

Partition関数の結果は「30:39」と表示されますが、これを「30~39」のようにわかりやすく表示してみましょう。文字列の置換用の関数であるReplace関数を使用して、「:」を「~」に置き換えます。

年齢層: Replace(Partition([年齢],20,59,10),":","~")

スポンサーリンク

関連記事