wxt

目次

概要

条件を使用してワークシートデータを抽出

コマンドラインでの使用法

1. wxt test:="mod(col(c),2)==1" ow:=<new>;
2. wxt test:="col(1)<5" sel:=1;

Xファンクションの実行オプション

スクリプトからXファンクションにアクセスする場合、追加のオプションスイッチについてのページを参照してください。

変数

表示
変数
I/O

データ型
デフォルト
説明
テストする条件 test

入力

string

テスト条件文字列を指定します。
抽出するワークシート iw

入力

Worksheet

<active>
入力ワークシートを指定します。
開始列 c1

入力

int

1
抽出する範囲の開始列を指定します。
終了列 c2

入力

int

-1
抽出する範囲の終了列を指定します。
開始行 r1

入力

int

1
抽出する範囲の開始行を指定します。
終了行 r2

入力

int

-1
抽出する範囲の終了行を指定します。
テスト条件を満たしたセルの選択 sel

入力

int

0
テスト条件を満たすセルのブロックをマークする方法を指定します。

オプションリスト:

  • none:なし
    セルのブロックを選択またはマークしません。
  • sel:選択セル
    条件を満たすセルを選択/強調表示します。
  • mask:マスクセル
    条件を満たすセルをマスクします。
抽出 ow

出力

Worksheet

<optional>
出力するワークシートを指定します。

このシンタックスを参照してください。

テスト条件のオン/オフ val

出力

ベクター

<optional>
Xファンクションで、入力ワークシートの各行の条件が満たされているかどうかを示すベクトルを出力できます。真は1、偽は0です。たとえば、このベクトルに1と0の 2つの要素がある場合、入力ワークシートの最初の行はテスト条件を満たし、2番目の行は満たさないことを意味します。このベクトルはval変数で指定できます。
テスト条件を満たしたセルのインデックス pass

出力

ベクター

<optional>
テスト条件を満たした行のインデックスを保持するベクトルを指定します。
テスト条件を満たした行数 num

出力

int

<optional>
テスト条件を満たした行の数を出力するか指定します。


サンプル

//条件にテキストが含まれる時には、注意が必要です。次のサンプルでは、テキスト列と数値列の両方を選択するための複雑な条件を使用します。
//自動車のメーカー、車種ごとの特性が入力されたデータをインポート
fname$=system.path.program$ + "Samples\Statistics\automobile.dat";
newbook;
impasc options.sparklines:=0;
// ワークシート内で make=Acura かつ Gas Mileage > 11 の行をすべて選択
// range変数を使用して、クエリを"col(Make)[i]$"より読みやすく記述
range car=col(Make);
// 文字列変数を使用して" "の中に文字列を記述しなくていいようにする
string str="Acura";

//wxt は "=" を "=="、"and" を "&&" として扱う
wxt "car=str$ and col(Gas Mileage)>11" sel:=1; // 行を選択
wcellcolor c:=color(green); // 選択行を色付け
wcellsel; // 選択をクリア
/*
この例では、wxt Xファンクションを使用して、14歳の女性の記録を抽出
1.Originのブックにサンプルデータをインポート
2.見つかった行を新しいシートに抽出し、行番号を出力して
これらの行の総数を数える
*/
//新規ワークブックを作成
newbook result:=bkname$;	
//ファイルをインポート
path$ = system.path.program$ + "Samples\Statistics\";
fname$ = path$ + "body.dat";
impasc;
//age列と gender列の2つの範囲を定義
range a=col(age), g=col(gender);

//ワークシートデータ抽出
wxt test:="g=="F" & a==14" ow:=<new> pass:=<new> num:=PassCount;

type -b Number of found rows is $(PassCount);