「StiLL」 デザイン情報228 StiLLコマンド-- 複数行のデータをレコード形式(1データ1行)で取り出す方法
                             
  【テーマ】
複数行のデータで構成される表がある場合、集計や分析をしやすくするために1つのデータを1行に取り出したい時はありませんか?
今回はその方法のご紹介です。
    【方法】
「Excelデータ抽出(BtRecordQuery)」を使い、項目式にMATCH関数とINDEX関数を設定します。
    【参考】
1データ3行、1データ4行といった場合も、項目式に項目を追加し、MATCH関数、INDEX関数を使用することで1行のデータにすることができます。
 
           
                             
■ 今回の内容                        
下図のように2行から構成される表を、1つのレコード形式に取り出す方法についてご説明します。
■ ボタンの設定                        
今回使用するStiLLボタンを示します。(下図赤枠)
今回のボタンの設定と式の例を示します。
項目式の設定(DLDATAシート)
1データ目の葛城 孝史さんのデータを例に説明します。
◆作業用項目「基準行」の作成・設定
   作業用として項目式に、複数行のデータを求める基準となる項目を作成します。(例では「基準行」)
   MATCH関数を使って、基準とする元データの行番号
   一意の値が入力されている項目(例では「No」項目)から求めます。
==MATCH(F8,Sheet1!B:B,0)
◆「氏名」「ふりがな」の設定
   INDEX関数を使って、基準とする行から値を求めます。
   「氏名」
==INDEX(Sheet1!C:C,E8)
    氏名はSheet1シートのC列にあるので、Sheet1シートのC列を範囲とします。
    基準行と同じ行番号にあるので、基準行であるE8セルになります。
   「ふりがな」
==INDEX(Sheet1!C:C,E8+1)
    ふりがなはSheet1シートのC列にあるので、Sheet1シートのC列を範囲とします。
    基準行+1の行番号にあるので、E8セルの値+1になります。
「会社名」「部署名」も同様の考え方になります。
   「氏名」「ふりがな」と違う点は、Sheet1シートのD列にあるので、D列を指定していることです。
   「会社名」
==INDEX(Sheet1!D:D,E8)
   「部署名」
==INDEX(Sheet1!D:D,E8+1)
■ ご参考                          
1データ3行以上の場合も、項目式の項目を追加し、INDEX関数で基準行+Nを設定することで求めることができます。
例. 1データの最大行数が3行の場合(C列に氏名、ふりがな、アルファベットの3行が存在)
■ 関連するキーワード                        
StiLLコマンド
一括取得 一括データ取得 BtMerge Excelデータ取得 Excelブックからデータを取得 StiLLボタンの王様 すごいツールはStiLLだけ! 凄いツールはStiLLだけ! Excelデータ取得なんでもござれ、その名はStiLL StiLLを知らないなんて!もったいない! StiLLはあなたのExcelを走らせます!! StiLLは貴方のExcelを走らせます!!
(各ボタンの設定内容の詳細はStiLLヘルプをご確認ください)  
Copyright(C) アイエルアイ総合研究所 無断転載を禁じます