非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

Google Apps Scriptdeで2次元配列にフィルター(filter)をかけて抽出する方法

   

前回、Google Apps Scriptdeで配列にフィルター(filter)をかけて抽出する方法について書きました。今回は2次元配列に対してフィルターをかける方法について書きます。これができればスプレッドシートのセルデータを取得してフィルターをかけられるのでデータ処理の効率が格段に上がります。

せっかくなのでスプレッドシートのデータを取得してフィルターをかけるプログラムを紹介します。

以下のようなA列とB列に県名データが入っていたとします。この中からA列の「関東」だけ抽出するようなプログラムを組みたいと思います。

 

ソースコードはこちらです。

 

var sheet = SpreadsheetApp.getActive().getSheetByName('シート1');
var data = sheet.getRange("A1:B17").getValues();
Logger.log(data);

var result = data.filter( function( value ) {
   return value[0] == '関東';  
})
Logger.log(result);
 

 

3行目でまずスプレッドシート上のデータをそのまま出力していて、その後「関東」だけ抽出した後に出力させています。

1次元配列との違いは、filterメソッドに渡されるvalueが配列になる点です。列を0からのインデックスを指定することで参照できます。

 

結果はご覧の通りです。ちゃんと関東で抽出できました。

 

スポンサーリンク

 - Google Apps Script