並べ替え
機能
《並べ替え》は、開いているテーブルのレコードを、キーにしたフィールドの値の順(昇順または降順)に並べ替えて、新しいテーブルを作成する機能です。キーは複数指定でき、1つ目のキーの値が同じレコードは2つ目のキーの順に並びます。元のテーブルは変更されません。
| 売上日 | 商品No | 単価 | 数量 |
|---|---|---|---|
| 2024/04/10 | B02 | 800 | 3 |
| 2024/05/20 | A01 | 1200 | 4 |
| 2024/06/15 | C03 | 500 | 10 |
| 2024/07/01 | A01 | 1200 | 2 |
→
| 商品No | 売上日 | 単価 | 数量 |
|---|---|---|---|
| A01 | 2024/05/20 | 1200 | 4 |
| A01 | 2024/07/01 | 1200 | 2 |
| B02 | 2024/04/10 | 800 | 3 |
| C03 | 2024/06/15 | 500 | 10 |
- 作成するテーブルのフィールドは、キーにしたフィールドがキーの順に先頭に並び、その後に「その他出力フィールド」で選択したフィールドが並びます。
- 「その他出力フィールド」を選択しない場合は、キーにしたフィールドだけのテーブルになります。
- すべてのキーの値が同じレコードは、元のテーブルの順のまま並びます(降順の場合も同じです)。
- フィールド名・データ型・書式と値は、元のテーブルと同じです(前後の空白もそのままです)。
メニュー
《加工》-《並べ替え》
- テーブルを開いている場合に使用できます。開いているテーブルが並べ替えの元のテーブルになります。
- テーブルの画面で条件式を設定している場合は、その条件式が「条件式」に入力された状態で開きます。
- 操作ログから並べ替えのコマンドを修正することもできます(「■ 操作ログからコマンドを修正する場合」参照)。
操作ログからコマンドを修正する場合
操作ログで並べ替えのコマンドを修正すると、コマンドの内容が設定された状態で画面が開きます。
- キーのフィールドが、コマンドに記述された順に選択され、「D」が付いたキーは降順になります。
- 「その他出力フィールド」も、コマンドのフィールドが選択されます。テーブルにないフィールドは選択されません。
- 条件式と保存先は、コマンドの内容がそのまま入力されます。テーブルの画面で条件式を設定している場合は、その条件式が入力されます。
設定内容

- 1元のテーブル:並べ替える元のテーブルの、フォルダ名とテーブル名が表示されます。
- 2《フィールド選択》ボタン:フィールドの一覧を開き、キーにするフィールドをまとめて選択・解除できます。
- 選択したままのフィールドの降順はそのまま残り、新しく選択したフィールドは昇順になります。
- 3並べ替え対象フィールド(必須):キーにするフィールドの行をクリックして選択します(もう一度クリックで解除)。
- 左端の番号は選択した順番です。この順に1つ目のキー、2つ目のキー・・・になります。途中のキーを解除すると、番号が詰められます。
- 見出しのチェックボックス(またはCtrl+A)で、すべてのフィールドを行の順に選択します。チェックを外すと、すべての選択と降順が解除されます。
- 4降順:選択したキーの「降順」をオンにすると、そのキーは大きい順(日付は新しい順)になります。オフの場合は小さい順(昇順)です。
- 選択していない行の「降順」をクリックすると、その行が選択されます(降順はオフのままです)。
- キーの選択を解除すると、降順もオフになります。
- 5《フィールド選択》ボタン:フィールドの一覧を開き、「その他出力フィールド」をまとめて選択・解除できます。
- 6その他出力フィールド(任意):キー以外に出力するフィールドの行をクリックして選択します。
- 選択した順に、キーのフィールドの後ろに並びます。キーと同じフィールドを選択しても、1回だけ出力されます。
- 選択しない場合は、キーのフィールドだけが出力されます。
- 見出しのチェックボックス(またはCtrl+A)で、すべてのフィールドを選択します。
- 7《式ビルダー》ボタン:「式ビルダー」画面を開き、フィールドや関数を選んで条件式を作成できます。
- 8条件式(任意):並べ替えるレコードの条件を入力します。条件に合うレコードだけが並べ替えられて出力されます。空欄の場合は、すべてのレコードが対象です。
- 入力中に、関数やフィールドの候補が表示されます(Ctrl+Spaceで表示、Escで閉じます)。
- 「×」で入力内容を消去します。正しい条件式であることを確認すると、緑の「✓」が表示されます。
- 9《検証》ボタン:条件式が正しいかを確認します(Ctrl+Enter)。誤りがある場合は、メッセージが表示されます。
- 10ファイル保存先(必須):作成するテーブルの名前を入力します。
- テーブル名だけの場合は「04_table」フォルダに、「フォルダ名¥テーブル名」の場合はそのフォルダに作成されます。フォルダがない場合は作成されます。
- 拡張子(.hdf5)は省略できます。「04_table」フォルダ以外の場所には保存できません。
- テーブル名の長さは、64文字までです。
- 記号(「-」「.」「#」など)や全角スペースは使用できません。名前の最後に「¥」「/」、途中に「..」は入力できません。
- 元のテーブルと同じ名前は使用できません(大文字・小文字やフォルダが違っても同じ名前とみなされます)。
- 同じ名前のテーブルがすでにある場合は、上書きしてよいかの確認メッセージが表示されます。「いいえ」を選択すると、実行せずに画面に戻ります。
- 11《参照》ボタン:保存画面を開き、保存先を選択できます。
- 12コマンド:現在の設定で実行されるコマンドが表示されます(「◇操作ログ」参照)。キーを選択すると表示されます。
- 13《コピー》ボタン:コマンドをクリップボードにコピーします。
- 14《キャンセル》ボタン:実行せずに画面を閉じます(Escキー)。確認メッセージで「はい」を選択すると閉じます。
- 15《実行》ボタン:実行します(Enterキー)。テーブルが作成されると、画面が閉じ、作成したテーブルが開きます。
並べ替えの結果
キーと降順の設定によって、レコードは次のように並びます。例は「◇機能」と同じテーブルです。
降順にした場合
キー「数量」の「降順」をオンにすると、数量の大きい順に並びます。
| 売上日 | 商品No | 単価 | 数量 |
|---|---|---|---|
| 2024/04/10 | B02 | 800 | 3 |
| 2024/05/20 | A01 | 1200 | 4 |
| 2024/06/15 | C03 | 500 | 10 |
| 2024/07/01 | A01 | 1200 | 2 |
→
| 数量 | 売上日 | 商品No | 単価 |
|---|---|---|---|
| 10 | 2024/06/15 | C03 | 500 |
| 4 | 2024/05/20 | A01 | 1200 |
| 3 | 2024/04/10 | B02 | 800 |
| 2 | 2024/07/01 | A01 | 1200 |
キーを複数指定した場合
1つ目のキー「商品No」(昇順)の値が同じレコードは、2つ目のキー「売上日」(降順)の順に並びます。
| 売上日 | 商品No | 単価 | 数量 |
|---|---|---|---|
| 2024/04/10 | B02 | 800 | 3 |
| 2024/05/20 | A01 | 1200 | 4 |
| 2024/06/15 | C03 | 500 | 10 |
| 2024/07/01 | A01 | 1200 | 2 |
→
| 商品No | 売上日 | 単価 | 数量 |
|---|---|---|---|
| A01 | 2024/07/01 | 1200 | 2 |
| A01 | 2024/05/20 | 1200 | 4 |
| B02 | 2024/04/10 | 800 | 3 |
| C03 | 2024/06/15 | 500 | 10 |
- キーごとに、昇順・降順を指定できます。2つ目のキーは、1つ目のキーの値が同じ場合だけ使われます。
条件式を入力した場合
条件に合うレコードだけが並べ替えられて出力されます。例は、キー「数量」(昇順)、「その他出力フィールド」は「売上日」「商品No」、条件式「[数量] >= 3」の場合です。
| 売上日 | 商品No | 単価 | 数量 |
|---|---|---|---|
| 2024/04/10 | B02 | 800 | 3 |
| 2024/05/20 | A01 | 1200 | 4 |
| 2024/06/15 | C03 | 500 | 10 |
| 2024/07/01 | A01 | 1200 | 2 |
→
| 数量 | 売上日 | 商品No |
|---|---|---|
| 3 | 2024/04/10 | B02 |
| 4 | 2024/05/20 | A01 |
| 10 | 2024/06/15 | C03 |
- 条件に合うレコードがない場合も、フィールドだけの(レコードが0件の)テーブルが作成されます。
値の並び順
データ型によって、値は次の順に並びます(昇順の場合。降順はその逆です)。
- 数値型(整数・10進数)は数値の大きさの順、日付型は日付の順です(マイナスの値は0より前です)。
- 文字型は、1文字目から順に文字コードで比べます。読み方や辞書の順ではありません。
- 文字型の数字は、文字として比べます(例:「10」は「9」より前になります)。
- 大文字・小文字、全角・半角、前後の空白は区別されます。英字は大文字がすべて小文字より前に、全角の英数字は半角の英数字より後になります。
- 文字型の空欄は最初に、先頭に空白がある値は英数字より前に並びます。
- 日本語は、ひらがな、カタカナ、漢字、半角カナの順です。漢字は文字コードの順です。
| 商品No |
|---|
| B01 |
| a01 |
| 10 |
| A01 |
| A01 |
| 9 |
→
| 商品No |
|---|
| 10 |
| 9 |
| A01 |
| B01 |
| a01 |
| A01 |
入力内容に誤りがある場合
《実行》ボタンをクリックしたときに、キーが選択されていない(「その他出力フィールド」だけを選択した場合も含みます)、保存先が空欄などの誤りがあると、画面の左下にメッセージが表示され、該当する項目が赤枠で示されます。項目を修正するとメッセージは消え、《実行》ボタンが使用できるようになります。

- 条件式に誤りがある場合(フィールドがない、文字と数値を比較しているなど)は、実行時に誤りの内容を示す画面が表示されます。画面は閉じないので、条件式を修正してもう一度実行してください。
操作ログ
OPEN "元のテーブル" SORT ON [キー1] D [キー2] D ・・・ FIELDS [フィールド1] ・・・ IF 条件式 TO "保存先" OPEN
各キーワードの意味は、次のとおりです。
| キーワード | 内容 | 設定内容 |
|---|---|---|
| OPEN “元のテーブル” | 並べ替える元のテーブルを開きます | 1 |
| SORT ON [キー1] ・・・ | キーのフィールド。選択した順に記述します | 3 |
| D | キーの後に記述すると、そのキーは降順になります | 4 |
| SORT ON ALLFIELDS | すべてのフィールドを行の順にキーにします(昇順) | 3 |
| FIELDS [フィールド1] ・・・ | キー以外に出力するフィールド(「FIELDS ALLFIELDS」はすべて) | 6 |
| IF 条件式 | 並べ替えるレコードの条件 | 8 |
| TO “保存先” | 作成するテーブルの名前(保存先) | 10 |
| OPEN(最後) | 作成したテーブルを開きます | ― |
- すべてのフィールドを行の順にキーにし、降順のキーがない場合は、「SORT ON ALLFIELDS」と記述されます。
- 下線部は、降順のキー、「その他出力フィールド」、条件式を設定した場合に記述されます。
コマンドを直接記述する場合(スクリプトなど)
- フィールド名は「[ ]」で、テーブル名は「”」で囲んで記述します。
- 降順は、キーの後に半角の大文字「D」を記述します。小文字の「d」はエラーになります。
- キー(1つ以上)と「TO “保存先”」は省略できません。同じフィールドを2回キーにしたり、テーブルにないフィールドを記述したりするとエラーになります。
- 最後の「OPEN」を省略すると、テーブルは作成されますが、開かれません。
オプションの例(「◇並べ替えの結果」と同じテーブル。「TO “保存先” OPEN」は省略)
| コマンドの記述 | 並べ替えの結果 |
|---|---|
| SORT ON [商品No] FIELDS ALLFIELDS | 商品Noの昇順に並べます(「◇機能」の例) |
| SORT ON [数量] D FIELDS ALLFIELDS | 数量の大きい順に並べます |
| SORT ON [商品No] [売上日] D FIELDS ALLFIELDS | 商品No順、同じ商品Noは新しい日付から並べます |
| SORT ON [商品No] | 「商品No」だけのテーブルになります |
| SORT ON [数量] FIELDS [売上日] [商品No] IF [数量] >= 3 | 数量が3以上のレコードを数量の順に並べます |
例
OPEN "売上¥売上明細" SORT ON [商品No] [売上日] D FIELDS ALLFIELDS TO "売上¥売上_商品順" OPEN
このページは役に立ちましたか?
ご回答ありがとうございました。