ヘルプの森~Excel・Access・Office全般ヘルプデスクサイト

No.013

特定のレコードのみ最初に並べ、他のレコードは普通に並べ替えする

2003/2007/2010/2013/2016

クエリの並べ替えでは、設定されている左のフィールドが優先にになります。これは原則です。
その原則を守りながら変則な並べ替えを行ってみましょう。

例えば、あるフィールドで昇順にも降順にも該当しない特定のレコードを先に並べ、その他のフィールドは通常の昇順などに並べます。
今回は、[F1]フィールドの特定のレコード「B」を最初に並べ、[F3]フィールドで昇順の並べ替えを行います。

テーブル

では、操作です。

クエリをデザイン ビューで開き、特定のレコードかどうかを判別できるような演算フィールドを、通常の並べ替えを行うフィールドより左に新しく作成します。
IIf関数を使用して条件を設定し、特定のレコードは1、そうでなければ0などと返るようにします。
今回は、特定のレコードが[F1]フィールドの「B」ですので、次のような式を設定します。

  式1: IIf([F1]="B",1,0)

IIf関数

式1と書いているフィールド名部分は任意です。
ここで一度、データシート ビューにして確認しましょう。

作成した演算フィールドは今回降順に設定、[表示]のチェック ボックスはオフにします。
これによって、演算フィールドの特定のレコードが最初に並ぶようになりますが非表示となり、本来の[F1]フィールドで表示されます。

あとは残りの通常の並べ替え設定を行ないます。

並べ替えデザイン

結果は次のとおりです。

並べ替え結果

ちょっとした工夫で、変則な並べ替えも可能になります。

twitter hatena line pocket

関連ヘルプ

クエリの演算フィールドについて、式ビルダーの使い方
クロス集計クエリの結果のNull値を「0」と表示する
重複のない一通りデータを取得したい
テーブルのデータ型をクエリで変更する 《データ定義クエリ》
外部結合とは
削除クエリで、別のテーブルまたはクエリと共通するレコードを一括削除する
複数テーブルをつなげてレコードを結合する 《ユニオン クエリ》
クエリで空白(でない)データを抽出したい、Accessの空白について
重複クエリとは
部分一致のパラメーター クエリを作成する、パラメーター クエリの設定方法
更新クエリでテーブルのデータを置換する(文字列の一部更新)
クロス集計クエリを元にパラメーター クエリを実行「~認識できません」エラー
基本的な抽出条件の書き方について
ワイルドカードや数式を使用した高度な抽出
クエリで連番、グループ連番をふる
アクション クエリのメッセージを非表示にするには