「StiLL」 デザイン情報205 StiLLコマンド--StiLLボタン「Excelデータ抽出」で結合したセルを含む範囲の値を抽出する | |||||||||||||||||||||||
【テーマ】 結合したセルが含まれる入力画面から明細データをStiLLボタン「Excelデータ抽出(BtRecordQuery)」で抽出する方法をご紹介します。 |
【方法】 「Excelデータ抽出(BtRecordQuery)」の作成ダイアログの元データ範囲に開始セル位置ではなく結合セルを含む明細部全体の範囲を指定します。 |
【参考】 1.画面上の項目見出しを2行でデザインする場合の方法をご参考に掲載しております。 2.StiLLボタン「Excelデータ取得(MakeBtMerge)」でも同じ設定を行うことができます。 |
|||||||||||||||||||||
■ 今回の内容 | |||||||||||||||||||||||
次のような結合セルを含む入力画面から明細データ(赤枠部)を取得する場合の指定方法をご紹介します。 | |||||||||||||||||||||||
![]() |
|||||||||||||||||||||||
図のピンク部分の列「D:E、G:L、N:P、R:S、U:V、X:Y、AA:AB、AD:AE」がセルの結合により隠れている空白セルです。 | |||||||||||||||||||||||
|
|||||||||||||||||||||||
・ポイント | |||||||||||||||||||||||
T.結合したセル(空白セル)を含む明細を抽出する場合は明細全体の範囲(上図赤枠部)を指定します。 | |||||||||||||||||||||||
・開始セル位置のみを指定した場合は、空白セル以降の列は抽出対象範囲とはなりません | |||||||||||||||||||||||
U.「No.」も抽出範囲に含めた場合は実際の明細部分が空白の行も抽出されます。 | |||||||||||||||||||||||
・後述の検索式作成で除外する式を作ります | |||||||||||||||||||||||
■ ボタンの作成と設定 | |||||||||||||||||||||||
シートに配置したStiLLボタンをクリックして StiLLボタンの作成 ダイアログから「Excelデータ抽出」を選択します。(下図赤枠参照) | |||||||||||||||||||||||
![]() |
|||||||||||||||||||||||
表示される BtRecordQuery の作成ダイアログに次のように設定します。(下図参照) | |||||||||||||||||||||||
![]()
|
|||||||||||||||||||||||
2.項目式作成:(項目式作成)ボタンをクリックすると範囲内の | |||||||||||||||||||||||
空白セルを除く項目名が下図のように表示されます。 | |||||||||||||||||||||||
この例では全項目を選択しています。 | |||||||||||||||||||||||
項目式範囲はDLDATAシートのE2からを指定しています。 | |||||||||||||||||||||||
3.検索式作成:(検索式作成)ボタンをクリックして検索式を作成します。 | |||||||||||||||||||||||
項目名と同様に、抽出するデータも該当行が全て空白行のものは除かれます。 | |||||||||||||||||||||||
※ただし、この例では「No.」もデータとして抽出する範囲に含んでいることから、 | |||||||||||||||||||||||
検索式作成をクリックして「商品CD」が空白のものを除く条件式を設定します。 | |||||||||||||||||||||||
検索式の抽出条件は「商品CD」が空白でないデータとします。 | |||||||||||||||||||||||
下図のように「商品CD」を選択して条件式を入力します。 | |||||||||||||||||||||||
検索式範囲はDLDATAシートのE8からを指定しています。 | |||||||||||||||||||||||
また抽出データの出力先にDLDATAシートのE14を指定しています。 | |||||||||||||||||||||||
上記の設定情報のイメージを示します。 | |||||||||||||||||||||||
![]() |
|||||||||||||||||||||||
以上でボタンの完成です。 | |||||||||||||||||||||||
作成したボタンをクリックするとDLDATAシートに有効データが抽出されます。(下図参照) | |||||||||||||||||||||||
![]() |
|||||||||||||||||||||||
■ ご参考までに | |||||||||||||||||||||||
1.応用例として本編の入力画面の見出し部を下図(赤枠)のように2行でデザインする場合の取得方法を考えてみます。 | |||||||||||||||||||||||
・考え方のポイント | |||||||||||||||||||||||
T.予め項目式用の見出し行を用意し、データの開始列に合わせて項目名を入力しておきます。(下図18行目) | |||||||||||||||||||||||
U.同じ項目名が存在する場合は項目名を変えて識別できるようにします。 | |||||||||||||||||||||||
・この例では注文と実績に同じ項目名が存在しているので区別するため項目名を変更しています | |||||||||||||||||||||||
V.項目名の設定後は、この行(18行目)を非表示にします。 | |||||||||||||||||||||||
(イメージ) | |||||||||||||||||||||||
![]() |
|||||||||||||||||||||||
←画面デザイン上の項目 | |||||||||||||||||||||||
←データ抽出上の項目(非表示) | |||||||||||||||||||||||
この例での BtRecordQuery 作成ダイアログの各設定内容は以下のようになります。 | |||||||||||||||||||||||
@元データ範囲:入力画面!B18:AE23 ・・・項目式用の行を開始行とします。 | |||||||||||||||||||||||
A項目式作成:18行目に入力した項目をすべて選択して設定します。 | |||||||||||||||||||||||
(項目式範囲はDLDATAシートのE2からの指定で変更不要) | |||||||||||||||||||||||
B検索式作成:本編と同様に「商品CD」が空欄でないデータを抽出する条件式を入力します。 | |||||||||||||||||||||||
(検索式範囲も本編と同じ) | |||||||||||||||||||||||
以上の設定で本編と同様に明細を抽出することが可能となります。 | |||||||||||||||||||||||
なお完成後の入力画面は行列見出しも非表示とすることを推奨いたします。 | |||||||||||||||||||||||
2.StiLLボタン「Excelデータ取得(BtMerge)」でも同じ設定を行うことができます。 | |||||||||||||||||||||||
(各ボタンの設定内容の詳細はStiLLヘルプをご確認ください) | |||||||||||||||||||||||
Copyright(C) アイエルアイ総合研究所 無断転載を禁じます | |||||||||||||||||||||||