B3 から M12 のレンジで getValues() して取れる二次元配列を data とします。
javascript
1const sheet = SpreadsheetApp.getActiveSheet();2const data = sheet.getRange(3, 2, 10, 12).getValues();
この data を加工して、並び替え後の表の内容となる二次元配列を data2 として得るには以下のようにします。
まず以下のような補助関数 chunk(ary, n) を作っておきます。
javascript
1const chunk = (ary, n) => 2 ary.length <= n ? [ary] : [ary.slice(0, n), ...chunk(ary.slice(n), n)];
これを使って data から data2を得るには以下のようにします。
javascript
1const data2 = data.flatMap(2 ([name, _url, _mail, ...values]) => 3 chunk(values, 3)4 .filter(ary => ary.some(v => v))5 .map(ary => [name, ...ary])6 );7 8console.log(data2);
data2 は以下のようになります。


0 コメント