ご訪問ありがとうございます。
Googleシートマスターのひろしです。
前回
【GAS】スプレッドシートから一気にデータを読み込む方法(2次元配列攻略)
今回は、とっても価値の高い方法をお伝えします。
これを知ることであなたは、
- 2次元配列への格納方法がわかります。
- setValuesの使い方がわかります。
なので、サクッとマスターして
と答えてあげてください。
動画はこちら
シートはこちら
※クリックするとシートが開きます。
スクリプト
function managenorewrite() {
//読み込み位置
const STRARTROW = 2
const CLMM = 1
const CLMCNT = 2 //数量の位置
//出力する位置
const OUTROW = 3
const OUTCLM = 8
const sh = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
let outbuff = [] //出力バッファ
for (let row = STRARTROW; sh.getLastRow(); row++) {
let buff = []
let wval = sh.getRange(row, CLMM, 1, CLMCNT).getValues() //1行読み込み
console.log("wval=",wval)
if (wval[0][0] == ""){
break
}
let ncnt = wval[0][CLMCNT - 1]
buff.push(wval[0][0])
console.log("IN outbuff =",outbuff)
//数量分バッファに格納する
for (let i = 0; i < ncnt; i++) {
outbuff.push(buff)
}
console.log("OUT outbuff =",outbuff)
}
sh.getRange(OUTROW, OUTCLM, outbuff.length, 1).setValues(outbuff)
}
考え方
セルを1行読み込み
値部分を格納し個数分PUSHする
最後までご覧いただきありがとうございます。
つぎはこちら
Googleフォーム登録時に更新日を付加する方法
コメント