[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関数を使用して、「:」を「~」に置き換えます。