内容 |
ワークシートデータの抽出...
LabTalkの条件式を使ってアクティブワークシートの該当データをマスクあるいは抽出します。
wextract iy:=[Book1]Sheet1!col(A) settings.stAlias.Cols:=1 settings.stAlias.AliasNames:=A settings.stCondition.Condition:="A<6" settings.Cols:=1;
wextract iy:=[USMetropolita]"US Metropolitan Area Population"!(1:end) settings.stAlias.Cols:="2|3" settings.stAlias.AliasNames:="S|D" settings.stCondition.Condition:="D>500&&S>1000" settings.stMethod.Method:=1 settings.Cols:="0|2|3";
wextract iy:=[Book1]Sheet1!col(A) settings.stAlias.Cols:=1 settings.stAlias.AliasNames:=A settings.stCondition.BeforeLoop:="j=1;" settings.stCondition.BeforeIfCondition:="if (i==col(B)[j]) {temp=col(A)[i];j=j+1;}" settings.stCondition.Condition:="A==temp" settings.Cols:=0;
表示 名 |
変数 名 |
I/O と データ型 |
デフォルト 値 |
説明 |
---|---|---|---|---|
入力 | iy |
入力 Range |
<active> |
入力範囲を指定します。 |
設定 | settings |
入力 TreeNode |
<unassigned> |
抽出設定を指定します。詳細は、 こちらのページをご覧下さい |
出力 | oy |
出力 Range |
<optional> |
出力範囲を指定します。 |
この機能はつまりワークシートデータの抽出機能のスクリプトバージョンです。ユーザー指定条件式に基づき、指定したワークシートのデータを置くようにします。見つかったデータ値が抽出されます。これらの値は、他のワークシートにコピーしたり指定した色で見分けることができます。
設定変数は操作のオプションでカスタマイズすることができます。
サンプル1: 6よりも少ない列Aに対応するセルを列Bから抽出するには。
新しいワークブックを作成し、最初の列を行番号に、2番目の列を 2, 4, 6...(行番号の2倍) の数字で埋めます。.
コマンドウィンドウに次のスクリプトを入力します。
wextract iy:=[Book1]Sheet1!col(A) settings.stAlias.Cols:=1 settings.stAlias.AliasNames:=A settings.stCondition.Condition:="A<6" settings.Cols:=1;
列Bに抽出したデータは新しいワークブックに表示されます。
サンプル 2
メニューから「ファイル:インポート:単一ASCII」を選択します。ファイルをインポートします。 \Samples\Data Manipulation\Us Metropolitan Area Population.dat.インポート先のワークシートには場所は以下の4列が含まれています。: Population, Sq.Mi., Density, Metropolitan Area.Densityが100よりも大きいカリフォルニアの Metropolitan Areas を選択し、新しいシートにPopulation, Density, Metropolitan Area を出力します。以下のスクリプトをコマンドウィンドウに入力します。
str1$="D>100 AND M[i]$=="*, CA*""; wextract iy:=[USMetropolita]"US Metropolitan Area Population"!(1:end) settings.stAlias.Cols:="3|4" settings.stAlias.AliasNames:="D|M" settings.stCondition.Condition:=str1$ settings.stMethod.Method:=1 settings.Cols:="0|2|3";
抽出結果はUSMetropolita ワークブックの新しいワークシートに表示されます。
サンプル 3: 列Aの行インデックスが列Bを含む列Aからデータを抽出するには。
新しいワークブックを作成します。列Aを選択します。右クリックして、ショートカットメニューから「列値の一律設定:正規乱数」を選択します。列B には 2, 3, 5と入力します。
ワークブックがアクティブになっていることを確認します。コマンドウィンドウに次のスクリプトを入力します。
wextract iy:=col(A) settings.stAlias.Cols:=1 settings.stAlias.AliasNames:=A settings.stCondition.BeforeLoop:="j=1;" settings.stCondition.BeforeIfCondition:="if (i==col(B)[j]) {temp=col(A)[i];j=j+1;}" settings.stCondition.Condition:="A==temp" settings.Cols:=0;
列Aの2行目、3行目、5行目が新しいワークブックに抽出されます。