特定の行で空白行を入れていきたい
Q&A
Closed
解決したいこと
資料を作る際、エクセルで複数の表を手作業で作っていたものをGASで自動化したいと思い、スクリプトを書いているのですが、挫折してしまいました。
スプレッドシートに下記の配列があり、A列の「りんご」「みかん」「レモン」といった異なるグループの境界で空白行を入れていきたいです。
りんご 果物 2023/01
りんご 果物 2023/01
りんご 果物 2023/01
りんご 果物 2023/01
みかん 果物 2023/01
みかん 果物 2023/01
みかん 果物 2023/01
みかん 果物 2023/01
みかん 果物 2023/01
みかん 果物 2023/01
レモン 果物 2023/01
レモン 果物 2023/01
レモン 果物 2023/01
レモン 果物 2023/01
すいか 果物 2023/01
すいか 果物 2023/01
すいか 果物 2023/01
下記がゴールです。B列C列に意味はありません。
りんご 果物 2023/01
りんご 果物 2023/01
りんご 果物 2023/01
りんご 果物 2023/01
みかん 果物 2023/01
みかん 果物 2023/01
みかん 果物 2023/01
みかん 果物 2023/01
みかん 果物 2023/01
みかん 果物 2023/01
レモン 果物 2023/01
レモン 果物 2023/01
レモン 果物 2023/01
レモン 果物 2023/01
すいか 果物 2023/01
すいか 果物 2023/01
すいか 果物 2023/01
単純な繰り返し文と条件分岐でできると思うのですが、お知恵をお借りいただければ幸いです。
下記は作りかけのスクリプトで、こちらで作るとかえってご面倒かもしれません。
単純なスクリプトで書けるのであればそちらをご教示くださると嬉しいです。
よろしくお願いします。
発生している問題・エラー
function insert() {
//スプレッドシート情報
const ss_ID = '****************************'
const arch_sh_name = 'draft'
const arch_array = [];
//ID、シート名を指定してシートを取得
const ss = SpreadsheetApp.openById(ss_ID);
const arch_sh = ss.getSheetByName(arch_sh_name);
const arch_sh_values = arch_sh.getRange('A:A').getValues();
const arch_sh_lastrow = arch_sh_values.length;
for (let l=1; l< arch_sh_lastrow; l++){
for (let m=0; m<5; m++){
if(arch_sh_values[l][0] != arch_sh_values[l-1][0]){
console.log(arch_sh_values[l-1][0]);
console.log(arch_sh_values[l][0]);
arch_sh.insertRowAfter(l+m);
}
}
}
}