【GAS】配列の操作(2次配列の列の順番変更、不要な列を削除、フィルター)

2021年2月5日

スプレッドシートシートの表をGASで取得してデータを操作する方法です。

列の順番を変えたり、必要なデータだけを抽出したりする方法です。

配列の順番変更

こんな表があります。

列を入れ替えます

arr= arr.map(elm => [elm[0],elm[1],elm[4],elm[2],elm[3]]);

取得したデータの列番号を指定して並べ替えます。

function sort() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sh = ss.getSheetByName("sheet1");

  //表のデータ取得
  let arr = sh.getRange(2,1,5,5).getValues();

  //列の入れ替え
  arr= arr.map(elm => [elm[0],elm[1],elm[4],elm[2],elm[3]]);

  //データの貼付
  sh.getRange(12,1,arr.length,arr[0].length).setValues(arr);

}

こうなります。


必要なデータの取り出し

arr= arr.map(elm => [elm[1],elm[4]]);

必要な列のみを指定します


条件にあったデータの抽出

//3列目の数値が20以上のデータ取得
arr= arr.filter(elm => elm[2] > 20);
//20歳以上の男
arr= arr.filter(elm => (elm[2] > 20 && elm[4] === "男"));



GAS

Posted by Next-k