Access:クエリでBetweenを使い指定範囲でランク分する方法

ランクを登録したテーブルでクエリを作成し、Betweenでランク分けを行います。

BackHome Backクエリ

ExcelではVLOOKUP関数やRANK関数を使用しランク分けを行いますが、Accessでは範囲を設定したテーブルとBetween演算子でクエリを作成することで作成できます。

作成方法は、ランク付けするデータのテーブルとランクの範囲が登録された2つのテーブルを用意します。

次に2つのテーブルでクエリを作成しますが、この時結合はしません。

ランク付けするデータにBetween~AND演算子を入力すれば完成です。

Between~AND演算子とは、指定した値が範囲内かどうか判定する演算子です。

Between~AND演算子の構文:

  • Between 値1 And 値2 値1、値2 : 判定する値・式
  • 戻り値 : 範囲内であればTrue、そうでなければFalseを返します。

関連する「AccessのVBAでSQLのNotとBetween Andを使い範囲外のレコードを抽出する|フォーム実行例」を掲載していますので参考にしてください。




Betweenを使い指定範囲でランク分するクエリの作成方法

ランク分けを行う、従業員数テーブルです。

従業者数フィールドの数値をランク分けします。

ランク分けを行う、従業員数テーブル

ランク分けの範囲を指定したランク付けテーブルです。

0から10000までをAランク、10001から50000までをBランクのように指定しています。

選択クエリのような、2つのテーブルに共通するフィールドは必要ありません。

ランク分けの範囲を指定したランク付けテーブル

■ ランク分けを行うクエリの作成

リボンの[作成]~[クエリ デザイン]をクリックします。

[クエリ デザイン]をクリック

テーブルの表示ダイアログが開くので、従業員数テーブルとランク付けテーブルをダブルクリックし、クエリ デザイン画面に追加します。

2つのテーブルは結合しません。

追加が終了すると[閉じる]ボタンをクリックし、ダイアログを閉じます。

従業員数テーブルとランク付けテーブルをダブルクリックし追加する

Between演算子の入力

従業員数テーブルから、「コード」「部門名」「従業者数」フィールドをダブルクリックし下に移動します。

ランク付けテーブルから、「ランク」フィールドをダブルクリックし下に移動します。

使用するフィールドの選択

Between演算子を下のように入力します。

Between [T_ランク付け]![開始範囲] And [T_ランク付け]![終了範囲]

これで2つのテーブルは指定した範囲で結合されます。

Between演算子を入力する

リボンの[クエリ ツール]~[デザイン]~結果グループの[実行]をクリックします。

従業者数が指定した範囲でランク分けすることができました。

従業者数が指定した範囲でランク分けすることができた

以上の方法で、ランク範囲を変更したテーブルを元に複数のクエリを作成すれば、テストやシュミレーションが簡単に実行できます。


BackHome Backクエリ

Copyright(C) FeedSoft