スプレッドシートの書式設定をいかしたままコピーしてその範囲に0をセットしたい時にどうする問題

お題
スプレッドシートのある範囲に数値が入力されている。
単位は%で書式設定されている。
このスプレッドシートをコピーして、入力箇所を全て0%にしたい。
入力箇所は画像のB列だと仮定して、考えてみる。
解決の方向性
範囲を指定して、そこに0をセットする。
0でなくて、値をクリアして良いのなら clearContent(); でも良い。
コード例
シートのコピーは省略。
//GAS上でrange指定
function test01() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('シート1');
const range = sheet.getRange('B2:B6');
range.setValue(0);
}
//名前付き範囲を利用
function test02() {
const namedRanges = SpreadsheetApp.getActiveSpreadsheet().getNamedRanges();
namedRanges.forEach(namedRange => {
if (namedRange.getName().includes("edit")) { namedRange.getRange().setValue(0); }
});
}
//0の配列を作ってセットする
function test03() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('シート1');
const range = sheet.getRange('B2:B6');
const row = 5, col = 1; // 任意の行列数
const newValues = Array(row).fill(Array(col).fill(0));
console.log(newValues);//[ [ 0 ], [ 0 ], [ 0 ], [ 0 ], [ 0 ] ]
range.setValue(newValues);
}
名前付き範囲


getNamedRanges 知らなかった〜
面白いな〜〜
いいなと思ったら応援しよう!
