GoogleAppsScriptを使って特定条件に合致するデータを抽出する
様々な要素からなるデータから、特定の条件に合致したものだけを取り出します。
以下のようなデータを用意します。
(数値は乱数により発生させています。)
上記のデータの内、身長が180センチよりも大きい行だけを取り出して、抽出した結果を新しいシートに出力することを考えます。
手順は以下のとおりです。
1.マイドライブにスクリプト作成のためのGoogleスプレッドシートを作成します。
(ファイル名称は「SampleSheet」とします。)
2.「ツール」→「スクリプトエディタ」からスクリプトを記述するための画面が開きます。
(プロジェクト名は「SampleScript」とします。)
3.以下のコードを記述します。
function myfunction() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const values = ss.getActiveSheet().getDataRange().getValues();
const top = values.shift();
//身長が180センチよりも大きいかどうかを判定して、該当する項目を定数resultに挿入していきます。
const result = values.filter(item=>{
return item[1]> 180;
});
result.unshift(top);
const newsheet = ss.insertSheet().setName("抽出結果");
//新規に作成したシートに抽出結果を挿入します。
newsheet.getRange(1,1,result.length,result[0].length).setValues(result);
}
以上で完了となります。
以下のように、条件を満たす行だけが抽出されたかと思います。