「StiLL」 デザイン情報208 StiLLコマンド--4項目以上の並べ替え(ソート)を行う2 | ||||||||||||||||||||||||||||||||||||
【テーマ】 前回は「並べ替え(BtSort)」ボタンを2つ使う方法をご紹介しましたが、今回は4つ以上のソート項目をデータ加工することで1つの「BtSort」で実行する方法をご紹介いたします。 |
【方法】 「データ取得(BtMerge)」または「データ抽出(BtRecordQuery)」ボタンの項目式を使ってデータを加工することで、複数項目のソートをひとつのキーで並べ替えられます。 |
【参考】 「Excelデータ取得」ボタンで他のExcelブックを指定することで、データ取得と同時にSortKey項目を作成することが出来ます。 なお加工した項目は文字列となる為、キー項目の桁数が不揃いの場合はTEXT関数で最大の桁数に揃えておく必要があります。 |
||||||||||||||||||||||||||||||||||
■ 今回の内容 | ||||||||||||||||||||||||||||||||||||
4つ以上のソート項目をデータ加工することで、1つの「BtSort」ボタンで実行する方法をご紹介いたします。 | ||||||||||||||||||||||||||||||||||||
前回ご紹介した「並べ替え(BtSort)」ボタンを2つ使う方法については当メールサービスのバックナンバー207をご覧ください。 | ||||||||||||||||||||||||||||||||||||
【バックナンバー 207】 4項目以上の並べ替え(ソート)を行う | ||||||||||||||||||||||||||||||||||||
下図のようにデータを、1商品コード、2担当コード、3得意先コード、4年月日の昇順にソートする場合の使用方法について説明します。 | ||||||||||||||||||||||||||||||||||||
前回と同じデータを使用して処理を行いますが、今回はこのデータを読込むことでの処理がポイントとなります。 | ||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||
ソート後のイメージ | ||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||
・ポイント | ||||||||||||||||||||||||||||||||||||
・「データ取得(BtMerge)」ボタンでソートの優先順に文字列を結合した(SortKey)項目を作成します。 | ||||||||||||||||||||||||||||||||||||
・この項目を「並べ替え(BtSort)」ボタンでキー項目に指定してソートを実行するのがポイントです。 | ||||||||||||||||||||||||||||||||||||
■ ボタンの作成と設定 | ||||||||||||||||||||||||||||||||||||
今回使用するStiLLボタンを示します。(下図赤枠参照) | ||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||
@「Excelデータ取得(BtMerge)」ボタンの設定 | ||||||||||||||||||||||||||||||||||||
「Excelデータ取得」ボタンをシートに貼り付て、下図のようにパラメータを設定します。 | ||||||||||||||||||||||||||||||||||||
設定手順 | ||||||||||||||||||||||||||||||||||||
1.この例では既に取得されたSheet1のデータを利用して(SortKey)項目を作成しますのでフォルダ名、ファイル名は空欄として | ||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||
2.元データ範囲はA6を設定します。 | ||||||||||||||||||||||||||||||||||||
3.項目式で(年月日、得意先コード、コンタクト先名、担当コード、社員名、商品コード、商品名、数量、単価、金額)を選択し | ||||||||||||||||||||||||||||||||||||
最後に(SortKey)項目を追加作成します。 | ||||||||||||||||||||||||||||||||||||
「該当無」をチェックします。 | ||||||||||||||||||||||||||||||||||||
また(SortKey)の型名欄に文字(S)を設定します。 | ||||||||||||||||||||||||||||||||||||
4.項目式をSheet1のA1セルからK3セルに設定します。 | ||||||||||||||||||||||||||||||||||||
5.セルK3にSortKeyとする式を設定します。(下図参照) | ||||||||||||||||||||||||||||||||||||
データ行は7行目からの開始となるので '==F7&D7&B7&A7 と入力します。 | ||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||
※式のF列は商品コード、D列は担当コード、B列は得意先コード、A列は年月日を示します | ||||||||||||||||||||||||||||||||||||
※ == の指定で式が値化されます | ||||||||||||||||||||||||||||||||||||
6.出力セル位置は元データと同じ Sheet1!A6 を設定します。 | ||||||||||||||||||||||||||||||||||||
7.内容を確認してOKボタンをクリックして設定完了です。 | ||||||||||||||||||||||||||||||||||||
A「並べ替え(BtSort)」ボタンの設定 | ||||||||||||||||||||||||||||||||||||
「並べ替え」ボタンをシートに貼り付て、下図のようにパラメータを設定します。 | ||||||||||||||||||||||||||||||||||||
設定手順 | ||||||||||||||||||||||||||||||||||||
1.ソート範囲にデータの開始セル位置「Sheet1!A6」を設定します。 | ||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||
2.(プレビュー設定)のボタンをクリックして設定ダイアログを表示させます。 | ||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||
4.設定した内容を確認してOKボタンをクリックして設定完了です。 | ||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||
■ ボタンの実行 | ||||||||||||||||||||||||||||||||||||
1.上段で作成した「Excelデータ取得」、「並び替え」のボタンを順に実行することで冒頭のソート後のイメージ図と同じ結果が得られます。 | ||||||||||||||||||||||||||||||||||||
「ボタン連続実行(BtPush)」ボタンへの設定例 | ||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||
■ ご参考までに | ||||||||||||||||||||||||||||||||||||
1.「Excelデータ取得」ボタンで他のExcelブックを指定することで、データ取得と同時に(SortKey)項目を作成することも出来ます。 | ||||||||||||||||||||||||||||||||||||
2.加工した項目は文字列となる為、キー項目の桁数が不揃いの場合はTEXT関数で最大の桁数に揃えておく必要があります。 | ||||||||||||||||||||||||||||||||||||
例:担当コード(D列)が最大3桁の場合は以下のように編集します。 | ||||||||||||||||||||||||||||||||||||
=TEXT(D7,"000") | ||||||||||||||||||||||||||||||||||||
今回の(SortKey)の式に組み込む場合は、'==F7&TEXT(D7,"000")&B7&A7 となります | ||||||||||||||||||||||||||||||||||||
(各ボタンの設定内容の詳細はStiLLヘルプをご確認ください) | ||||||||||||||||||||||||||||||||||||
Copyright(C) アイエルアイ総合研究所 無断転載を禁じます | ||||||||||||||||||||||||||||||||||||