【GAS】配列の操作(2次配列の列の順番変更、不要な列を削除、フィルター)
スプレッドシートシートの表をGASで取得してデータを操作する方法です。
列の順番を変えたり、必要なデータだけを抽出したりする方法です。
配列の順番変更
こんな表があります。
![](https://www.next-k.site/blog/wp-content/uploads/2021/02/スクリーンショット-2021-02-05-113440.jpg)
列を入れ替えます
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);
}
こうなります。
![](https://www.next-k.site/blog/wp-content/uploads/2021/02/スクリーンショット-2021-02-05-113421.jpg)
必要なデータの取り出し
arr= arr.map(elm => [elm[1],elm[4]]);
必要な列のみを指定します
![](https://www.next-k.site/blog/wp-content/uploads/2021/02/スクリーンショット-2021-02-05-114430.jpg)
条件にあったデータの抽出
//3列目の数値が20以上のデータ取得
arr= arr.filter(elm => elm[2] > 20);
![](https://www.next-k.site/blog/wp-content/uploads/2021/02/スクリーンショット-2021-02-05-115121.jpg)
//20歳以上の男
arr= arr.filter(elm => (elm[2] > 20 && elm[4] === "男"));
![](https://www.next-k.site/blog/wp-content/uploads/2021/02/スクリーンショット-2021-02-05-115430.jpg)
ディスカッション
コメント一覧
まだ、コメントがありません