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からのインデックスを指定することで参照できます。
結果はご覧の通りです。ちゃんと関東で抽出できました。
スポンサーリンク