5/17/2025

Access。クエリ。ランクSABCという順番で並べ替えしたい【rank】

Access。クエリ。ランクSABCという順番で並べ替えしたい

<Access:クエリ Switch関数>

売上高によって、ランク分けしてあるテーブルがあります。

Switch関数

ランキングをみると、SABCと振り分けられていることが確認できます。


このランキングの列をSABCという順番で並べ替えをしたいのですが、どのようにしたらいいのでしょうか。


Accessには、Excelのような、ユーザー設定リストはありません。


並べ替え用の作業列をつくって、その作業列で並べ替えをするのでは、効率が悪化します。


そこで、Switch関数をつかったクエリをつくることで対応することができます。


では、作成タブのクエリデザインをつかって、クエリを作成します。


必要なテーブルフィールドを挿入します。


今回は、すべてのフィールドをつかうことにします。


作業列という演算フィールドをつくります。

作業列: Switch([ランキング]="S",1,[ランキング]="A",2,[ランキング]="B",3,[ランキング]="C",4)


並べ替えを昇順に設定します。


この段階でどのようなクエリになっているのか、実行して確認してみます。


ランキングはSABCの順番で並べ替えができています。


あとは、作業列を非表示にします。


そして、同じランキングの場合、売上高が降順のほうがわかりやすいので、それも含めて修正します。


デザインビューに戻ります。


作業列演算フィールドは並べ替えの条件で使用しているフィールドなので、表示を□にして非表示にします。


そして、売上高フィールドに降順にします。


なお、今回は、売上高に準じたランキングなので、問題はありませんが、Accessは左側の並べ替え設定に優先があります。

場合によっては、並べ替え用のフィールドを追加する必要があります。


では、実行して確認しましょう。


このように、ランキングSABC順で、売上高降順のクエリをつくることができました。


Switch関数は、複数の項目に番号付けを行うことができる関数なので、Sを1、Aを2というように番号付けをすれば、並べ替えは容易になるという仕組みです。