GoogleAppsScriptを使って特定条件に合致するデータを抽出する

様々な要素からなるデータから、特定の条件に合致したものだけを取り出します。

 

以下のようなデータを用意します。

(数値は乱数により発生させています。)

 

f:id:tandonch:20210616170308p:plain

 

上記のデータの内、身長が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);
 
 
}
 
以上で完了となります。
 
以下のように、条件を満たす行だけが抽出されたかと思います。

f:id:tandonch:20210616170752p:plain