「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)項目を作成しますのでフォルダ名、ファイル名は空欄として
画面の領域,画面の領域
   対象シート名にSheet1を選択します。
   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.(プレビュー設定)のボタンをクリックして設定ダイアログを表示させます。
画面の領域
   3.下図のように新しく作成した(SortKey)にキーを設定しOKボタンをクリックします。
   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) アイエルアイ総合研究所 無断転載を禁じます